猜数字游戏
摘要
这个游戏涉及到game与player两个对象. game会产生介于0~9之间的随机数字, 而三个player对象会猜测该数字.
类
GuessGame.class Player.class GameLauncher.class
程序逻辑:
- GameLauncher 这个类带有main()方法, 是应用程序的入口点.
- main()中会创建出GuessGame 对象, 并调用它的stratGame()方法.
- startGame() 方法是游戏的起点. 他会创建三个player, 然后跳出要猜测的随机数字. 他会要求player猜测并检查结果, 过程会被列出来.
GuessGame.java 程序如下:
public class GuessGame {
// 用三个实例变量分别表示3个Player对象
Player p1;
Player p2;
Player p3;
public void startGame(){
// 创建出Player对象
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("I'm thinking of a number between 0 and 9...");
while(true){
System.out.println("Number to guess is " + targetNumber);
// 调用Player的guess()方法
p1.guess();
p2.guess();
p3.guess();
// 取得每个Player所猜测的数字并将它列出
guessp1 = p1.number;
System.out.println("Player one guessed " + guessp1);
guessp2 = p2.number;
System.out.println("Player two guessed " + guessp2);
guessp3 = p3.number;
System.out.println("Player three guessed " + 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("Player one got is right?" + p1isRight);
System.out.println("Player two got is right?" + p2isRight);
System.out.println("Player three got is right?" + p3isRight);
break; //游戏结束,终止循环
} else{
//都没有猜到,所以要继续下去
System.out.println("Players will have to try again.");
} // if/else结束
} //循环结束
} //方法结束
} // 类结束
Player.java 程序如下:
public class Player {
int number = 0; // 要被猜到的数字
public void guess(){
number = (int) (Math.random() * 10);
System.out.println("I'm guessing " + number);
}
}
class GameLauncher{
public static void main(String[] args) {
GuessGame game = new GuessGame();
game.startGame();
}
}