在Java中更新/重新分配值

时间:2012-10-03 04:09:30

标签: java

所以我的一个新项目遇到了一种荒谬的困境。我的任务之一是开发一款游戏,玩家可以选择能够最多四次治疗他们的英雄以达到最大生命值。我已经分配了一个健康值,分配了一个命令值,因此它可以识别玩家想要愈合的时间,但我仍然坚持如何限制用户仅使用治疗命令四次以及如何恢复他们的健康状况到了。

我正在阅读有关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);

非常感谢任何建议甚至直接帮助!提前谢谢!

编辑:他们可以在一次游戏中最多治愈4次。因此,一旦他们使用治疗命令一次,他们只能使用它三次,依此类推。用户输入一个整数以便调用heal命令,在这种情况下,我提示他们做出决定,他们只需输入数字0.

1 个答案:

答案 0 :(得分: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次。现在让我们看一下如何限制用户只接受或只调用方法

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");
}

}
 }