//转载请标明作者,禁止商业转载。
//如果某一行没有注释即为功能太简单,懒得注释。
//让电脑自己玩猜字游戏。
//一个文件可以有多个类,但只能有一个主类。
//文件名必须和主类名相同。
public class GameLauncher {
public static void main(String[] args) { //程序执行入口。
GuessGame game = new GuessGame(); //声明对象并申请内存。
game.startGame(); //存取该对象变量。
}
}
public class player {
int number = 0; //声明并初始化。
public void guess() {
number = (int) (Math.random() * 10); //产生随机数。
System.out.println("I'm guessing " + number); //打印。
}
}
public class GuessGame {
player p1; // 声明对象名称与归属类。
player p2; //同上
player p3; //同上
public void startGame() {
p1 = new player(); //为对象申请内存空间
p2 = new player(); //同上
p3 = new player(); //同上
int guessp1 =null; //声明局部变量类型并初始化
int guessp2 = null; //同上
int guessp3 = null; //同上
boolean p1isRight = false; //同上
boolean p2isRight = false; //同上
boolean p3isRight = false; //同上
int targetNumber = (int) (Math.random() * 10); //产生随机数
System.out.println("I m thking of a number between 0 and 9..."); //输出语句
while (true) { //逻辑判断
System.out.println("Number to guess is " + targetNumber);
p1.guess(); // 储存该对象变量
p1.guess(); // 同上
p1.guess(); // 同上
guessp1 = p1.number; //对变量赋值p1对象的变量(变量数值已由另一文件产生)。
System.out.println("player one gueesed " + guessp1); //打印相应语句
guessp2 = p2.number; //对变量赋值p2对象的变量(变量数值已由另一文件产生)。
System.out.println("player one gueesed " + guessp2); //打印相应语句
guessp3 = p3.number; //对变量赋值p3对象的变量(变量数值已由另一文件产生)。
System.out.println("player one gueesed " + 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 it right " + p1isRight);
System.out.println("player two got it right " + p2isRight);
System.out.println("player three got it right " + p3isRight);
System.out.println("game is over.");
break;// 游戏结束,终止循环
} else {
// 都没猜到,所以继续下去。
System.out.println("player will have to try again.");
} // if/else结束
} // 循环结束
}// 方法结束
}// 类结束