写一个简单的猜拳游戏 游戏规则如下: 游戏有3个选择 石头0,剪刀1,布2; 玩家自己猜一个数据(只能是0,1,2其中一个) 电脑会随机生成一个 0-2之间的整数 拿电脑生成的和玩家自己输入的进行比较 规则: 玩家是石头 电脑是剪刀 则玩家胜 玩家是剪刀 电脑是布 则玩家胜 玩家是布 电脑是石头 则玩家胜 如果玩家和电脑猜测的相同则表示平局 其他情况表示电脑胜
package cn.itcast.day07.test02;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("石头");
list.add("剪刀");
list.add("布");
while (true) {
System.out.println("=============================");
System.out.println("猜拳游戏开始!");
System.out.print("玩家有三个选择:石头0,剪刀1,布2:");
Scanner sc = new Scanner(System.in);
int chose = sc.nextInt();
if (chose < 0 || chose > 2) {
System.out.println("选择错误,请重试");
continue;
} else {
System.out.println("玩家出的:" + list.get(chose));
System.out.print("我要出啦!");
Random ra = new Random();
int cp = ra.nextInt(3);
System.out.println("电脑出的:" + list.get(cp));
if (cp == chose) {
System.out.println("平局!");
} else if (cp == 1 && chose == 0) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 0 && chose == 2) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 2 && chose == 1) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 2 && chose == 0) {
System.out.println("真可惜,你输了");
} else if (cp == 1 && chose == 2) {
System.out.println("真可惜,你输了");
} else if (cp == 0 && chose == 1) {
System.out.println("真可惜,你输了");
} else {
System.out.println("真可惜,你输了");
}
System.out.print("继续/结束?(任意键继续/输入结束退出): ");
Scanner sc1 = new Scanner(System.in);
String s = sc1.next();
if (s.equals("结束")) {
break;
}
}
}
}
}
对于这种题目 咱们可以一步步来
首先 咱们可以根据题目要求 先把整个规则写出来
比如我们要出 剪刀石头布 可以用Scanner类来键盘录入
然后电脑出石头剪刀布 可以用Random随机数来输出
然后我们定义好这俩个东西之后 可以开始写规则
对于这种规则咱们可以用if else来写
if (cp == chose) {
System.out.println("平局!");
} else if (cp == 1 && chose == 0) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 0 && chose == 2) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 2 && chose == 1) {
System.out.println("恭喜你! 你赢了");
} else if (cp == 2 && chose == 0) {
System.out.println("真可惜,你输了");
} else if (cp == 1 && chose == 2) {
System.out.println("真可惜,你输了");
} else if (cp == 0 && chose == 1) {
System.out.println("真可惜,你输了");
} else {
System.out.println("真可惜,你输了");
}
然后我们可以开始优化代码了
这样子的代码咱们只能运行一次
如果我们想重复多次这个游戏
我们可以在外面套个循环
套一个死循环
然后用特定的语句来操作他们
continue;跳过
break;退出
跳完之后再最后写一个结束的语句
可以按任意键继续
可以按结束键结束
用equals方法来判断输入
最后我们可以创建一个集合
来保存 剪刀 石头 布
让控制台显示的内容不是0 1 2
而是 剪刀石头布
下面是运行结果
=============================
猜拳游戏开始!
玩家有三个选择:石头0,剪刀1,布2:1
玩家出的:剪刀
我要出啦!电脑出的:石头
真可惜,你输了
继续/结束?(任意键继续/输入结束退出): 结束
|
|