java语言人机对战猜拳游戏
任务是通过控制台方式实现一个人机对战的猜拳游戏,用户通过输入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分,n 局以后通过积分的多少判定胜负。
分为两个类
Mora.java
public class Mora {
private int n;//局数
private int userIntegeral;//用户积分
private int aiIntegeral;//电脑积分
public Mora(int n) {
super();
this.n = n;//可自定义局数
this.userIntegeral = 0;//初始值积分0
this.aiIntegeral = 0;//初始值积分0
}
public int getN() {
return n;
}
public void setN(int n) {
this.n = n;
}
public int getUserIntegeral() {
return userIntegeral;
}
public void setUserIntegeral(int userIntegeral) {
this.userIntegeral = userIntegeral;
}
public int getAiIntegeral() {
return aiIntegeral;
}
public void setAiIntegeral(int aiIntegeral) {
this.aiIntegeral = aiIntegeral;
}
//定义一个方法,开始猜拳
public void startGame() {
Scanner input = new Scanner(System.in);
System.out.println("猜拳游戏开始,总共"+n+"局");
int num = 1;
while(num<=n) {
System.out.println("当前局数是第"+num+"局");
System.out.println("用户输入(1.剪刀 2.石头 3.布)");
int userMora = input.nextInt();
if(userMora>3 || userMora<1) {
System.out.println("输入有误,重新输入!");
continue;
}
System.out.println("用户输入:");
switch(userMora) {
case 1:
System.out.println("剪刀");
break;
case 2:
System.out.println("石头");
break;
case 3:
System.out.println("布");
break;
}
//电脑输入
int aiMora = (int)(Math.random()*3+1);
System.out.println("电脑输入的是:");
switch(aiMora) {
case 1:
System.out.println("剪刀");
break;
case 2:
System.out.println("石头");
break;
case 3:
System.out.println("布");
break;
}
//用户和电脑之间比较
if(userMora == aiMora) {
System.out.println("平局\t");
userIntegeral++;
aiIntegeral++;
num++;
}else if((userMora == 1 && aiMora == 3) ||(userMora == 2 && aiMora == 1) ||(userMora == 3 && aiMora == 2)){
num++;
userIntegeral++;
System.out.println("用户得分!");
}else {
num++;
aiIntegeral++;
System.out.println("电脑得分!");
}
System.out.println("最终游戏比分(用户:电脑)是"+userIntegeral+":"+aiIntegeral);
}
//判断最终胜负
if(userIntegeral>aiIntegeral) {
System.out.println("用户获胜!");
}else if(userIntegeral<aiIntegeral) {
System.out.println("电脑获胜!");
}else {
System.out.println("双方平局!");
}
}
}
Test.java
public class Test {
public static void main(String[] args) {
Mora mora = new Mora(3);//定义对象,总共3局
mora.startGame();//开始执行
}
}
执行结果