QuickHit
2016-05-29 10:53
357 查看
QuickHit小型游戏开发笔记
No.1 首先编写类,游戏类,玩家类,级别类
玩家类的属性:levelNo玩家编号类,currScore玩家当前积分,stratTime当前级别开始时间,elapsedTime
当前级别已用时间
级别类的属性:levelNo各级别编号,strLengh一次输入的字符串长度,strTime各级别输出字符串的次数,timeLimit各级闯关的时间限制
perScore各级别输入一次正确的得分!
游戏类:player玩家属性(玩家来玩游戏)
因为级别类不包括各个级别的具体参数信息,所以增加一个levelParam类,创建一个长度为6的数组,存放各个级别的参数信息
===========================以上信息由课本提供================================================
类中的属性有了,下面我们来看一下类中的方法。
--首先game类(先有游戏才能玩):
方法有二:printStr()
printResult()
1:printStr()方法:生成随机的字符串,使用switch选择结构以生成的随机数进行判断生成的字符串。字符串的长度不得大于各级别输出字符串的长度。
int strLength=LevelParam.levels[player.getLevelNo()-1].getStrLength();由于数组下标是从0开始的,获取该级别输入
的字符串的长度定位到数组中的一项要使用(级别号-1 )定位数组下标。创建一个0到5的随机数,创建StringBuffer对象来拼接字符串。该方法返回
一个拼接好了的字符串。
2:long time=System.currentTimeMillis();获取系统当前时间的毫秒数(严谨到毫秒)
(time-player.getStartTime())/1000>LevelParam.levels[player.getLevelNo()-1].getTimeLimit()如果游戏所用时间大于
游戏规定的时间,判断出局!
player.setCurScore(player.getCurScore()+LevelParam.levels[player.getLevelNo()-1].getPerScore());加上当前获得的分数
player.setElapsedTime((int)(time-player.getStartTime())/1000);计算玩游戏所需的时间
输出当前这一关的信息,当进行到第六个级别(最高级别)时,将级别清空,还原为1.
--Player类:创建游戏类(game对象),记录循环的次数,将级别初始为1.
game.getPlayer().setStartTime(System.currentTimeMillis())记录下游戏开始时间!
循环条件,小于输入次数,接收随机生成的字符串,如果用户输入的字符串与该字符串相等,继续游戏,否则,gameOver!
--Text类:直接调用player类的paly()方法!
效果完成图
No.1 首先编写类,游戏类,玩家类,级别类
玩家类的属性:levelNo玩家编号类,currScore玩家当前积分,stratTime当前级别开始时间,elapsedTime
当前级别已用时间
级别类的属性:levelNo各级别编号,strLengh一次输入的字符串长度,strTime各级别输出字符串的次数,timeLimit各级闯关的时间限制
perScore各级别输入一次正确的得分!
游戏类:player玩家属性(玩家来玩游戏)
因为级别类不包括各个级别的具体参数信息,所以增加一个levelParam类,创建一个长度为6的数组,存放各个级别的参数信息
===========================以上信息由课本提供================================================
类中的属性有了,下面我们来看一下类中的方法。
--首先game类(先有游戏才能玩):
方法有二:printStr()
printResult()
1:printStr()方法:生成随机的字符串,使用switch选择结构以生成的随机数进行判断生成的字符串。字符串的长度不得大于各级别输出字符串的长度。
int strLength=LevelParam.levels[player.getLevelNo()-1].getStrLength();由于数组下标是从0开始的,获取该级别输入
的字符串的长度定位到数组中的一项要使用(级别号-1 )定位数组下标。创建一个0到5的随机数,创建StringBuffer对象来拼接字符串。该方法返回
一个拼接好了的字符串。
2:long time=System.currentTimeMillis();获取系统当前时间的毫秒数(严谨到毫秒)
(time-player.getStartTime())/1000>LevelParam.levels[player.getLevelNo()-1].getTimeLimit()如果游戏所用时间大于
游戏规定的时间,判断出局!
player.setCurScore(player.getCurScore()+LevelParam.levels[player.getLevelNo()-1].getPerScore());加上当前获得的分数
player.setElapsedTime((int)(time-player.getStartTime())/1000);计算玩游戏所需的时间
输出当前这一关的信息,当进行到第六个级别(最高级别)时,将级别清空,还原为1.
--Player类:创建游戏类(game对象),记录循环的次数,将级别初始为1.
game.getPlayer().setStartTime(System.currentTimeMillis())记录下游戏开始时间!
循环条件,小于输入次数,接收随机生成的字符串,如果用户输入的字符串与该字符串相等,继续游戏,否则,gameOver!
--Text类:直接调用player类的paly()方法!
效果完成图
![](https://images2015.cnblogs.com/blog/905518/201605/905518-20160529105230475-986529316.png)
相关文章推荐
- Hdu-5301 Buildings(思维题)
- UIDynamic介绍
- Android购物车初步实现1(UI篇)
- Android异步消息处理之Looper,Handler,Message,MessageQueue
- 设置tableView固定位置和尺寸---automaticallyAdjustsScrollViewInsets
- "\\ndk-build.cmd" clean Cannot run program "\ndk-build.cmd": Launching failed解决方法
- 2016 UESTC Traing Search Algorithm &String Problem N 简单的双向搜索
- [疯狂Java]集合:Deque(双端队列)以及两个实现(ArrayDeque、LinkedList)、Stack(摒弃)、各线性表性能分析
- GUID
- iOS悬浮窗UIBezierPath圆形扩散转场动画
- UItableView与UICollectionView
- DB_NAME、DBID、DB_UNIQUE_NAME、SERVICE_NAME、SID、INSTANCE_NAME、GLOBAL_DATABASE_NAME
- LeetCode - UniquePaths
- Java建造者模式(Builder模式)
- HDU1297 Children’s Queue
- SPOJ - QTREE Query on a tree 树链剖分
- Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning p
- Volley用StringRequest的post方法传参问题
- Your build settings specify a provisioning profile with the UUID, no provisioning profile was
- 1019: Arithmetic Sequence