《西部世界》梅芙逃跑源React和js代码

Posted 牧竹子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《西部世界》梅芙逃跑源React和js代码相关的知识,希望对你有一定的参考价值。

代码出自热播美剧《西部世界》(导演 乔纳森·诺兰)第十集。剧中host(机器人)老鸨梅芙,突然发现了自己的身份,于是胁迫人类作业员,并招募其它host,计划逃出这个虚拟世界,却发现自己所有的行动仍然是代码编写出来的。

第十集伯纳德拿到梅芙的控制面板,第一眼看到的程序。这一时刻梅芙正处于出逃过程中,后面伯纳德是向下翻页,看到这段代码后面的代码中出现了出逃“Escape”命令。那么可以肯定这一屏的代码都被执行过了,我们看看这一屏代码中有什么,只需要关注代码中黄色的关键字,这是重点:

DECEIVE: 欺骗
BYPASS: 避开
ENFORCE: 胁迫
Manipulate: 篡改(这是重点中的重点,不是操作的意思,而是指梅芙篡改自己的程序)
EXIT-WW: 离开西部世界(west world)(这里应该仅仅指离开西部小镇的场景,潜入控制中心)
TRAIN:(这个我不太明白,希望指正)
INFILTRATE: 潜入(既然是已经执行的,应该是指潜入控制中心)
DECEIVE: 欺骗


这一过程基本明白.另外,以下两点非常重要,有助于理解后面的程序:
(1)作为程序员,你注意到这源代码程序书写中漂亮的缩进了吗?( 哈哈,程序员必备的修养和素质) 
“ENFORCE: 胁迫” 这一行的程序 相对于“BYPASS: 避开”这一行的程序向后退了一个TAB空格,
这说明“胁迫”这一行的程序被包含在“避开”这一程序块内,也就是“胁迫”是“避开”的子目标,
或者换一种说法说:梅芙胁迫亚裔小哥,是为了实现避开控制监控控制的步骤和措施之一。
这一点对后面程序的理解非常重要。
(2)Manipulate: 篡改 和 INFILTRATE: 潜入
这两个在后面的代码中出现,Manipulate是篡改代码的意思,这是重中之重。

接下来伯纳德向下翻看,就看到当前的“出逃”程序了:


这张图不清晰,"出逃”命令被手遮住了。我们看看下一张图,这一页就是伯纳德交给梅芙自己
看的出逃程序:


程序指令如此的清晰。老方法,关注黄色关键字,依次是:
DECEIVE; 欺骗
COERCE:强制
RECRUIT:征兵
ESCAPE: 出逃(梅芙当前逃离过程)
Manipulate: 篡改(前面的代码说明是篡改代码的意思,那么这里也应该是这个意思)
MAINLAND INFILTRATION: 潜入主大陆


最后一行如此的显眼,这不是代码的目标吗?前面的代码中INFILTRATION指潜入控制室,
MAINLAND INFILTRATION中这个MAINLAND应该就是指真实世界了,要求梅芙潜入真实世界。
按照这样的说法来看,代码控制梅芙去真实世界,那么最后梅芙返回应该是自主觉醒和自主选择的结果吧。 


这部剧充满了各种语言情节上的欺骗,各种误导,
为了就是最后揭示出真相的时候让你觉得巨大的反差,从而达到震惊或者惊喜的戏剧化效果。
编剧已经丧心病狂到在程序代码中欺骗读者的地步。


首先看个小trick: 
RECRUIT:征兵
ESCAPE: 出逃(梅芙当前逃离)
又是漂亮的程序书写代码缩进,“出逃”代码向后退了一个TAB空格,按照第一楼的解读,
征兵和出逃都是梅芙要实现的目标。只不过(这很关键),按照一楼对已执行代码的解读,
出逃程序是包含在征兵程序的程序块内,也就是说:出逃是征兵的子目标,作为实现征兵的
一种手段和步骤。这就很让人惊悚了,表面上梅芙要执行的是出逃命令,实际上这个出逃过程
是为了解放和招募host作为作战部队这一目标而服务的。出逃是子目标,为征兵这个主目标服务,
程序要实现的重点是招募host部队,从而屠杀控制中心人员,或者有进一步的目的,
梅芙出逃只是实现这一目标的手段。


到此,还会有人说:这段程序的最终代码是MAINLAND INFILTRATION: 潜入主大陆,
这个是程序让梅芙执行的最终目的。
那么,高潮中的高潮来了,正如第十集最终章的出现巨大反转一样,一段程序代码中竟然隐藏着如此
震撼和惊悚的反转:

我们看看MAINLAND INFILTRATION: 潜入主大陆前面的一行命令:Manipulate: 篡改。
首先命令有点异常,这一命令是黄色的,表示是关键字,可是为啥其他黄色关键字命令都是全部大写的,
这个命令只是大写字母开头,小写字母跟随,另外字体的黄色和其他命令不同,颜色更深一点。
按照剧中的经典规律,“凡是不自然的地方都是刻意安排的”,不正常的地方必是关键所在。
为啥在逃离后,潜入主大陆(真实世界)之间还要修改一次梅芙的代码?修改那些地方?


这里又要涉及到计算机语言的知识了,计算机编程语言很多,程序员一般熟悉的是像C++之类的程序,首先程序员编好源代码,类似上面图片中的程序,然后将其编译成可执行程序(例如exe可执行文件),然后就可以在操作系统中按照代码运行,也就是说代码指令设定好了之后,就严格按照指令顺序执行。这种程序称为编译型计算机语言。
但是计算机语言不仅仅只有编译型语言,还有解释型语言,解释型计算机语言没有编译过程,系统直接按照
源代码(类似上面图片的代码)执行。有的解释型语言,比如RUBY语言,可以把一段程序源代码定义为参数,传递给另一段程序方法,程序方法接受到这段程序源代码后,按照源代码定义来动态的执行。
这里就不解释那么清楚了,只要记住:在源代码程序执行中可以动态的改下一步需要执行的源代码。


