GuessGame.java
package com.wondersgroup.game;
/**
* 猜数游戏
*
* @author Administrator
*
*/
public class GuessGame {
// 创建3个player对象
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 targetNumber = (int) (Math.random() * 10);
System.out.println("产生的谜底数在0-9之间");
while (true) {
System.out.println("target number is " + targetNumber);
// 调用player的guess()方法
p1.guess();
p2.guess();
p3.guess();
// 取得猜测者猜出的数字
guessp1 = p1.number;
System.out.println("player1 guess" + guessp1);
guessp2 = p2.number;
System.out.println("player2 guess" + guessp2);
guessp3 = p3.number;
System.out.println("player3 guess" + guessp3);
// 检查是否猜中,如果猜中则去设置猜中的变量
if (guessp1 == targetNumber) {
p1isRight = true;
}
if (guessp2 == targetNumber) {
p2isRight = true;
}
if (guessp3 == targetNumber) {
p3isRight = true;
}
// 如果有一个或者多个猜中
if (p1isRight || p2isRight || p3isRight) {
System.out.println("we have a winner");
System.out.println("player1 get it?" + p1isRight);
System.out.println("player2 get it?" + p2isRight);
System.out.println("player3 get it?" + p3isRight);
System.out.println("game is over");
break;
} else {
// 如果没有猜中,游戏继续循环
System.out.println("player have to try again");
}
}
}
}
Player.java
package com.wondersgroup.game;
public class Player {
//要被猜测的数字
int number = 0;
public void guess() {
number = (int) (Math.random()*10);
System.out.println("I guess number" + number);
}
}
GameLaucher.java
package com.wondersgroup.game;
public class GameLaucher {
public static void main(String[] args) {
GuessGame guessGame = new GuessGame();
guessGame.startGame();
}
}