zoukankan      html  css  js  c++  java
  • QuickHit

    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()方法!

    效果完成图

  • 相关阅读:
    ruby 二进制转十进制 Integer("0b101") = 5
    开始菜单和我的文档的我的图片及我的音乐变成 my pictrues 正常图标了
    ruby watir 莫名其妙的错误
    Excel SaveAS是去掉提示框
    apache && jboss安装
    ruby require include的区别
    ruby控制鼠标
    This error is raised because the column 'type' is reserved for storing the class in case of inheritance
    用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
    ASP.NET 如何动态修改 Header 属性如添加 Meta 标签 keywords description!
  • 原文地址:https://www.cnblogs.com/chimingyang/p/5539042.html
Copyright © 2011-2022 走看看