24、项目案例3:QuickHit.ppt

上传人:本田雅阁 文档编号:3407338 上传时间:2019-08-22 格式:PPT 页数:36 大小:1.57MB
返回 下载 相关 举报
24、项目案例3:QuickHit.ppt_第1页
第1页 / 共36页
24、项目案例3:QuickHit.ppt_第2页
第2页 / 共36页
24、项目案例3:QuickHit.ppt_第3页
第3页 / 共36页
24、项目案例3:QuickHit.ppt_第4页
第4页 / 共36页
24、项目案例3:QuickHit.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《24、项目案例3:QuickHit.ppt》由会员分享,可在线阅读,更多相关《24、项目案例3:QuickHit.ppt(36页珍藏版)》请在三一文库上搜索。

1、项目案例:QuickHit,第二十四章,训练的技能点,面向对象设计的思想 使用类图理解类的关系 类的封装 构造方法的使用 this、static关键字的使用,任务描述,需求概述 根据输入速率和正确率将玩家分为不同级别 级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高 规定时间内完成规定次数的输入,正确率达到规定要求,则升级 玩家最高级别为6级、初始级别一律为1级 用户错误输入一次,游戏结束 开发工具 JDK 6.0、MyEclipse7.5,问题分析:需要使用到的类4-1,发现类: 玩家(Player)类 游戏(Game)类 级别(Level)类,问题分析:需要使用到的类4-2,发

2、现类的属性 玩家类(Player)的属性 玩家当前级别号(levelNo) 玩家当前级别积分(currScore) 当前级别开始时间(startTime) 当前级别已用时间(elapsedTime) 游戏类(Game) 级别类(Level)的属性 各级别号(levelNo) 各级别一次输出字符串的长度(strLength) 各级别输出字符串的次数(strTime) 各级别闯关的时间限制(timeLimit) 各级别正确输入一次的得分(perScore),问题分析:需要使用到的类4-3,发现类的方法 玩家类(Player)的方法 玩游戏play() 游戏类(Game)的方法 String pri

3、ntStr() 输出字符串,返回字符串用于和玩家输入比较。 void printResult(String out,String in) 比较游戏输出out和玩家输入in,根据比较结果输出相应信息,问题分析:需要使用到的类4-4,优化设计 修改游戏类(Game),添加属性 玩家: Player 添加类: LevelParam public final static Level level6,问题分析:主要功能分析,游戏输出字符串 生成字符串、输出字符串、返回字符串 生成长度固定但内容随机的字符串 确认输入并输出结果 输入 正确、未超时 输出 当前级别、当前积分、已用时间 计算玩家的当前级别、当

4、前积分和已用时间 玩游戏 6个级别循环实现 每次晋级后积分清零、计时清零,问题分析:界面分析,玩家输入正确与输入超时界面 玩家输入错误界面,项目需求,游戏根据玩家的级别在控制台输出指定数量字符 玩家根据控制台输出来输入相同字符,回车确认 确认玩家输入是否正确 如果输入错误,输出输入错误提示,游戏非正常结束 如果输入正确但超时,输出玩家速度太慢提示,游戏非正常结束 如果输入正确且没有超时,输出玩家的积分、级别和用时信息。继续以上操作 规定时间内连续正确输入规定次数,显示升级提示;游戏重新计时计分,将一次输出更多字符。6级玩家闯关成功,输出恭喜信息,游戏正常结束,开发计划,用例1:游戏输出字符串2

5、0分钟 用例2:确认输入并输出结果25分钟 用例3:玩家玩游戏25分钟 用例4:初始化各个级别的具体参数15分钟,用例1:游戏输出字符串4-1,需求说明 在控制台输出随机字符串,用例1:游戏输出字符串4-2,思路分析 生成字符串 输出字符串 返回字符串 难点提示 Game类中的player属性,代表玩家,查询player的级别号,然后根据级别号到LevelParam类中获取该级别的字符串长度 字符串长度固定可以通过for循环来实现,而随机内容可以通过获取随机数,而不同随机数对应不同字符来实现,完成时间:20分钟,用例1:游戏输出字符串4-3,参考代码,StringBuffer buffer =

