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

项目案例:QuickHit:需求分析

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

学习目标

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

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

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

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

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

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

二、面向对象分析

(一) 发现类玩家(Player)类

游戏(Game)类

级别(Level)类

17505d9b0c972e61e0c747873fc04690.png

(二)发现类的属性

1、玩家类(Player)的属性玩家当前级别号(levelNo)

玩家当前级别积分(currScore)

当前级别开始时间(startTime)

当前级别已用时间(elapsedTime)

695b4aee2971e15ce67bb6d30cec6ae9.png

2、级别类(Level)的属性各级别号(levelNo)

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

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

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

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

1876215307bce1f90ef43a2a86df33a5.png

3 、游戏类(Game)

没有属性,只有方法

(三)发现类行为

1、玩家类(Player)

玩游戏:play()

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

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

5067e200761f622e74e87e16e432ed89.png

(四)优化设计

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

玩家:player

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

public final static Level level[6]

7feb7cdd697102395ed280389d4029c7.png

三、游戏Demo的演示

四、类的编写

(一) Player

(二) Level

(三)Game

(四)LevelParam

五、初始化各级别的参数

(一)、难点提示

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

属于这个类所有

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

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

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

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

(二)、参考代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值