標籤:
簡述:遊戲涉及到game和player兩個對象,game會產生介於0-9之間的隨機數
程式邏輯:
- GameLauncher這個類帶有main()方法,是應用程式的進入點
- main()中會建立出GuessGame對象,並調用她的startGame()方法
- startGame()方法是遊戲的起點,它會建立3個player,然後挑出猜測的隨即數字,它會要求player猜測並檢查結果,過程會被列出來
類:
- GameLauncher.class
- GuessGame.class
- Player.class
GameLauncher.class
1 public class Gamelauncher {2 public static void main(String[] args) {3 GuessGame game = new GuessGame();4 game.startGame();5 }6 }
GuessGame.class
1 public class GuessGame{ 2 //用3個執行個體變數分別表示3個player對象 3 Player p1; 4 Player p2; 5 Player p3; 6 public void startGame(){ 7 //建立player對象 8 p1= new Player(); 9 p2 = new Player();10 p3= new Player();11 //定義3個變數來儲存是否猜中12 int guessp1 = 0;13 int guessp2 =0;14 int guessp3 = 0;15 //定義3個變數來儲存猜測的數字16 boolean p1isright = false;17 boolean p2isright =false;18 boolean p3isright =false;19 int tarnum =(int)(Math.random()*30); //產生謎底數字20 System.out.println("i guess 1 to 30");21 while(true)22 {23 System.out.println("number to guess is "+tarnum);24 p1.guess(); //調用Player中guess方法25 p2.guess();26 p3.guess();27 //取得每個player所猜測的數字將其列出28 guessp1 =p1.number;29 System.out.println("one "+guessp1 );30 guessp2 = p2.number;31 System.out.println("two "+guessp2);32 guessp3=p3.number;33 System.out.println("three "+guessp3);34 //檢查是否猜中,35 if (guessp1==tarnum) 36 {37 p1isright=true;38 }39 if (guessp2==tarnum)40 {41 p2isright=true;42 }43 if (guessp3==tarnum)44 {45 p3isright=true;46 }47 //如果猜中一個或者多個...48 if(p1isright||p2isright||p3isright)49 {50 System.out.println("we are a winner");51 System.out.println("one "+p1isright);52 System.out.println("two "+p2isright);53 System.out.println("three "+p3isright);54 System.out.println("game is over"); 55 break; //因為上面while為true,所以會一直執行,直到if語句為真,執行下面的break才會結束迴圈56 }57 else 58 {System.out.println("123");}59 } 60 }61 }
Player.class
1 public class Player {2 int number = 0; //要被猜的數字3 public void guess(){4 number =(int )(Math.random()*30);5 System.out.println("i guessing"+number);6 }7 }
java-猜數字遊戲