【從零學java】猜數字遊戲——了解類與對象
阿新 • • 發佈:2019-02-10
ring == src layer stat 猜數字 false mat think
通過猜數字遊戲,開始了解類和對象。
遊戲概要:產生一個0-9間的隨機數,3個player猜,若有猜中者則遊戲結束,猜不中下一輪繼續猜。
類:GuessGame.class、Player.class、GameLauncher.class
邏輯:
1)GameLauncher作為程序的入口,含有main()方法。
2)main()中創建GuessGame對象,並調用它的startGame()方法。
3)startGame()方法是遊戲的起點,創建3個player,然後猜數,並體現猜數的過程。
3個源文件的代碼如下:
GuessGame.java
public class GuessGame{ Player p1; Player p2; Player p3; public void startGame(){ p1 = new Player(); p2 = new Player(); p3 = new Player(); int guessp1 = 0; int guessp2 = 0; int guessp3 = 0; boolean p1isRight = false; boolean p2isRight = false; boolean p3isRight = false; int resultNum = (int)(Math.random()*10); System.out.println("I‘m thinking of a number between 0 and 9..."); System.out.println("number to guess is "+resultNum); while(true){ p1.guess(); p2.guess(); p3.guess(); guessp1 = p1.number; guessp2 = p2.number; guessp3 = p3.number; if(guessp1 == resultNum){ p1isRight = true; } if(guessp2 == resultNum){ p2isRight = true; } if(guessp3 == resultNum){ p3isRight = true; } System.out.println("player one guessed " + guessp1); System.out.println("player two guessed " + guessp2); System.out.println("player three guessed " + guessp3); if(p1isRight || p2isRight|| p3isRight){ System.out.println("we have a winner!"); System.out.println("one is winner? "+ p1isRight); System.out.println("two is winner? "+ p2isRight); System.out.println("three is winner? "+ p3isRight); System.out.println("Game is over."); break; }else{ System.out.println("try again."); } } } }
Player.java
public class Player{ int number = 0; public void guess(){ number = (int) (Math.random()*10); System.out.println("I guess "+number); } }
GameLauncher.java
public class GameLauncher{ public static void main(String[] args){ GuessGame game = new GuessGame(); game.startGame(); } }
三個文件在同一個目錄下,編譯時,直接編譯帶main()方法的源文件,所有相關的源文件都會被編譯。
執行如下(每次執行都會不一樣,有時會猜好多輪):
要理解的點:
1、如果需要全局變量或者方法時,怎麽辦?
在java的面向對象概念中,並沒有全局變量這回事,有時我們需要
【從零學java】猜數字遊戲——了解類與對象