6、 new StringBuffer(); Random random = new Random(); / 1、通过循环生成要输出的字符串 for (int i = 0; i “); break; case 1: buffer.append(“); break; ,用例1:游戏输出字符串4-4,代码审查 游戏输出字符串,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,用例2:确认输入并输出结果4-1,需求说明 确认用户输入并输出结果,用例2:确认输入并输出结果4-2,思路分析 确认玩家输入是否正确 如果输入不正确,则直接输出错误信息并退出程序 如果输入正确 如果超时,则

7、直接输出错误信息并退出程序; 如果没有超时 计算玩家当前积分; 计算玩家已用时间; 输出玩家当前级别、当前积分、已用时间; 判断用户是否已经闯过最后一关并处理,完成时间:25分钟,用例2:确认输入并输出结果4-3,参考代码,long currentTime = System.currentTimeMillis(); / 如果超时 if (currentTime - player.getStartTime() / 1000 LevelParam.levelsplayer.getLevelNo() - 1.getTimeLimit() System.out.println(“你输入太慢了,已经超时

8、,退出!“); System.exit(1); / 计算玩家当前积分 player.setCurScore(player.getCurScore() + LevelParam.levelsplayer.getLevelNo() - 1.getPerScore();,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,用例2:确认输入并输出结果4-4,代码审查 审查确认输入并输出结果代码,用例3:玩家玩游戏3-1,需求说明 玩家玩游戏,用例3:玩家玩游戏3-2,思路分析 创建Game对象并传入player属性; 外层循环(循环次数是6,每循环一次玩家级别升一级) 晋级; 积

9、分清零、计时清零; 内层循环(循环次数是该级别的strTime,每循环一次完成一次人机交互) 游戏输出字符串; 玩家输入字符串; 游戏判断玩家输入并输出相应结果。,完成时间:25分钟,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,用例3:玩家玩游戏3-3,代码审查 审查玩家玩游戏代码,用例4:初始化各个级别具体参数5-1,需求说明 游戏开始之前初始化各个级别的具体参数信息 如各级别号 各级别一次输出字符串的长度 各级别输出字符串的次数 各级别闯关的时间限制 各级别正确输入一次的得分,完成时间:15分钟,用例4:初始化各个级别具体参数5-2,难点提示 使用static

10、修饰属性和代码块 static属性 属于这个类所有 通过“对象名.static属性名” 、“类名.static属性名” 访问 static方法 通过“类名.static方法名”和“对象名.static方法名” 访问 static代码块 主要作用是实现static属性的初始化 当类被载入的时候执行它,且只被执行一次,用例4:初始化各个级别具体参数5-3,class StaticCodeBlock static String name = “defname“; static name = “staticname“; System.out.println(“execute static code b

11、lock“); public StaticCodeBlock() System.out.println(“execute constructor“); public class TestStaticCodeBlock static System.out.println(“execute static code block in Test“); public static void main(String args) System.out.println(“execute main()“); new StaticCodeBlock(); new StaticCodeBlock(); new St

12、aticCodeBlock(); ,用例4:初始化各个级别具体参数5-4,参考代码,public class LevelParam public final static Level levels=new Level6;/对应六个级别 static levels0=new Level(1, 2, 10, 30,1); levels1=new Level(2, 3, 9, 26,2); levels2=new Level(3, 4, 8, 22,5); levels3=new Level(4, 5, 7, 18,8); levels4=new Level(5, 6, 6, 15,10); lev

13、els5=new Level(6, 7, 5, 12,15); ,共性问题集中讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,用例4:初始化各个级别具体参数5-5,代码审查 审查初始化各个级别的具体参数代码,集成测试,完成时间:25分钟,系统集成后,重新测试系统所有程序功能 测试出的缺陷记录在“常见问题列表中” 修正缺陷后返测,并更新“常见问题列表中”,集成测试,项目总结,技能总结,面向对象设计的思想 使用类图理解类的关系 类的封装 构造方法的使用 this、static关键字的使用,作业,课后作业 必做 编写QuickHit项目总结,不少于1000字 选做 教员备课时在此添加内容 提交时间:xxx 提交形式:xxx 预习作业 背诵英文单词 教员备课时在此添加内容,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1