head first上教材上一个java的小游戏
1 class GuessGame{ 2 Player p1; 3 Player p2; 4 Player p3;//如果用public class GuessGame会报错? 5 6 public void startGame(){ 7 p1 = new Player(); 8 p2 = new Player(); 9 p3 = new Player(); 10 11 int guessp1 = 0; 12 int guessp2 = 0; 13 int guessp3 = 0; 14 15 boolean p1isRight = false; 16 boolean p2isRight = false; 17 boolean p3isRight = false; 18 19 int targetNumber = (int) (Math.random() * 10);/*调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。*/ 20 System.out.println("I'm thinking of a number bertween 0 and 9..."); 21 22 while(true){ 23 System.out.println("Number to guess is " + targetNumber); 24 25 p1.guess(); 26 p2.guess(); 27 p3.guess(); 28 29 guessp1 = p1.number; 30 System.out.println("Player one guessed" + guessp1); 31 32 guessp2 = p2.number; 33 System.out.println("Player two guessed" + guessp2); 34 35 guessp3 = p3.number; 36 System.out.println("Player three guessed" + guessp3); 37 38 if(guessp1 == targetNumber){ 39 p1isRight = true; 40 } 41 if(guessp2 == targetNumber){ 42 p2isRight = true; 43 } 44 if(guessp3 == targetNumber){ 45 p3isRight = true; 46 } 47 48 if(p1isRight || p2isRight || p3isRight){ 49 System.out.println("We have a winner!"); 50 System.out.println("Player one got it right?" + p1isRight); 51 System.out.println("Player two got it right?" + p2isRight); 52 System.out.println("Player three got it right?" + p3isRight); 53 System.out.println("Game is over."); 54 break; 55 }else{ 56 System.out.println("Player will have to try again."); 57 } 58 } 59 } 60 } 61 62 class Player{ 63 int number = 0; 64 65 public void guess(){ 66 number = (int) (Math.random() * 10); 67 System.out.println("I'm guessing" + number); 68 } 69 } 70 71 public class test{ 72 public static void main(String[] args) { 73 GuessGame game = new GuessGame(); 74 game.startGame(); 75 } 76 }
//系统随机生成一个数,程序猜三个数,猜对至少一个退出,否则继续。

浙公网安备 33010602011771号