按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
“香水?”苏兰平时从来不用香水。
“是啊,我见你平时身体都有些臭臭的,所以就给你买了瓶香水咯!”
“啊?你是说真的吗?”苏兰听到许毅这么说大惊,连忙杨起自己的手,在身上嗅来嗅去。
“哈哈哈……”许毅见状乐了,哈哈大笑起来,“骗你的!”
“好哇,敢骗我……”
……
第二天,许毅刚到学校就被校长叫到办公室去了。昨天,当他从柳叶老师那得知许毅昨天下午就会回家时,他很高兴,毕竟这对他来说个好消息。他昨天从公安局什么情况都没有了解到。好不容易等到今天,他就一直在校门口等着许毅。
李季明首先给许毅倒了一杯水,然后让他坐下。
“许毅同学,听说你是被……那个国安局请到北京的,他们找你有什么事情呢?”
“哦,校长是因为这事啊。其实也没什么大不了的事情,主要是请我帮个忙。”既然事情已经被他们知道了,许毅也就没有遮遮掩掩。
“帮忙?”你一个小孩,能帮他们国安局什么忙?李季明虽然打从心底不相信但还是继续问道,“帮什么忙?”
“这个……不好意思,李校长,这是国家机密,不能随便说出去的。”
不过既然许毅这么说,李季明也不好继续问下去,谁知道许毅说的是不是真的呢。不但不能再问,还得向知情人下封口令,以后这件事不准再提起。
最后,李季明再随便问了问NOI比赛的事情就让许毅离开了。
回到班里之后,许毅自然又得就会颜玉和刘波他们的狂轰滥炸,为什么这两天没有来上课云云。好不容易才将刘波打发走。颜玉小姑娘可不好糊弄,不过许毅自有办法,在颜玉开口之前,许毅就从书包里拿出了那双白色的小羊毛手套,然后递给她。
“送给我的?”
许毅随口说道:“是啊,冬天快来了,所以特意给你买了一双羊毛手套,省得你那双小手被冻成红肉包子。”
“嘻嘻,谢谢毅哥哥!”颜玉已经完全忘记自己刚才要问什么了,她喜滋滋地当场就将手套带上了,乳白色的手套,整个造型是一个卡通类动物的爪子,很可爱,里面的软毛戴上去也很舒服。
“毅哥哥,我很喜欢这个礼物!”说完她就作势要扑上来香许毅,许毅吓了一跳,连忙把她给压在座位上。
“别动……别动……你喜欢就好……喜欢就好。”都这么大了,这小姑娘怎么还是这个样子,许毅心里嘀咕。
文心阁制作 更多精彩图书尽在文心阁
电脑访问:wenxin8
文心阁论坛:bbs。wenxin8第二卷 第100章 生死斗
许毅的那个精简版的小虚拟机核心在他回来后的几天内很快就完成了。虚拟机模拟的是计算机的硬件,相当于人的身体,但还没有灵魂,也就是计算机的软件。虚拟机是操作系统中的计算机,而在虚拟机中运行的软件则是软件中的软件了。由于这是精简了的虚拟机,只能支持少数的一些机器指令,所以编写虚拟机能够运行的程序时,也得注意只用到这些指令的功能,否则就会报错,说指令不能识别。
现在完成的这个虚拟机核心就相当于一个CPU,许毅接下来要做的就是给这个光秃秃的CPU加上其他硬件资源,例如加入图形化的输入输出接口,加上虚拟内存等。
再经过几天时间,这些七七八八的组建总算完成了,最后将他们很好地组合起来,集成在一个大软件中,最后许毅还在外面加上了两层加密性能绝好的“壳”。许毅有美术功底,所以他特地还进行了一下界面美化。根据许毅原来的构思,他将这个游戏命名为“达尔文生存”。
游戏编写好之后,他自己没怎么玩,因为在他看来这实在是太简单,没意思。然后他把这个游戏传给周松,让他试试。周松确实对这个表现出很大的兴趣。于是,获得许毅同意之后,他将这个游戏放到了论坛上。结果令许毅大为失望,对这个游戏感兴趣的人并不多,而且这些人也只是玩个新鲜而已,等知道怎么回事了,他们就将其抛弃了。周松做了调查,大家一致认为这个游戏实在是太缺乏趣味性,程序编写之后,几个小黑点在显示器上移动,然后就这么等着。看他们慢慢爬动,接着结果就出来了……太无聊了!
这个时候,他们提出,最好能够将这个游戏复杂化,例如动作多样性、更具挑战性,游戏更加热血等等……
倒!许毅看到他们的回帖之后真想抽他们。他辛辛苦苦把这个东西编写出来,结果没人欣赏,失策啊!许毅这次“寓教于乐”的尝试就这样胎死腹中。
不过。许毅还是没有放弃,这些人的建议给了他灵感,连他自己都对他们提出的这个游戏感兴趣起来。许毅接下来的很长一段时间都化在那个黑客游戏的构思和设计当中,按照他的构想,如果这个游戏编写成功。极有可能形成一个大型地赛事……
许毅现在上课不睡觉了。取而代之的是趴在课桌上发呆,有时候又会突然拿起笔,在稿纸上记录着什么。颜玉看得奇怪,多次询问许毅是不是出了什么事情。她也看过许毅纪录在稿纸上的东西,都是一些框图或者代码之类的,她一点都看不懂。
许毅考虑到,把代码完全放到虚拟机中执行这个方法现在还没有条件实现。因为虚拟机编写的工程难度实在太大,同时需要很长的时间和极大的精力。另外,他编写这个游戏地目的是用来增加大家学习编程的兴趣,提高编程水平,所以他改变了起初的想法,不再去编写一个完整的虚拟机。而是仿真系统,代码还是交给实际地计算机去执行,没有必要重新编写一个虚拟机。
仿真,顾名思义,模仿真实。也就是用一定地手段去建立相关模型。模仿现实生活中的一些具体存在的东西。例如某个小区的整体规划模型就是一种实物模型仿真,属于实物建模,用实物把想要表现的东西用模型做出来。另外还有一些抽象的仿真,例如虚拟现实仿真和纯粹的数学仿真等。虚拟现实是用计算机技术把现实地东西做成动画(二维、三维)的形式,这里计算机及软件就是用来仿真的工具;纯粹的数学模型则是纯抽象的概念,没有形象的表现方式,用数学函数来表示系统,数学函数就是它地工具。
许毅所采用的方式就是虚拟现实仿真,以二维的动画形式表现出来。经过几周的构思和设计,他终于将整体框架大致完成。他将这个游戏命名为“生死斗”,正如其名,这个游戏的主要行为就是各个“角斗士”进行生死角斗,不论是单打独斗还是进行大混战,目的就是要杀死对方,赢得角斗。
整个游戏最重要的是仿真系统的服务端…FighSenven,全部的数据和指令都是FighSenven当中处理并运行的,它就相当于游戏的心脏,游戏者并不能看到它,只是在底层运行。当然,FighSenven提供一个虚拟场地…FighSenven,也叫“斗兽场”。所有参加角斗的角斗士的外在图形表示都是在这个斗兽场中进行角斗。
实际上可以说是仿真系统服务端包含两个程序:FighSenven和FightMoniton。
FighSenven负责“角斗士”的移动、与客户端(Client)进行通信、按照一定的规则控制游戏的进程。
FightMoniton,即斗兽场,则负责利用操作系统的图形显示功能在FighSenven中显示虚拟场地。FighSenven可以同时和多个FightMoniton相连,这样,大家就可以在多个显示器上同时显示生死斗游戏的情况。
有服务端,自然必有客户端(Client)。生死斗的客户端(FighSenven)是由游戏参与者编写。它相当于“角斗士”的大脑,指挥着角斗士的运动和动作。客户端和服务端的通信是通过UDP/ip协议进行信息交互的,所以,游戏者可以实用支持UDP/ip协议的任何程序系统。通过这种信息交互,客户端发送指令去控制斗兽场中的角斗士,同时,角斗士还可以反馈一些信息给服务端。
游戏中的“角斗士”是一个抽象的数据模型,“他”由着自己的一些属性:运动和战斗。运动有“走”、“跑”、“加速”、“减速”、“转身”……等等等等,许毅设计得很详细,基本是按照一个人的实际情况来的。战斗模型许毅则简化了,只有“拳击”、“脚踢”这两种攻击以及相应的防御动作而已。其实这个设计并不难,按照面向对象的设计思想,将“角斗士”抽象成一个对象,其他的都是他的属性,而属性也还可以是对象,也就是说属性也可以有属性,依此类推……
…………
整个工程是非常庞大的,所以许毅在开始的时候并没有急着动手编写,而是仔细反复地思考、补充。不但从全局考虑其整体结构,还得注意以后要添加新的功能。毕竟,现在他的构思相对来说,还比较粗糙,还有很多细节没有考虑到,到时候肯定会要升级。作为一个大的项目,这些因素都是必须考虑的。需求分析,可行性分析……这些都是软件工作听知识,没有参与过大型的项目开发的人是体会不到这些步骤的重要性的。次等的程序员通常是想到什么就立刻动手,准备工作什么都不做,就这么编下去,碰到问题再临时解决,到最后甚至还会加上一些令人难以接受的代码。于是,最终编写出来的源代码已经是“惨不忍睹”,甚至隔了一段时间之后连他自己都读不懂这些代码了。这种凭自己的感觉编写软件的方式在应付小软件的时候通常不会出什么问题,就算出了问题,从头再编写就是了,不用花多少时间。但遇到大型软件的时候,这种开发方式往往能够逼人去撞墙。编写小部分都得花上几个月的时间,哪有这么多时间让你去从头开始