今天咱們來編寫一款猜拳小遊戲java
分析:要求鍵入剪刀,石頭,布,用數字分別表明剪刀,石頭,布。dom
java中有一個Math.random();能夠生成【0,1)之間的隨機數,因此說這裏用1,2,3表明剪刀,石頭,布。 而電腦隨機生成其中一個數字與用戶輸入的數字比較,當輸入錯誤的時候會提示輸入錯誤,請從新輸入。遊戲
每次猜拳有三種可能性,若是電腦贏,電腦積分+10,人的積分不變;it
若是人贏,人積分+10,電腦積分不變;class
若是打成平手,積分不變。import
須要分別定義兩個變量接收積分的變化。變量
最後要將這兩個變量的值作比較。隨機數
import java.util.Scanner;im
public class Problem8 {next
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("歡迎來到猜拳小遊戲");
System.out.println("======================================");
System.out.print("請輸入遊戲回合數:");
int num = scan.nextInt();
int scoreHuman = 0;
int scoreComputer = 0;
int i = 1;
for (; i <= num; i++) {
// System.out.println("======================================");
// System.out.println("第" + i + "回合,你的積分:" + scoreHuman + ",電腦的積分:"
// + scoreComputer);
//
// System.out.println("======================================");
// System.out.print("出拳(1:剪刀,2:石頭,3:布):");
humanFightWithComputer(i, scoreHuman, scoreComputer);// 代替上部分代碼功能
while (num > 0) {
int outFist = scan.nextInt();
int computerOutFist = (int) (Math.random() * 3 + 1);
if (outFist == 1 || outFist == 2 || outFist == 3) {
if (computerOutFist == 1 && outFist == 1) {
System.out.println("你:剪刀");
System.out.println("電腦:剪刀");
System.out.println("平均,積分不變");
scoreHuman += 0;
scoreComputer += 0;
break;
} else if (computerOutFist == 2 && outFist == 1) {
System.out.println("你:剪刀");
System.out.println("電腦:石頭");
System.out.println("電腦贏,積分+10");
scoreHuman += 0;
scoreComputer += 10;
break;
} else if (computerOutFist == 3 && outFist == 1) {
System.out.println("你:剪刀");
System.out.println("電腦:布");
System.out.println("你贏,積分+10");
scoreHuman += 10;
scoreComputer += 0;
break;
} else if (computerOutFist == 1 && outFist == 2) {
System.out.println("你:石頭");
System.out.println("電腦:剪刀");
System.out.println("你贏,積分+10");
scoreHuman += 10;
scoreComputer += 0;
break;
} else if (computerOutFist == 2 && outFist == 2) {
System.out.println("你:石頭");
System.out.println("電腦:石頭");
System.out.println("平局,積分不變");
scoreHuman += 0;
scoreComputer += 0;
break;
} else if (computerOutFist == 3 && outFist == 2) {
System.out.println("你:石頭");
System.out.println("電腦:布");
System.out.println("電腦贏,積分+10");
scoreHuman += 0;
scoreComputer += 10;
break;
} else if (computerOutFist == 1 && outFist == 3) {
System.out.println("你:布");
System.out.println("電腦:剪刀");
System.out.println("電腦贏,積分+10");
scoreHuman += 0;
scoreComputer += 10;
break;
} else if (computerOutFist == 2 && outFist == 3) {
System.out.println("你:布");
System.out.println("電腦:石頭");
System.out.println("你贏,積分+10");
scoreHuman += 10;
scoreComputer += 0;
break;
} else if (computerOutFist == 3 && outFist == 3) {
System.out.println("你:布");
System.out.println("電腦:布");
System.out.println("平局,積分不變");
scoreHuman += 0;
scoreComputer += 0;
break;
}
break;
} else {
System.out.println("出拳錯誤,請從新出拳");
}
}
// if(scoreHuman>scoreComputer){
// System.out.println("======================================");
// System.out.println("大獲全勝!你的積分:"+scoreHuman+",電腦積分:"+scoreComputer);
// System.out.println("======================================");
//
// }else if(scoreHuman==scoreComputer){
// System.out.println("======================================");
// System.out.println("棋逢對手!你的積分:"+scoreHuman+",電腦積分:"+scoreComputer);
// System.out.println("======================================");
// }else{
// System.out.println("======================================");
// System.out.println("不幸敗北!你的積分:"+scoreHuman+",電腦積分:"+scoreComputer);
// System.out.println("======================================");
// }
}
whoWin(scoreHuman, scoreComputer);//代替上部分代碼功能
}
public static void humanFightWithComputer(int i, int scoreHuman,
int scoreComputer) {
System.out.println("======================================");
System.out.println("第" + i + "回合,你的積分:" + scoreHuman + ",電腦的積分:"
+ scoreComputer);
System.out.println("======================================");
System.out.print("出拳(1:剪刀,2:石頭,3:布):");
}
public static void whoWin(int scoreHuman, int scoreComputer) {
if (scoreHuman > scoreComputer) {
System.out.println("======================================");
System.out.println("大獲全勝!你的積分:" + scoreHuman + ",電腦積分:"
+ scoreComputer);
System.out.println("======================================");
} else if (scoreHuman == scoreComputer) {
System.out.println("======================================");
System.out.println("棋逢對手!你的積分:" + scoreHuman + ",電腦積分:"
+ scoreComputer);
System.out.println("======================================");
} else {
System.out.println("======================================");
System.out.println("不幸敗北!你的積分:" + scoreHuman + ",電腦積分:"
+ scoreComputer);
System.out.println("======================================");
}
}
}