《超脑黑客》

下载本书

添加书签

超脑黑客- 第357部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!

见到林鸿回来,吴东也就放弃了去图书馆的打算,他可是有很多话要跟他说。

林鸿给他们布置的虚拟机项目的那些任务,他们已经提前完成,上次问起他接下来该做哪一步,林鸿并没有给出明确的说法,说见面再谈。

两人聊了一会儿之后,话题便转移到了虚拟机项目上。

“老大,我让你你看看我们的成果。”

吴东说着,便打开了电脑,然后运行了一个类似于终端界面的程序。

这就是虚拟机的终端仿真界面,林鸿坐在电脑前,敲入了他们之前预设好的一个DEBUG命令,便进入了编程模式。

这个模式下,就相当于是一个汇编编译器,直接输入CPU的指令,便可以进行执行。

林鸿输入了几个常见的CPU指令,包括MOV,ADD,MUL,SHL,SHR,OR等等,执行完毕之后,他便直接将CPU的那些寄存器的内容直接DUMP了出来。

显示的结果是正确的,完全是按照8086CPU的技术参数来实现的,包括指令格式和寻址方式都完全和8086一致。

整个程序,就相当于是一个计算机硬件,直接用文件来模拟CPU的寄存器以及内存结构。

在里面所执行的程序,不会对外面的操作系统产生任何影响,最多只是那个文件里面的内容发生了改变。

林鸿接下来查看了一下他们编写的源代码,所有内容都是用C语言编写的。

后面的实现代码编写得非常不错,无论是实现方法和执行效率,看得出来都经过了特别的优化,看来那个新加入的计算机老师果然不愧是在这一行研究了这么久,实现这种东西来,简直有些得心应手的感觉。

林鸿笑道:“那个老师果然不愧是教计算机组成原理的。”

吴东点头道:“是啊,他说他教这门课程好几年了,天天照着课本给同学讲枯燥的理论知识,大家根本没有任何概念,刚考完试转眼就把所有的内容都还给他了。他看到我们这个项目之后,高兴地不得了,认真研究了两天就说要加入我们,然后他将接下来的那些指令实现任务全包了下来,不到一周的时间就全部实现了。”

要想将这个做出来,如果不对CPU的结构以及运行原理完全掌握,肯定是完成不了的。就拿8086的寻址方式来说,就有好多种实现方式,这可不是寄存器到寄存器这么简单,还得考虑直接寻址和间接寻址,其中间接寻址又分好其中情况。

吴东继续说道:“还有,那个郭老师还问我这个项目是不是基于开源协议,他想要用这个项目改造一下,专门为他的课程定制,以后教学的时候,就分步骤让自己的学生去分别实现,从而让他们真正掌握这些知识。”

“这个没问题,他想用就用吧,反正这个项目也主要是用于学习。”

“老大,我们接下来该做什么?”吴东又问起了这个问题。

林鸿:“当初让你做这个项目,主要是让你理解一下CPU的基本原理,现在看来,这个目的已经达到了,相信你对底层的编程也有了足够的认识。按照我原来的计划,做到这一步,这个项目就可以停了。”

“停了?”吴东闻言不由一愣,“就这样停了,也太可惜了吧?现在我们这个项目小组好不容易组建起来,还没做什么东西呢,就这样停了?”

这个项目,是吴东做的第一个比较大的项目,同时也是投入时间和精力最多的一个东西,可以说已经有了感情,说停就停的话,实在是有点难以接受。

林鸿道:“这是原来的计划,我原先也没想到你会因此而组建一个项目小组。现在看来,可以让这个项目继续发挥余热,我已经想好了,接下来,将这个项目改造一下,将其打造成一个游戏平台。”

“游戏平台?”吴东闻言眼睛顿时一亮,但是同时又有些疑惑,这个东西怎么会和游戏联系在一起?

在他的印象中,游戏都是非常复杂的程序,涉及到比较复杂的图形化的界面和运算。他们现在编写出来的这个东西,说白了,完全就好像是个玩具一样,根本不具备任何实用价值,也不具备任何趣味性,只有学习这个专业的人才会对其有点兴趣。

而现在林鸿告诉他,要将这个项目进行改造,将其打造成游戏平台,这不由让他感到非常奇怪。

林鸿没有回答,而是问道:“你听过磁芯大战么?”

“磁芯大战?”吴东摇摇头,“没有听过。一个游戏?”

“是的,一个流行与黑客和计算机科学家内部的游戏,也是病毒的始祖。”

林鸿说着,打开了自己的电脑,然后运行了自己的电脑中的一个程序。

吴东完全被林鸿的话给震了一下,病毒的始祖,这名头实在够大。他连忙凑上前去,查看林鸿运行的那个程序。

之间显示器中,出现了一个黑色的方框,方框中则出现了两个不停闪动的两点。

两个两点都在开始移动,不过它们的方式并不相同,其中一个颜色为红色,它犹如一条小蛇,一步一步地朝前前进,而另外一个则为黄|色,它似乎长了腿,直接跳跃式前进,他们经过的地方都留下了自己的颜色,方框中的格子不断地被它们侵蚀着。

