按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
卤嘈匆桓鲂槟饣
仿真,顾名思义,模仿真实。也就是用一定地手段去建立相关模型。模仿现实生活中的一些具体存在的东西。例如某个小区的整体规划模型就是一种实物模型仿真,属于实物建模,用实物把想要表现的东西用模型做出来。另外还有一些抽象的仿真,例如虚拟现实仿真和纯粹的数学仿真等。虚拟现实是用计算机技术把现实地东西做成动画(二维、三维)的形式,这里计算机及软件就是用来仿真的工具;纯粹的数学模型则是纯抽象的概念,没有形象的表现方式,用数学函数来表示系统,数学函数就是它地工具。
许毅所采用的方式就是虚拟现实仿真,以二维的动画形式表现出来。经过几周的构思和设计,他终于将整体框架大致完成。他将这个游戏命名为“生死斗”,正如其名,这个游戏的主要行为就是各个“角斗士”进行生死角斗,不论是单打独斗还是进行大混战,目的就是要杀死对方,赢得角斗。
整个游戏最重要的是仿真系统的服务端…FighSenven,全部的数据和指令都是FighSenven当中处理并运行的,它就相当于游戏的心脏,游戏者并不能看到它,只是在底层运行。当然,FighSenven提供一个虚拟场地…FighSenven,也叫“斗兽场”。所有参加角斗的角斗士的外在图形表示都是在这个斗兽场中进行角斗。
实际上可以说是仿真系统服务端包含两个程序:FighSenven和FightMoniton。
FighSenven负责“角斗士”的移动、与客户端(Client)进行通信、按照一定的规则控制游戏的进程。
FightMoniton,即斗兽场,则负责利用操作系统的图形显示功能在FighSenven中显示虚拟场地。FighSenven可以同时和多个FightMoniton相连,这样,大家就可以在多个显示器上同时显示生死斗游戏的情况。
有服务端,自然必有客户端(Client)。生死斗的客户端(FighSenven)是由游戏参与者编写。它相当于“角斗士”的大脑,指挥着角斗士的运动和动作。客户端和服务端的通信是通过UDP/ip协议进行信息交互的,所以,游戏者可以实用支持UDP/ip协议的任何程序系统。通过这种信息交互,客户端发送指令去控制斗兽场中的角斗士,同时,角斗士还可以反馈一些信息给服务端。
游戏中的“角斗士”是一个抽象的数据模型,“他”由着自己的一些属性:运动和战斗。运动有“走”、“跑”、“加速”、“减速”、“转身”……等等等等,许毅设计得很详细,基本是按照一个人的实际情况来的。战斗模型许毅则简化了,只有“拳击”、“脚踢”这两种攻击以及相应的防御动作而已。其实这个设计并不难,按照面向对象的设计思想,将“角斗士”抽象成一个对象,其他的都是他的属性,而属性也还可以是对象,也就是说属性也可以有属性,依此类推……
…………
整个工程是非常庞大的,所以许毅在开始的时候并没有急着动手编写,而是仔细反复地思考、补充。不但从全局考虑其整体结构,还得注意以后要添加新的功能。毕竟,现在他的构思相对来说,还比较粗糙,还有很多细节没有考虑到,到时候肯定会要升级。作为一个大的项目,这些因素都是必须考虑的。需求分析,可行性分析……这些都是软件工作听知识,没有参与过大型的项目开发的人是体会不到这些步骤的重要性的。次等的程序员通常是想到什么就立刻动手,准备工作什么都不做,就这么编下去,碰到问题再临时解决,到最后甚至还会加上一些令人难以接受的代码。于是,最终编写出来的源代码已经是“惨不忍睹”,甚至隔了一段时间之后连他自己都读不懂这些代码了。这种凭自己的感觉编写软件的方式在应付小软件的时候通常不会出什么问题,就算出了问题,从头再编写就是了,不用花多少时间。但遇到大型软件的时候,这种开发方式往往能够逼人去撞墙。编写小部分都得花上几个月的时间,哪有这么多时间让你去从头开始?真正有经验的程序员都知道“磨刀不误砍柴工”的道理,他们首先会仔细规划,整个程序会分为几个部分,估计以后将要进行那些功能的补充等等……他们将这些经验提取出来,然后经过科学研究,抽象出软件工程学这门学科。
当然,绝大多数黑客的代码编写习惯在正统的程序员眼中都不怎么好,他们对程序效率的追求近乎苛刻,于是,他们的作品当中往往会出现一些生涩难懂的代码,这些代码是那么的奇怪,以至于那些规规矩矩的程序员想破头皮也百思不得其解。他们往往会发出这样的感叹:“这样也行?”、“变量怎么可以这么用?”、“天!这个算法太巧妙了,他到底是怎么想到的?”……这点可以从Linux编写的Linux源代码中找到实例。
许毅编写的这个工程有点大,可以说是他第一次独自一人开发这么大的项目。给颜玉编写的那个“超级黑客套装”虽然貌似看起来很大,但那些软件都是一些独立的小软件组成的难度并不是很大。而他现在编写的这个“生死斗”就不同了,整体联系非常,他不但要编写整个仿真系统,而且还制定游戏规则,最要命的是要将这些游戏规则整合程序当中去。所以他才花那么大的时间来进行构思和设计,因为如果以后游戏规则有所变动,那么软件也要进行相应修改,非常麻烦。
第101章 计算机社
黎姿姿看看时间,只差几分钟就要上课了,可是许毅竟然还没有影子。黎姿姿已经关注教室门口的动静快半个小时了,害得她一起没有心思早读。
“鈴…”上课鈴终于响起,而这个时候,许毅也正好踏着铃声匆匆赶了进来。昨天晚上编程序编到深夜,今天差点就睡过头了。睡眠严重不足,他已经决定早读课和上午两节英语课补充睡眠了。
经过黎姿姿的时候,他发现黎姿姿正以奇怪的眼神一眨不眨地看着自己,还随着自己的移动而转头。
“我没那么大的魅力吧,难道这女煞星也看上我了?”许毅在心中嘀咕,不过隐约还是一阵得意,“长相还算不错,不过脾气嘛……嘿嘿……”许毅摇了摇头,还是我家兰兰好!
来到自己的座位,许毅就如同一摊烂泥一样趴在了课桌上,今天早上好像做了个非常美妙的梦,可是被闹钟惊醒之后,就一点印象都没有了,真是郁闷得很!许毅盘算着,能够继续把那个梦接着做完呢。
“毅哥哥,你怎么又是这个样子。昨天又熬夜了吧!”
“小玉乖,别打扰哥哥睡觉…嘿,顺便帮我把风……”
颜玉推了推他:“乖你个大鬼头!你肯定没吃早餐,对吧?”
“嗯……”
“我就知道!先别睡啊……”使劲把他推醒,颜玉把手中的牛奶和小笼包递到许毅面前,“给你买的,吃吧。”
许毅这里还真的有点饿了,今天起来太晚,连苏兰给他做的早餐都没来得及吃就跑来了,所以也就不客气地接了过来:“还是小玉乖,谢谢了!”
“乖你个大鬼头!毅哥哥,以后不准说我乖!知道吗?”颜玉非常不满许毅这个夸赞。在她看来,这是对小孩子的夸奖。
“哦…嗯…好吃。”许毅狼吞虎咽,也不知道听清楚了她说的话没有。
迅速消灭早餐,许毅实在太困,又继续睡了起来。
不知过了多久,迷糊间好像快接触到那个记不起来的梦的边缘了,许毅却再一次被人叫醒了。不过这次不是颜玉。而是黎姿姿。看了看旁边,颜玉不知道哪里去了。
许毅擦了擦嘴边溢出地口涎,然后用舌头舔了一下,没好气道:“不知道扰人清梦是很没……不礼貌的行为么!”差点说成“没家教”了,幸好他及时收声,不然可能要得罪这女煞星了。
黎姿姿见他这个样子,皱了皱秀眉,说道:“找你有事。”
许毅又趴到了课桌上。没有说话,良久,他奇怪地抬起头看着一直站在旁边的黎姿姿问道:“说呀,不是有事么?”
黎姿姿被他气着了,她以为许毅不甩自己,谁知他在等自己说话。
“你加入计算机协会吧。”
“不加。”搞了半天是这件事。郁闷!
“这是大家的意思。”黎姿姿是被计算机协会的其他骨干推荐来请许毅加入计算机协会的。原因是上次省级NOI比赛结果出来了,许毅得了第一名。这事这段时间已经被学校大肆宣传,这可是一件了不得的大事,NOI正式创办开赛以来,一中从来没有得过这样地名次。李季明当然不会放过这次绝好