Day14學習進度
- 練習一
- <輸入文字的猜拳小游戲>

玩家的類檔案,接收玩家輸入的石頭剪刀布
import java.util.Scanner; /接收鍵盤輸入
public class day14_01 {
String Play1="玩家";
int fen=0; /記錄分數
public String chuquan(){ /添加帶回傳值的方法,玩家出拳
Scanner a=new Scanner(System.in);
System.out.print("請輸入你要出的拳:");
String temp=a.next(); /用于接收玩家輸入的文字
return temp; /回傳玩家輸入的文字
}
}
電腦的類檔案,接收電腦隨機的石頭剪刀布
public class day14_02 {
String Npc="電腦";
int fen=0; /記錄分數
public String chuquan(){ /添加帶回傳值的方法,電腦出拳
int a=1+(int)(Math.random()*3); /亂數字1-3;
String chu="0";
switch (a){ /switch結構
case 1: /如果亂數是1,就回傳石頭
chu="石頭";
break;
case 2: /如果亂數是2,就回傳剪刀
chu="剪刀";
break;
case 3: /如果亂數是3,就回傳布
chu="布";
break;
}
System.out.println("電腦出的是:"+chu);
return chu; /回傳電腦的文字
}
}
裁判的類檔案,判斷輸贏和得分
public class day14_03 {
String Peferee="裁判";
public void pd(String wj,String dn,day14_01 a,day14_02 b){ /添加判斷輸贏并定義引數的方法,引數用來記錄得分
/用if結構判斷輸贏,第一個if判斷玩家獲勝的3種可能
if((wj.equals("石頭")&&dn.equals("剪刀"))||(wj.equals("剪刀")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("石頭"))){
System.out.println("玩家獲勝!得分+1");
a.fen+=1; /玩家得分+1
/第二個else if判斷電腦獲勝的3種可能
}else if((wj.equals("剪刀")&&dn.equals("石頭"))||(wj.equals("石頭")&&dn.equals("布"))||(wj.equals("布")&&dn.equals("剪刀"))){
System.out.println("電腦獲勝!得分+1");
b.fen+=1; /電腦得分+1
/第三個else是玩家和電腦都沒獲勝,那就是平局了
}else{
System.out.println("平局!");
}
System.out.println("玩家/電腦:\t"+a.fen+"/"+b.fen);
}
}
游戲的類檔案,用來進行游戲和記錄得分
public class day14_04 {
String Game="游戲";
String starGame="開始游戲";
public void ks(){ /添加開始游戲的方法
System.out.println(starGame);
day14_01 wj=new day14_01(); /定義玩家的類
day14_02 dn=new day14_02(); /定義電腦的類
day14_03 cp=new day14_03(); /定義裁判的類
for(;;){ /無限回圈,進行猜拳小游戲
String wjq=wj.chuquan(); /呼叫玩家的方法并接識訓傳值
String dnq=dn.chuquan(); /呼叫電腦的方法并接識訓傳值
cp.pd(wjq,dnq,wj,dn); /呼叫裁判的方法,并把接收的回傳值,給裁判,四個分別是,玩家出的拳,電腦出的拳,玩家的分數,電腦的分數
}
}
}
入口檔案,用于開始游戲
public class day14_05 {
public static void main(String[]args){
day14_04 g=new day14_04(); /定義游戲的類
g.ks(); /呼叫游戲的方法
}
}
- 練習二
- <輸入數字的猜拳小游戲>

玩家的類檔案,接收玩家輸入的石頭剪刀布
import java.util.Scanner; /接收鍵盤輸入
public class day14_06 {
String Play1="玩家";
int fen=0; /記錄分數
public int chuquan(){ /添加帶回傳值的方法,玩家出拳
Scanner a=new Scanner(System.in);
System.out.print("請輸入數字\t1:石頭\t2:剪刀\t3:布:");
int temp=a.nextInt(); /用于接收玩家輸入的數字
String chu="1";
switch (temp){ /switch結構
case 1: /如果輸入的是1,就回傳石頭;
chu="石頭";
break;
case 2: /如果輸入的是2,就回傳剪刀;
chu="剪刀";
break;
case 3: /如果輸入的是3,就回傳布;
chu="布";
break;
default:
System.out.println("輸入錯誤,請重新開始");
}
System.out.println("玩家出的是:"+chu);
return temp; /回傳玩家輸入的文字
}
}
電腦的類檔案,接收電腦隨機的石頭剪刀布
public class day14_07 {
String Npc="電腦";
int fen=0; /記錄分數
public int chuquan(){ /寫一個帶回傳值的方法,電腦出拳
int a=1+(int)(Math.random()*3); /亂數字1-3;
String chu="0";
switch (a){ /switch結構
case 1: /如果亂數是1,就列印出的石頭
chu="石頭";
break;
case 2: /如果亂數是2,就列印出的剪刀
chu="剪刀";
break;
case 3: /如果亂數是3,就列印出的布
chu="布";
break;
}
System.out.println("電腦出的是:"+chu);
return a; /回傳電腦隨機的數字
}
}
裁判的類檔案,判斷輸贏和得分
public class day14_08 {
String Peferee="裁判";
public void pd(int wj,int dn,day14_06 a,day14_07 b){ /寫一個判斷輸贏并定義引數的方法,引數用來記錄得分
/用if結構判斷輸贏,第一個if判斷玩家獲勝的3種可能,1是石頭,2是剪刀,3是布
if((wj==1&&dn==2)||(wj==2&&dn==3)||(wj==3&&dn==1)){
System.out.println("玩家獲勝!得分+1");
a.fen+=1; /玩家得分+1
/第二個else if判斷電腦獲勝的3種可能
}else if((wj==2&&dn==1)||(wj==3&&dn==2)||(wj==1&&dn==3)){
System.out.println("電腦獲勝!得分+1");
b.fen+=1; /電腦得分+1
/第三個else是玩家和電腦都沒獲勝,那就是平局了
}else{
System.out.println("平局!");
}
System.out.println("玩家/電腦:\t"+a.fen+"/"+b.fen);
}
}
游戲的類檔案,用來進行游戲和記錄得分
public class day14_09 {
String Game="游戲";
String starGame="開始游戲";
public void ks(){ /寫一個開始游戲的方法
System.out.println(starGame);
day14_06 wj=new day14_06(); /定義玩家的類
day14_07 dn=new day14_07(); /定義電腦的類
day14_08 cp=new day14_08(); /定義裁判的類
for(;;){ /無限回圈,進行猜拳小游戲
int wjq=wj.chuquan(); /呼叫玩家的方法并接識訓傳值
int dnq=dn.chuquan(); /呼叫電腦的方法并接識訓傳值
cp.pd(wjq,dnq,wj,dn); /呼叫裁判的方法,并把接收的回傳值,給裁判,四個分別是,玩家出的拳,電腦出的拳,玩家的分數,電腦的分數
}
}
}
入口檔案,用于開始游戲
public class day14_10 {
public static void main(String[]args){
day14_09 g=new day14_09(); /定義游戲的類
g.ks(); /呼叫游戲的方法
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/224376.html
標籤:其他
