猜拳游戏是一种有趣的游戏,玩家可以通过输入"剪刀"、"石头"或"布"来与电脑进行对战。游戏规则是:
1. 玩家输入"剪刀",如果电脑输入"石头",则玩家获胜,否则电脑获胜。
2. 玩家输入"石头",如果电脑输入"剪刀",则电脑获胜,否则玩家获胜。
3. 玩家输入"布",如果电脑输入"布",则玩家获胜,否则电脑获胜。
下面是一个简单的猜拳游戏实现:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random r =new Random();
boolean play=true;
while (play) {
System.out.println("请输入你的选择:剪刀,石头,布,我要退出游戏:");
String option = sc.next();
// 判断用户输入是否合法,如果不是石头、剪刀或布,则要求重新输入
while (!isValidOption(option)) {
System.out.println("输入无效,请重新输入选择(石头、剪刀,布,我要退出游戏):");
option = sc.next();
}
//退出游戏
if(option.equals("我要退出游戏")){
System.out.println("欢迎你下次再来玩!");
play=false;
break;
}
int computerOptionNumber=r.nextInt(3);
String computerOption ="";
if(computerOptionNumber==0){
computerOption="剪刀";
}else if(computerOptionNumber==1){
computerOption="石头";
}else if(computerOptionNumber==2){
computerOption="布";
}
System.out.println("你的选择 "+option);
System.out.println("电脑的选择 "+computerOption);
if(option.equals(computerOption))
System.out.println("平局");
else if(option.equals("石头")&&computerOption.equals("剪刀")||option.equals("剪刀")&&computerOption.equals("布")||option.equals("布")&&computerOption.equals("石头"))
System.out.println("恭喜你,赢了!");
else
System.out.println("唉,你输了");
}
}
public static boolean isValidOption(String option) {
// 判断用户选择是否为石头、剪刀或布
return option.equals("石头") || option.equals("剪刀") || option.equals("布")||option.equals("我要退出游戏");
1. 首先,导入了所需的类,包括`java.util.Random`和`java.util.Scanner`。
2. 定义了一个名为`Finger_guessing_game`的类,该类包含一个`main`方法,这是程序的入口点。
3. 在`main`方法中,创建了一个`Scanner`对象,用于接收用户输入。
4. 创建了一个`Random`对象,用于生成随机数。
5. 定义了一个布尔变量`play`,用于控制游戏是否继续进行。
6. 使用一个`while`循环来不断执行游戏过程,直到用户选择退出游戏。
7. 在循环中,首先提示用户输入选择,然后调用`isValidOption`方法来检查用户输入是否合法。
8. 如果用户输入不合法,则要求用户重新输入,直到输入合法为止。
9. 如果用户选择退出游戏,则打印欢迎信息,并将`play`变量设置为`false`,表示游戏结束。
10. 如果用户输入合法,则使用`Random`对象生成一个随机数,根据随机数来决定电脑的选择。
11. 打印出用户的选择和电脑的选择。
12. 比较用户选择和电脑选择,判断输赢,并打印相应的结果。
13. 最后,`main`方法返回,程序结束。
14. 定义了一个名为`isValidOption`的方法,用于检查用户输入是否合法。该方法接受一个字符串参数`option`,然后判断该参数是否为"石头"、"剪刀"或"布",如果是,则返回`true`,否则返回`false`。