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