项目案例:QuickHit:需求分析
主讲教师:王少华 QQ群号:483773664
学习目标
学会用面向对象思想来进行需求分析
一、需求根据输入速率和正确率将玩家分为不同级别
级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高
规定时间内完成规定次数的输入,正确率达到规定要求,则升级
玩家最高级别为6级、初始级别一律为1级
用户错误输入一次,游戏结束
二、面向对象分析
(一) 发现类玩家(Player)类
游戏(Game)类
级别(Level)类
(二)发现类的属性
1、玩家类(Player)的属性玩家当前级别号(levelNo)
玩家当前级别积分(currScore)
当前级别开始时间(startTime)
当前级别已用时间(elapsedTime)
2、级别类(Level)的属性各级别号(levelNo)
各级别一次输出字符串的长度(strLength)
各级别输出字符串的次数(strTimes)
各级别闯关的时间限制(timeLimit)
各级别正确输入一次的得分(perScore)
3 、游戏类(Game)
没有属性,只有方法
(三)发现类行为
1、玩家类(Player)
玩游戏:play()
2 、游戏类String printStr():输出字符串,返回字符串用于和玩家输入比较
void printResult(String out,String in):比较游戏输出Out和玩家输入in,根据比较结果输出相应信息
(四)优化设计
1 修改游戏类(Game),添加属性
玩家:player
2 添加类 LevelParam:用于存储级别常量
public final static Level level[6]
三、游戏Demo的演示
四、类的编写
(一) Player
(二) Level
(三)Game
(四)LevelParam
五、初始化各级别的参数
(一)、难点提示
1 使用static修饰属性和代码块static属性
属于这个类所有
通过“对象名.static属性名” 、“类名.static属性名” 访问static方法
通过“类名.static方法名”和“对象名.static方法名” 访问static代码块
主要作用是实现static属性的初始化
当类被载入的时候执行它,且只被执行一次
(二)、参考代码