java quickhit项目_跟王老师学Java三大特性(一):案例 QuickHit:需求分析

项目案例:QuickHit:需求分析

主讲教师:王少华   QQ群号:483773664

学习目标

学会用面向对象思想来进行需求分析

一、需求

根据输入速率和正确率将玩家分为不同级别

级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高

规定时间内完成规定次数的输入,正确率达到规定要求,则升级

玩家最高级别为6级、初始级别一律为1级

用户错误输入一次,游戏结束

二、面向对象分析

(一) 发现类

玩家(Player)类

游戏(Game)类

级别(Level)类

0818b9ca8b590ca3270a3433284dd417.png

(二)发现类的属性

1、玩家类(Player)的属性

玩家当前级别号(levelNo)

玩家当前级别积分(currScore)

当前级别开始时间(startTime)

当前级别已用时间(elapsedTime)

0818b9ca8b590ca3270a3433284dd417.png

2、级别类(Level)的属性

各级别号(levelNo)

各级别一次输出字符串的长度(strLength)

各级别输出字符串的次数(strTimes)

各级别闯关的时间限制(timeLimit)

各级别正确输入一次的得分(perScore)

0818b9ca8b590ca3270a3433284dd417.png

3 、游戏类(Game)

没有属性,只有方法

(三)发现类行为

1、玩家类(Player)

玩游戏:play()

2 、游戏类

String printStr():输出字符串,返回字符串用于和玩家输入比较

void printResult(String out,String in):比较游戏输出Out和玩家输入in,根据比较结果输出相应信息

0818b9ca8b590ca3270a3433284dd417.png

(四)优化设计

1 修改游戏类(Game),添加属性

玩家:player

2 添加类 LevelParam:用于存储级别常量

public final static Level level[6]

0818b9ca8b590ca3270a3433284dd417.png

三、游戏Demo的演示

四、类的编写

(一) Player

(二) Level

(三)Game

(四)LevelParam

五、初始化各级别的参数

(一)、难点提示

1 使用static修饰属性和代码块

static属性

属于这个类所有

通过“对象名.static属性名” 、“类名.static属性名” 访问

static方法

通过“类名.static方法名”和“对象名.static方法名” 访问

static代码块

主要作用是实现static属性的初始化

当类被载入的时候执行它,且只被执行一次

(二)、参考代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值