java.人机猜拳游戏
人机猜拳,这里我们定义输入0是剪刀,1是石头,2是布。电脑的数字为随机产生,可以用Random。 采用三局制。三局中每一小局中都有输出显示小局的获胜方三局比赛结束后,若电脑获胜次数等于玩家,则输出:平局,比赛结束;若电脑获胜次数大于玩家,则输出:电脑获胜,游戏结束 ;若电脑获胜次数小于玩家,则输出:玩家获胜,游戏结束
import java.util.Scanner;
import java.util.Random;
public class 作业选择循环练习 {
private static String Check(int x, int ComputerRandoms) {
if (x == ComputerRandoms) {
return "平局";
} else if ((x == 0 && ComputerRandoms == 2) ||
(x == 1 && ComputerRandoms == 0) ||
(x == 2 && ComputerRandoms == 1)) {
return "玩家获胜";
} else {
return "电脑获胜";
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//用户输入
Random random = new Random();//电脑随机产生数字
int playerwin = 0;
int computerwin = 0;
for (int i = 0; i < 3; i++) {
int x;//玩家输入
System.out.println("请输入0:剪刀,1:石头,2:布");
x = sc.nextInt();
//验证玩家的输入
if (x < 0 || x > 2) {
System.out.println("请重新输入");
continue;//如果重新输入错误,玩家将重新进行这一局
}
int ComputerRandom = random.nextInt(3);//电脑产生随机数
//需要输出电脑输出的结果
System.out.println("你的结果是:" + sc(x) + ",电脑的结果是:" + sc(ComputerRandom));
String result = Check(x, ComputerRandom);//调用方法看看这一局的胜负
System.out.println("这一句结果" + result);
//更新获胜次数
if (result == "玩家获胜") {
playerwin++;
} else if (result == "电脑获胜") {
computerwin++;
}
}
//判断最后的结果并且输出
if (playerwin > computerwin) {
System.out.println("玩家获胜");
} else if (playerwin < computerwin) {
System.out.println("电脑获胜");
} else {
System.out.println("平局");
}
sc.close();
}
private static String sc(int chice)
{
switch(chice){
case 0:
return "剪刀";
case 1:
return "石头";
case 2:
return "布";
default:
return "未知";
}
}
}