Java初學之人機猜拳遊戲
發表時間:2019-7-5
發布人:葵宇科技
浏覽次數:36
Java初學之人機猜拳遊戲
1、要求
11. 任務
a) 完成人機猜拳互動(dòng)遊戲的開發
1.2. 主要功能
a) 選取對戰角色
b) 猜拳
c) 記錄分數
1.3. 需求說明
a) 分析業(yè)務
b) 抽象出類、類的特征和(hé)行為
1.4. 實現思路(lù):
a) 分析業(yè)務,抽象出類、類的特征和(hé)行為
import java.util.Scanner;
public class FingerGuess {
static String s;
static Scanner sc = new Scanner(System.in);
static String role[] = {"匿名","吸血鬼","狼人","變形金剛"};
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("出拳規則:1、剪刀 2、石頭 3、布"+"\n");
System.out.print("請為自己選擇角色(1:吸血鬼 2:狼人 3、變形金剛):");
int a1 = sc.nextInt();
System.out.println("我選擇的角色是:"+role[a1]);
int a2 = (int)(Math.random()*(4-1)+1);
System.out.println("計算機随機選擇的角色是:"+role[a2]+"\n"+"\n");
System.out.print("要開始嗎?(y/n)");
s = sc.next();
// System.out.println(s == "y");
while(s.equals("y")) {
System.out.println("請出拳:1.剪刀 2.石頭 3.布(輸入相應數字):");
int n1 = sc.nextInt();
String S[] = {"還沒出呢(ne)","剪刀","石頭","布"};
System.out.println("你(nǐ)出拳:"+S[n1]);
int n2 = (int)(Math.random()*(4-1)+1);
System.out.println("電腦出拳:"+S[n2]);
if(n1 == n2) {
System.out.println("結果:和(hé)局,真衰!嘿嘿,等着瞧吧!");//平局
}else if(n1==1) {
if(n2==2) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)輸了!"); integral[2]++;}//剪刀VS石頭
if(n2==3) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)赢了!"); integral[1]++;}//剪刀VS布
}else if(n1==2) {
if(n2==1) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)赢了!"); integral[1]++;}//石頭VS剪刀
if(n2==3) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)輸了!"); integral[2]++;}//石頭VS布
}else if(n1==3) {
if(n2==1) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)輸了!"); integral[2]++;}//布VS剪刀
if(n2==2) {System.out.println("結果(機器(qì)):"+role[a1]+"你(nǐ)赢了!"); integral[1]++;}//布VS石頭
}
System.out.println("是否開始下(xià)一輪(y/n):");
s = sc.next();
++count;
}
System.out.println("-------------------------------------------------------------------");
System.out.println("(機器(qì))"+role[a2]+" VS "+"(人)"+role[a1]);
System.out.println("對戰次數:"+count);
System.out.println("積分結果:");
System.out.println("(真人)"+role[a1]+":"+integral[1]+"分");
System.out.println("(機器(qì))"+role[a2]+":"+integral[2]+"分");
if(integral[1]>integral[2]) {
System.out.println("最終結果:(真人)"+role[a1]+"獲勝");
}
if(integral[1]<integral[2]) {
System.out.println("最終結果:(機器(qì))"+role[a2]+"獲勝");
}else {
System.out.println("最終結果:平局");
}
}
}
結果截圖: