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

    效果完成图

  • 相关阅读:
    www.redgate.com网站淘宝之旅
    C#判断中文字符 收藏
    .NET 4.0 Interop新特性ICustomQueryInterface (转载)
    Marshaling between Managed and Unmanaged Code(转载)
    AE+C# 实现MERGE, AE实现相同结构图层的合并C#代码(转载)
    Flex屏蔽并自定义鼠标右键菜单(转载)
    面向 Microsoft OracleClient 开发人员的 ODP.NET(资料收集)
    在 Oracle 数据库上使用 Visual Studio 2005 或 2008 构建 .NET 应用程序(官方文章转载)
    HTTP 500 内部服务器错误 IIS
    Resolving Http 500 Server Errors in ASP.Net and IIS 5.1(转载)
  • 原文地址:https://www.cnblogs.com/chimingyang/p/5539042.html
Copyright © 2011-2022 走看看