-
代码规范
-
a) 代码设计规范
-
1.分不同函数完成不同的特定的任务
代码编写过程中,应该尽量把要实现的功能分函数去写,每个函数完成特定的一部分功能,即函数的功能就像邹欣老师说的那样——“只做一件事,并且要做好” !最后通过main函数把其他实现特定功能的函数整合起来。
-
将功能分函数处理可以避免我们在后续开发过程中代码的重复书写,而造成结构混乱。而且这样做也有利于我们逻辑清晰。
-
2.使用goto达到函数唯一出口的目的
这个我就不细说了,我不太赞成这种观点,函数可以使用if,else,else if,break,continue,或者其他布尔型变量来实现这个,使用过多的goto会降低代码可读性。
-
3.通过添加“断言”的方式对参数进行验证
程序要有能力去判断用户传入的参数是否正确,这就需要用到断言![在这学期之前,从没听说过什么断言!这学期,通过看这本书,才了解的。] 断言的使用,有利于更好的防止bug的发生,防患于未然!是一种一打一的好方法!
-
4.异常处理
一段代码的鲁棒性就体现在异常处理上,我们要考虑清楚,除数是否为0,数组是否越界等等常见的错误,另外我们需要注意,捕捉一场,是为了处理他,不要什么都不做就这样过去了!对异常进行一定处理,是代码具有鲁棒性才是我们进行异常处理的目的。
异常情况并不总是会发生,所以在进行异常处理时,还要考虑清楚它的时间开销空间开销,是否值得我们去处理。
-
5.类——class
我们都知道,一些面向对象的程序语言设计,如C++,java,都是基于类实现的。在类的设计上应该注意以下几点:
考虑安全因素,数据成员要分清类别:public,private,protected
数据成员如果声明成public是很危险的,用inline取而代之。 具体的用法请参加下面的博客
java中public ,private,protected的区别
C++中public,private,protected的区别
Python中public,private区别
......
构造函数
构造函数中只对数据成员进行简单的初始化就行,没必要执行过于复杂的操作,这个和上面1.是一样的,每个函数只执行特定的功能。
析构函数
就比如,C语言指针一定要手动释放,析构函数有他要做的事——清理工作。
拿不定主意的时候,用成员函数,避免使用运算符
使用const关键字的对参数进行保护
使用const将参数指向的数据声明成只读的,避免在不必要的地方修改了这个数据。
-
b)代码风格规范——简单,易读,无二异性(这一部分,只是编写代码的习惯,并不是硬性要求)
-
团队项目的数据库设计和ER图
- 我们的大作业没有用到数据库,所以这一部分就省略不写了。 那你可能会有疑惑了?那你们的数据(就比如成绩)存在哪里?
- 我们设置了本地的一个存储变量——ScoreDisplay,在游戏玩家得分之后,一方面会及时的在玩家屏幕上显示成绩,另一方面,会在本地保存一个成绩变量的副本,并且,播放相应的得分动画和得分音效。关于得分逻辑的相关js代码如下:
gainScore:function (pos) {
this.score += 1;
this.scoreDisplay.string = this.score.toString();
cc.sys.localStorage.setItem("ScoreDisplay",this.scoreDisplay.string);
var fx = cc.instantiate(this.scoreFXPrefab).getComponent('ScoreFX');
this.node.addChild(fx.node);
fx.node.setPosition(pos);
fx.play();
cc.audioEngine.playEffect(this.scoreAudio,false);
},
- 1.场景选择功能,提供5个场景,**自由切换,同样的玩法却能带给你不一样的体验**。
![](https://images2018.cnblogs.com/blog/1283654/201806/1283654-20180618013337547-238984781.jpg)
- **2.成绩计算功能**。[内含一套独立的成绩计算逻辑]
![](https://images2018.cnblogs.com/blog/1283654/201806/1283654-20180618013432458-1401276005.jpg)
- 3.**通过点击鼠标(如果您是在电脑上)或者手机屏幕(如果您用手机打开),使主角跳跃躲避障碍物**
- 4.这里给出我们做的项目的二维码,当然,不是微信web开发者工具上的,那个必须要添加你为体验者权限才能使用,这里的二维码是cocos creator 上的项目二维码。**使用之前请注意:确保您的手机网速稳定保持在200kb以上,一般使用流量是打不开滴,校园网还有一线希望!可以尝试一下啊[嘻嘻]**
- ![](https://images2018.cnblogs.com/blog/1283654/201806/1283654-20180618015857427-920972666.jpg)
姓名 |
任务 |
分工比例 |
贡献分 |
刘宇莹 |
游戏逻辑和脚本代码编写人员 |
50% |
10分 |
孟鑫菲 |
游戏前端设计和测试人员 |
50% |
10分 |