反馈一些信息给服务端。
游戏中的“角斗士”是一个抽象的数据模型“他”由着自己的一些属性:运动和战斗。运动有“走”、“跑”、“加”、“减”、“转身”……等等等等许毅设计得很详细基本是按照一个人的实际情况来的。战斗模型许毅则简化了只有“拳击”、“脚踢”这两种攻击以及相应的防御动作而已。其实这个设计并不难按照面向对象的设计思想将“角斗士”抽象成一个对象其他的都是他的属性而属性也还可以是对象也就是说属性也可以有属性依此类推……
…………
整个工程是非常庞大的所以许毅在开始的时候并没有急着动手编写而是仔细反复地思考、补充。不但从全局考虑其整体结构还得注意以后要添加新的功能。毕竟现在他的构思相对来说还比较粗糙还有很多细节没有考虑到到时候肯定会要升级。作为一个大的项目这些因素都是必须考虑的。需求分析可行性分析……这些都是软件工作听知识没有参与过大型的项目开的人是体会不到这些步骤的重要性的。次等的程序员通常是想到什么就立刻动手准备工作什么都不做就这么编下去碰到问题再临时解决到最后甚至还会加上一些令人难以接受的代码。于是最终编写出来的源代码已经是“惨不忍睹”甚至隔了一段时间之后连他自己都读不懂这些代码了。这种凭自己的感觉编写软件的方式在应付小软件的时候通常不会出什么问题就算出了问题从头再编写就是了不用花多少时间。但遇到大型软件的时候这种开方式往往能够逼人去撞墙。编写小部分都得花上几个月的时间哪有这么多时间让你去从头开始?真正有经验的程序员都知道“磨刀不误砍柴工”的道理他们先会仔细规划整个程序会分为几个部分估计以后将要进行那些功能的补充等等……他们将这些经验提取出来然后经过科学研究抽象出软件工程学这门学科。
当然绝大多数黑客的代码编写习惯在正统的程序员眼中都不怎么好他们对程序效率的追求近乎苛刻于是他们的作品当中往往会出现一些生涩难懂的代码这些代码是那么的奇怪以至于那些规规矩矩的程序员想破头皮也百思不得其解。他们往往会出这样的感叹:“这样也行?”、“变量怎么可以这么用?”、“天!这个算法太巧妙了他到底是怎么想到的?”……这点可以从Linux编写的Linux源代码中找到实例。
许毅编写的这个工程有点大可以说是他第一次独自一人开这么大的项目。给颜玉编写的那个“级黑客套装”虽然貌似看起来很大但那些软件都是一些独立的小软件组成的难度并不