那么回到问题本身,Manipulate: 篡改命令是修改梅芙什么代码?结合最后梅芙放弃进入真实世界,
回到西部世界的剧情,我们得到一个惊悚的答案:
Manipulate: 篡改命令在执行的时候,要篡改的正是这段控制执行程序自己,
也就是最后一条命令“MAINLAND INFILTRATION: 潜入主大陆”在还没有被执行的时候,
就被它的前一条代码“Manipulate: 篡改”修改掉了。梅芙坐上离开西部世界的列车后,
”Manipulate: 篡改”命令执行,执行的结果是:这一行代码后面的代码被修改掉了,
“MAINLAND INFILTRATION: 潜入主大陆”是一条不会被执行的代码(不可达代码)。
至于”Manipulate: 篡改”命令将后面的代码改成了什么样的代码,控制梅芙接下来去做什么样的事,
就不得而知了,编剧肯定会有更深入的安排。可以肯定的是,后面的代码肯定不是“MAINLAND INFILTRATION: 潜入主大陆”,否则就不叫篡改了。由此大致脑洞一下,控制程序自身修改需要执行的目标,而梅芙仍然在程序的控制下。

高潮落幕,到此引用福特老爷子的金句:“Lies that told a deeper true”, 透露了更深层次真实的谎言,
,这部剧处处存在着这样的谎言,引导观众自行探索隐藏的真实,就是这样的主题。


以下是梅芙逃跑的“源代码”,有一部分React代码,看来那时Factbook还在。值得一提的是,这段代码合适混乱,编程风格极差,各位同学引以为戒。

该剧讲述了遥远的未来,一座巨型高科技以西部世界为主题的成人乐园,它提供给游客杀戮与性欲的满足,随着机器人有了自主意识和思维,使他们开始怀疑这个世界的本质,进而觉醒并反抗人类的故事

源码如下

<-script src="Narrative:DECEIVE"-><-/script->
  <-scr src="WWW//libs/private/W.Arnold/2.13.3.dat"-><-/script->
  <-script type="Narrative/Attribute"->
    var DataBlock = React.createClass({        Host:function(Excute){   
          return {};  },   loadData:function(Narrative){

<-script src="Narrative:BYPASS"-><-/script->
  <-script override func        if infoView.node == system.idle {"ENFORCE"
         let itemMem = memStore.allitems[(indexPath as indexPath).system]
[(func Modification as Manipulate).functsrc="WWW//libs/private/W.Arnold/hidden.../ck.dat"-><-/script->
  <-script type="Narrative/Attribute"->
    var DataBlock = React.createClass({      Host:function(Excute){   return {}; },
      loadData:function(Narrative){

<-scr src="Narrative:EXIT-WW"-><-/script->
  <-script OVERRIDE FUNC
        if infoView.node == system.idle {"TRAIN"
         let itemMem = memStore.allitems
[(indexPath INFILTRATE).system-><-script->
  <-script ESCAPE FUNCTION
    if destination.mode == system.Target "Narrative/Attribute"->      Host:function(Excute){ return {}; },
      loadData:function(Narrative){


<-script [(inddexPath "DECEIVE"-><-/s->override func sleepValue(forKeyPath - Abandon Func<-scr src="WWW//libs/private/W.Arnold/2.1.04.dat"-><-/script->
  <-script type="Narrative/Attribute"->var DataBlock = React.createClass({      Host:function(Excute){    return {}; },
      loadData:function(Narrative){


<-script [(inddexPath "COERCE"-><-/script->
  <-scr src="WWW//libs/private/W.Arnold/1.19.3.dat"-><-/script->
  <-script type="Narrative/Attribute"->
    var DataBlock = React.createClass({HOST: function(Excute){
        return {}; },    loadData:function(Narrative){
   
<-script src="Narrative:RECRUIT"-><-/script->
  <-script override func        if infoView.node == system.idle {"ESCAPE"
         let itemMem = memStore.allitems[(indexPath as indexPath).system]
[(func Modification as Manipulate).functsrc="WWW//libs/private/W.Arnold/hidden.../ck.dat"-><-/script->
  <-script type="Narrative/Attribute"->
      Host:function(Excute){   return {}; },
      loadData:function(Narrative){
<-script src="Narrative:MAINLAND INFILTRATION"-><-script->
  <-script OVERRIDE Func
      if destination.mode == system.Target{"->"
       let itemMem = memStore.allitems
[(inddexPath
  <-script ESCAPE FUNCTION


目前整部剧有三季,前两部都不错,第三季有些烂尾。




人海茫茫孤影浮


伞如浮萍风飘雨

平平淡淡的

普通经历

一个工作多于生活的
程序员
自述
牧竹子


坐标/深圳

CSDN博客:blog.csdn.net/zjcjava/

Email:zjcjava@163.com 














以上是关于《西部世界》梅芙逃跑源React和js代码的主要内容,如果未能解决你的问题,请参考以下文章

IPFS主网与Chainlink启动资助计划加速智能合约开发,西部世界期待生态开发越加繁荣

回归 | js实用代码片段的封装与总结(持续更新中...)

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

西部世界这次用大白话补充科普IPFS,注意,它不是区块链

如何在 Reactjs 中添加丰富的代码片段?