電影訊息
電影評論更多影評

豬油拌飯

2009-12-22 11:09:03

《死神來了4》挺一般


《死神來了4》挺一般
(下面這個好像之前貼過,忘了。準備給導演去個Email,說一下我的程序邏輯,然後在下一步找出死神的漏洞,形成無窮迴圈,這他媽的才是解決辦法。死神來了4爛透了!)

    07年的時候看《死神來了》,當時還寫過一個《的程序邏輯》的文章,說明死神來了使用的是While循環,而不是一次性的For循環。不過《死神來了4》卻沒有弄出更多的新意,死神為了弄死最後的三個人,實在是費了太多氣力、也死了太多人了。

    當時那篇文章,看起來似乎更有激情一些,現在已經沒什麼激情寫這些東西了。

《死神來了》的程序邏輯

    前一段時間在馬鈴薯網上看到中央電視台的《第十放映室》,將施瓦辛格的《終結者》三部曲,說三部曲幾乎有著一模一樣的模式:施瓦辛格光屁股登場、到酒吧搶衣服眼鏡摩托車、正邪雙方開始找同一個目標、公路追車、狂撒彈藥、最終在工廠對決。《第十放映室》當時怎麼說的不太清楚了,大概的意思就是對於大導演詹姆斯·卡梅隆敢於這樣重複自己並且能夠取得成功表示致敬吧。不過,我回顧一下我看到的三部曲,大家就可以看到,其實很多三部曲都是這樣的,都是重複已經成功的橋段。當然了,這裡所說的三部曲,是不包含像《魔戒》、《哈利波特》這種類型的三部曲的,這種類型的三部曲實際上就是電影連續劇,我所說的三部曲是情節上基本上沒有嚴格的前後聯繫的那種。

《電鋸驚魂》三部曲:三部的基本情節都是一樣的,一開始都是一個引子,引子裡面的哥們兒是必死無疑的,只不過是死亡的方式不同而已;重頭戲都是兩個或者兩個以上的人被困在一起,要通過各種方式一個個的死亡。「豎鋸」JigSaw深沉而又冰冷的聲音:「I want play a game」,也貫穿三部;
《心慌方》三部曲(《Cube》):三部曲的情節也是一樣的,一群人被困在一個不知道如何才能出去的立方體中,立方體遍佈小房子,房子裡很多都有機關,如果不小心碰到了機關,必定要送命;
《死神來了》三部曲:最開始都是一場大災難,因為有人預見了災難,所以少數人得以倖免,但是災難仍然按照它自己的邏輯,找到剩餘的人,並且一個一個的將他們殺掉;
《隔山有眼》兩部曲:都是被困在山裡,然後一個一個的被幹掉,殺手是被核輻射了的變種人;

    以上都是恐怖片,除了《終結者》不算。

    如果分析一下恐怖片的話,《死神來了》算是一種比較新穎的模式。以《電鋸驚魂》、《心慌方》、《隔山有眼》為例,這種類型的恐怖片是有典型的正、邪雙方的,雖然是一般正方在明處,邪惡的一方在暗處,然後經過激烈的拚殺,或者有人生存下來,或者全部被幹掉,但是畢竟像這樣的恐怖片,邪惡的一方是一個最終可以看到的實體,所以像這種,只要能夠有辦法掌握了實體的弱點,就可以想辦法將之擊破,然後逃出生天。

    《死神來了》就不是這種模式,《死神來了》認為災難是必然會發生的,而在災難中註定要死去的人是一定會死去的,雖然有時候因為某個人的預見性,預先看到,並且阻止了災難的發生,但是只要他(或她)一天沒死,災難就會一直找上來,直到這個人被殺死為止,這是比較恐怖的。在這部電影裡面,死神不是一個人,也不是任何一個可見的東西,它只存在在Alex和他的倖存的朋友的恐懼之中。它從來沒有現身過,通過一縷清風、一個個的慘不忍睹的事故,才能感覺到它的存在。


    之前看過《死神來了》2和3,但是沒有看1,看完了1,有一個想法,覺得對《死神來了》這部電影,裡面的死神實際上是一段程序。

    以《死神來了1》為例,一開始就是180號飛往法國巴黎的航班,在飛機還沒有起飛的時候,主人公Alex預見性的見到了飛機爆炸,那種真實性彷彿親身經歷(第二部是摩天輪倒塌,第三部忘了),驚恐之下,下了飛機,同時被他拖累下機的還有幾個人,這幾個人都不停的抱怨Alex。然而,在飛機剛剛起飛之後,飛機竟然真的爆炸了,所有的人全部喪命。Alex和他倖存的朋友們以為這件事情就這麼過去了,想不到,過了一段時間之後,其中的一個倖存者竟然離奇的死去了,死亡的方式也是意外。在這個倖存者死亡之前,Alex同樣預感到了危險,並且認為這個倖存者的死亡並不是偶然的,而是「死神」的刻意設計。同時,死神的設計是有順序的,警方對飛機爆炸現場的分析為Alex提供了幫助,原來飛機爆炸的時候,是從左前端向右後端爆炸的,這樣,儘管飛機上的人在我們看起來是一起身亡的,但是在死神看來,是從前到後、從左到右這樣的順序,所以,倖存下來的人也將會按照當時在飛機上的座位的順序被殺死。

    從件的邏輯上來看《死神來了》這部電影,我們可以這樣分析:
    當第一次大型事故發生的時候,除了少數倖存者之外,所有的人都死掉了,倖存的人在悲傷的時候也感到幸運,他們以為這件事情就此過去了,所以,我們分析他們的潛意識,可以認為是這樣的程序邏輯:
