我正在尝试制作一个摇滚纸剪刀游戏。用户输入他们的选择。提示是:
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: ");
}
}
}
现在没有人弄错我,我不是要求任何人给我确切的答案,但我希望有一个正确的方向。
答案 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");
}
}
希望这有帮助。