岩石剪刀,随机类变量

时间:2018-02-05 00:28:20

标签: java

我正在尝试制作一个摇滚纸剪刀游戏。用户输入他们的选择。提示是:

System.out.print("Type R(ock), P(aper), or S(cissors): ");

所以,r = rock,p = paper,s =剪刀。同样,计算机必须使用Random类选择一个(r,p或s)。

我知道如何为一组数字编码(即选择1到20之间的数字),但我不知道如何设置几个特定的​​字母,在这种情况下是r,p和第

有人可以帮我解释一下吗?

编辑:

这是一个基本上我想要打印的例子:

Type R(ock), P(aper) or S(cissors): **X**
Invalid answer. Re-type R, P or S: **y**
Invalid answer. Re-type R, P or S: **Z**
Invalid answer. Re-type R, P or S: **R**
You played rock. The computer played scissors.

这是我到目前为止所做的:

import java.util.*;

public class RPS {
   public static void main(String[] args); {
      Random piece = new Random();
      System.out.print("Type R(ock), P(aper) or S(cissors): ");
      int r = rock;
      int p = paper;
      int s = scissors;
      char types = {'r', 'p', 's'};
      while (!piece = types) {
         System.out.println("Invalid answer. Re-type R, P or S: ");
      }
   }

}

现在没有人弄错我,我不是要求任何人给我确切的答案,但我希望有一个正确的方向。

1 个答案:

答案 0 :(得分:5)

您需要在数组或列表中存储所需的任何数据,这样每个字母都将被分配一个索引号,然后您可以将其用作生成随机数的参考。

char[] types = {'r','p','s'};
System.out.println(types[new Random().nextInt(types.length)]);

您可以找到有关数组here

的更多信息

修改 如果您不熟悉数组,则可以对每个案例使用if语句

public static void main(String[] args) {

    int rock = 0, paper = 1, scissors = 2;
    Random rand = new Random();
    int random_try = rand.nextInt(3);

    if(random_try == 0){
      System.out.println("Random choice was Rock");
    }
    else if(random_try == 1){
      System.out.println("Random choice was Paper");
    }
    else if(random_try == 2){
      System.out.println("Random choice was Scissors");
    }

  }

希望这有帮助。