Begin For循環 逐個遍歷事故中所有的人
    Kill 目前的人
End For
    如上所示,劇情開始的時候,我們認為死神所採取的是一個For循環,這個For循環只是從頭到尾將應該出事的人遍歷一次,然後逐個殺掉(在飛機上按照死神的邏輯也是一個一個的殺掉,雖然在我們看起來是一起死亡的),並且在Kill方法的時候,沒有返回Kill方法執行是否成功。可以這樣來理解,死神輪著板斧砍殺一通,然後不管死活,扭頭就走了。這是在災難必然發生的情況下的最好的模式了,生存下來的人就等於已經被死神忽略了。

    然而,當Alex預感到死神仍然沒有放過他們,倖存者仍然在一次次的事故中死掉的時候,他認為應該採取積極的行動,從而儘量保護更多的倖存者在事故中生存下來。所以,在死神製造事故試圖殺死倖存者的時候,Alex也在試圖通過各種方式,破壞死神的行動。按照他在這個時候的理解,認為死神是在第二次遍歷倖存者。遍歷完了之後,仍然能夠倖存下來的人,可以繼續生存下去。

    這個時候,我們可以通過程序這樣來理解死神的行動:
Begin For循環 逐個遍歷事故中所有的人 //這是第一次180航班大爆炸時間
    Kill 目前的人
End For

Begin For循環 逐個遍歷事故中的倖存者 //這是死神在嘗試殺死倖存者
    MakeKill 目前的人
End For
    我們看到,在上面的程序邏輯中,第一次,死神采取了同樣的方法,就是180號航班爆炸,殺死了大量的人;然後,由於倖存者分散,不在一起,所以死神按照順序,找到某一個人之後,就使用MakeKill方法,MakeKill首先製造事故,然後再通過事故將倖存者殺死。

    在第二輪的時候,Alex和倖存者從血淋淋的事實中已經意識到,死神確實是在第二遍清除倖存者,所以一方面Alex試圖預見並避免死神的行動,另一方面,他們試圖通過破壞死神的殺人模式,來達到自救的目的。簡單來說就是這樣:死神殺人是有順序的,比如是1、2、3、4這樣的順序,假設Alex成功的救了2,但是3卻不幸被殺掉了,這個時候,Alex和他的朋友們就認為死神已經「跳過」了2,所以2將會生存下來。

    事實正如Alex所預料的那樣,在1、2、3、4這四個人當中,死神嘗試殺死2但失敗,結果殺死了3,下一個人是4,而不是2了,2暫時性的生存了下來。

    以上的程序邏輯的問題是,無論死神調用Kill方法,還是MakeKill方法,都沒有返回一個是否成功的標誌,比如,如果這個人被成功的殺死了,則返回true,如果這個人沒有被殺死,則返回false。因此,Alex和他的朋友們仍然有倖存下來的希望。

    但是當第二輪死神殺死大部份剩下的倖存者之後,在影片的最末尾,當第二輪殺戮剩下來的倖存者終於能夠在巴黎街頭喝酒,為好好活下去而擊掌相慶,觥籌交錯的時候,死神卻正在醞釀他的第三輪殺戮……

    到現在為止,是時候揭開謎底了。是的,結果足以讓我們徹底絕望!

    原來,死神用的不是For循環!死神一直在留意是否有倖存者,只要還有一個倖存者,死神就會不斷的製造事故,直到在事故中將最後一個倖存者殺死為止!實在是太殘忍了!

    所以,揭開謎底的時候,我們發現,死神用的不是For循環,而是While循環!

While 倖存者的數量 > 0
    For 遍歷每一個活著的人
       MakeKill 目前的人
    End For
End While

    是的,讓我們感到悲傷的是,死神采用的方法是最殘忍的方法:
第一條原則就是:只要應該在事故中死去的人還剩下哪怕一個,死神就絕不會放手,直到所有的人都被殺死為止;
第二條原則就是:製造事故,殺死目前的人;
第三條原則就是:如果一個事故能夠儘量多的殺死人,那麼這個事故優先(180號航班爆炸);
第四條原則就是:如果某一個人在這一輪事故中沒有被殺死,那麼恭喜他,他在下一輪被幹掉的名單里,這一輪跳過他;
第五條原則就是:直到應該死去的人全部都死去,是的,第五條原則等於第一條原則;

    如果有辦法把死神領到一個無窮迴圈裡面的話,那麼是不是大家就都有機會了呢?媽的,耗光你的記憶體,最終讓你藍屏!   舉報
評論