“这个程序叫做达尔文。”林鸿介绍道,“是几十年前,由一位叫做麦耀莱的工程师在贝尔实验室中编写的……”

1959年,贝尔实验室的三个二十多岁年轻人发明了一个名为“磁芯大战”的游戏,将十年前电脑先驱者冯·诺依曼在他的论文《自我繁衍的自动机理论》中所描述的病毒变为现实,这三个人分别是麦耀莱、维索斯基以及莫里斯。

“……这个莫里斯,就是后来鼎鼎大名的莫里斯蠕虫的作者罗伯特·莫里斯的父亲。”林鸿继续介绍道,“这个红色的战士,叫做爬行者,每一次执行都会自动生成一个副本,也就是将自己复制一份,它就是通过这个简单的机制不断地吞噬着里面的内存。在当时,磁芯就是内存。”

吴东听着听着也有些明白了。

眼前这个游戏虽然看上去没有什么趣味性,但是底层所代表的机制却不简单。

一红一黄两个战士在里面抢着内存资源,不停地互相吞噬,谁能最后将所有内存给抢占,谁就能获得胜利。

“老大,我明白了!你的意思是,我们将虚拟机平台改造成为类似于达尔文这样的平台?然后让大家编制战士程序,在里面玩游戏。是不是这样?”

第四百一十六章 RobTank

磁芯大战是贝尔实验室里面的三个年轻人在业余时间折腾出来的一个小东西,他们将冯·诺依曼的理论变为了现实,让程序实现了自我复制和传播。

但是,这种复制和传播只是局限在类似于“达尔文”这样的虚拟机平台中,里面的所有资源,都是已经限定好了。

这个游戏虽然是病毒的鼻祖,但实际上它并没有创造病毒,充其量仅仅只是一个流行于程序员这个小圈子内的小游戏而已,大家通过一种名为RedCode的汇编语言编写代码,按照自己的算法制造战士。

不过,这个游戏,却启发了不少人,他们觉得,这些程序,可以不用仅仅局限在这个平台上,而是可以直接运行于真实的操作系统和硬件平台中。这其中,就包括莫里斯的儿子,罗比特·莫里斯,他编写了著名的莫里斯蠕虫,一举摧毁了无数号称安全无比的计算机系统。

而林鸿也是从磁芯大战这个游戏得到启发,觉得可以直接将吴东他们编写的这个虚拟机转为这样的平台,让他们直接在里面编写游戏程序,然后在里面运行。

这样一来,他们编写的这个虚拟机平台也有了用武之地,让他们在玩游戏的同时又锻炼自己的编程能力。

当然,在林鸿看来,“磁芯大战”整体来说还是太原始了一点,不但界面原始,可使用的编程语言也原始。

他对吴东说:“磁芯大战毕竟是几十年前计算机技术刚刚萌芽阶段的游戏,用于现在的话,过于简陋了点,也没有什么趣味性。我的意思是,仿照它的原理和思想,打造一个全新的更为复杂一点的游戏。”

按照林鸿的意思,程序员的游戏,就应该像磁芯大战这样,和普通的游戏完全不同,游戏的角色,需要自己通过编程来产生,包括这些角色的动作和应对。

“等等,我拿纸币记录下来。”

东吴听到林鸿的构想,眼神越来越亮,他生怕会忘记任何一个细节,立刻找来笔记本和笔,快速地将林鸿的想法给记录在本子上。

要是在之前,林鸿直接跟他说要打造这样的一个可以让程序员自己编写“战士”的对战游戏平台,他肯定会觉得这实在是太复杂了,根本完成不了。

可是,在听说了“磁芯大战”这个游戏之后,他已经对这个游戏的基本原理有了一定的了解,心中已经有一定的底气。

林鸿继续说道:“磁芯大战的目的是争夺内存资源,它们就像是一个饥饿的贪婪者,不停地进行着吞噬,这个设定有点过于简单了,表现形式也很单一,缺乏趣味性。我们可以变通一下,既然是战士进行对战,那就干脆设定为常见的对战模式,角色也不再是简单的两个小方块,而是可以引入更为形象具体的图形。”

“类似于拳皇那样的格斗游戏吗?”吴东一边记录一边问道。

“嗯,后期倒是可以考虑这样。”林鸿点点头,“不过,前期的话最好是再简化一点,拳皇这样的格斗模式有点过于复杂了。”

拳皇游戏的格斗,完全是在真实格斗的基础上进行了精简,将主要的一些攻击和格挡动作给抽离,建立模型。

这样的游戏如果能做成功,的确有很大的趣味性,但是这样一来,对于吴东他们来说的确过于复杂了点,其中的变量和参数太多,只能将其作为后期的一个发展方向。

林鸿之前也只是一个大概的想法,现在也是边思考边说。

“这样……攻击方式简化一下,不要分什么手、脚攻击,直接将攻击手段抽象成一种,也不要分什么重拳轻拳,所有的攻击威力都只有一个标准。”

“如果只是

小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架