案例 QuickHit:玩家玩游戏

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

学习目标

完成Player类中的play方法

一、需求说明

玩家玩游戏

二、思路分析

  1. 创建Game对象并传入player属性;

  2. 外层循环(循环次数是6,每循环一次玩家级别升一级)

    晋级;

    积分清零、计时清零;

    内层循环(循环次数是该级别的strTime,每循环一次完成一次人机交互)

    游戏输出字符串;

    玩家输入字符串;

    游戏判断玩家输入并输出相应结果。

三、参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
     * 玩家玩游戏。
     */
    public void play() {
        Game game = new Game(this);
        Scanner input = new Scanner(System.in);
        // 外层循环,循环一次级别晋一级
        for (int i = 0; i < LevelParam.levels.length; i++) {
            // 1、 晋级
            this.levelNo += 1;
            // 2、 晋级后计时清零,积分清零
            this.startTime = System.currentTimeMillis();
            this.curScore = 0;
            // 3、 内层循环,循环一次完成一次字符串的输出、输入、比较
            for (int j = 0; j < LevelParam.levels[levelNo-1].getStrTime(); j++) {
                // 3.1、游戏输出字符串
                String outStr = game.printStr();
                // 3.2、接收用户输入
                String inStr = input.next();
                // 3.3、游戏判断玩家输入是否正确,并输出相应结果信息
                game.printResult(outStr, inStr);
            }
        }