2

所以我在我的一个新项目中遇到了一种荒谬的困境。我的任务之一是开发一款游戏,玩家可以选择最多可以治愈英雄四次以达到最大生命值。我已经分配了一个健康值,分配了一个命令值,以便它识别玩家何时想要治疗,但我有点卡在如何限制用户只使用治疗命令四次以及如何恢复他们的健康到满。

我正在阅读关于 stackoverflow 的另一篇文章,该文章似乎与我的问题有些相关,尽管我不太清楚如何根据我的需要进行调整。

Scanner sc = new Scanner(System.in);
int number;
do {
    System.out.println("Please enter a positive number!");
    while (!sc.hasNextInt()) {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
} while (number <= 0);
System.out.println("Thank you! Got " + number);

任何建议甚至直接帮助将不胜感激!提前致谢!

编辑:他们在一场比赛中最多可以治愈四次。所以一旦他们使用了一次heal命令,他们只能使用3次,以此类推。用户输入一个整数来调用修复命令,在这种情况下,我提示他们做出决定,他们只需输入数字 0。

4

1 回答 1

0

基本上我从你的问题中可以理解的是,你希望上面的代码最多执行 4 次,即如果用户调用该方法 1 次执行它,2 次执行它等等......但是如果它被调用第五次你不希望代码被执行。
这可以通过维护一个计数器来实现,例如如下所示

public class Q
{

public static void main(String[] n)
{
    Q1 ob =new Q1();
    ob.myMethod();
    System.out.println("One time");

    ob.myMethod();
    System.out.println("two time");

    ob.myMethod();
    System.out.println("three time");

    ob.myMethod();
    System.out.println("Fourth time");

    ob.myMethod();

}
}

如您所见,我已经调用了该方法 5 次。现在让我们看看如何限制用户获取或只调用 4 次方法

class Q1
{
int counter=0;
public void myMethod()
{
    if(counter<4)
    {
        Scanner sc = new Scanner(System.in);
        int number;
        do 
        {
            System.out.println("Please enter a positive number!");
            while (!sc.hasNextInt()) 
            {
        System.out.println("That's not a number!");
        sc.next(); // this is important!
    }
    number = sc.nextInt();
    } while (number <= 0);
    System.out.println("Thank you! Got " + number);
    counter++;
}

else
{
    System.out.println("A maximum of 4 times of healing is allowed");
}

}
 }
于 2012-10-03T05:47:31.737 回答