繁体   English   中英

用Java更新/重新分配值

[英]Updating/Reassigning a Value in 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);

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

编辑:四次他们可以在一个游戏阶段最多恢复生命。 因此,一旦他们使用heal命令一次,他们只能使用3次,依此类推。 用户输入一个整数以调用heal命令,在这种情况下,我提示他们做出决定,他们只需输入数字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");
}

}
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM