Java初學之(zhī)人(rén)機猜拳遊戲
發表時(shí)間:2019-7-5
發布人(rén):融晨科技
浏覽次數:52
Java初學之(zhī)人(rén)機猜拳遊戲
1、要(yào / yāo)求
11. 任務
a) 完成人(rén)機猜拳互動遊戲的(de)開發
1.2. 主要(yào / yāo)功能
a) 選取對戰角色
b) 猜拳
c) 記錄分數
1.3. 需求說(shuō)明
a) 分析業務
b) 抽象出(chū)類、類的(de)特征和(hé / huò)行爲(wéi / wèi)
1.4. 實現思路:
a) 分析業務,抽象出(chū)類、類的(de)特征和(hé / huò)行爲(wéi / wèi)
import java.util.Scanner;
public class FingerGuess {
static String s;
static Scanner sc = new Scanner(System.in);
static String role[] = {"匿名","吸血鬼","狼人(rén)","變形金剛"};
public static void main(String[] args) {
init();
finger();
}
public static void init() {
System.out.println("-----------------歡迎進入遊戲世界-------------------"+"\n"+"\n");
System.out.println("\t\t"+"*******************");
System.out.println("\t\t"+"** 猜拳開始 **");
System.out.println("\t\t"+"*******************"+"\n");
}
public static void finger() {
int count = 0;//統計猜拳盤數
int integral[] = new int[3];
System.out.println("出(chū)拳規則:1、剪刀 2、石頭 3、布"+"\n");
System.out.print("請爲(wéi / wèi)自己選擇角色(1:吸血鬼 2:狼人(rén) 3、變形金剛):");
int a1 = sc.nextInt();
System.out.println("我選擇的(de)角色是(shì):"+role[a1]);
int a2 = (int)(Math.random()*(4-1)+1);
System.out.println("計算機随機選擇的(de)角色是(shì):"+role[a2]+"\n"+"\n");
System.out.print("要(yào / yāo)開始嗎?(y/n)");
s = sc.next();
// System.out.println(s == "y");
while(s.equals("y")) {
System.out.println("請出(chū)拳:1.剪刀 2.石頭 3.布(輸入相應數字):");
int n1 = sc.nextInt();
String S[] = {"還沒出(chū)呢","剪刀","石頭","布"};
System.out.println("你出(chū)拳:"+S[n1]);
int n2 = (int)(Math.random()*(4-1)+1);
System.out.println("電腦出(chū)拳:"+S[n2]);
if(n1 == n2) {
System.out.println("結果:和(hé / huò)局,真衰!嘿嘿,等着瞧吧!");//平局
}else if(n1==1) {
if(n2==2) {System.out.println("結果(機器):"+role[a1]+"你輸了(le/liǎo)!"); integral[2]++;}//剪刀VS石頭
if(n2==3) {System.out.println("結果(機器):"+role[a1]+"你赢了(le/liǎo)!"); integral[1]++;}//剪刀VS布
}else if(n1==2) {
if(n2==1) {System.out.println("結果(機器):"+role[a1]+"你赢了(le/liǎo)!"); integral[1]++;}//石頭VS剪刀
if(n2==3) {System.out.println("結果(機器):"+role[a1]+"你輸了(le/liǎo)!"); integral[2]++;}//石頭VS布
}else if(n1==3) {
if(n2==1) {System.out.println("結果(機器):"+role[a1]+"你輸了(le/liǎo)!"); integral[2]++;}//布VS剪刀
if(n2==2) {System.out.println("結果(機器):"+role[a1]+"你赢了(le/liǎo)!"); integral[1]++;}//布VS石頭
}
System.out.println("是(shì)否開始下一輪(y/n):");
s = sc.next();
++count;
}
System.out.println("-------------------------------------------------------------------");
System.out.println("(機器)"+role[a2]+" VS "+"(人(rén))"+role[a1]);
System.out.println("對戰次數:"+count);
System.out.println("積分結果:");
System.out.println("(真人(rén))"+role[a1]+":"+integral[1]+"分");
System.out.println("(機器)"+role[a2]+":"+integral[2]+"分");
if(integral[1]>integral[2]) {
System.out.println("最終結果:(真人(rén))"+role[a1]+"獲勝");
}
if(integral[1]<integral[2]) {
System.out.println("最終結果:(機器)"+role[a2]+"獲勝");
}else {
System.out.println("最終結果:平局");
}
}
}
結果截圖: