import java.io.*;
import java.util.*;
class GuessGame{
Player p1; //Player是后面才写的类,但是可以使用(这一点与c/c++的前置声明不同)
Player p2; //用3个实例变量分别表示3个Player对象
Player p3;
public void startGame(){
p1=new Player(); //创建出Player对象
p2=new Player();
p3=new Player();
int guessp1=0; //声明3个变量来保存猜测的数字
int guessp2=0;
int guessp3=0;
boolean p1isRight=false; //声明3个变量来保存是否被猜中
boolean p2isRight=false;
boolean p3isRight=false;
int targetNumber=(int)(Math.random()*10); //产生谜底数字
System.out.println("I'm thingking of a number between 0 and 9...");
while(true){
System.out.println("Number to guess is "+targetNumber);
p1.guess(); //调用Player的guess()方法
p2.guess();
p3.guess();
guessp1=p1.number; //取得每个Player所猜测的数字并将它列出
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 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("Players will have to try again.");
}
}
}
}
class Player{
int number=0; //要被猜的数字
public void guess(){
number=(int)(Math.random()*10); //Math.random()产生的是[0,1)
System.out.println("I'm guessing "+number);
}
}
public class GameLauncher{ //应用程序的入口,整个源程序只有这一个类是声明为public的(GuessGame类和Player类都不能声明为public)
public static void main(String[] args){
GuessGame game=new GuessGame();
game.startGame();
}
}
猜数字游戏
最新推荐文章于 2021-02-28 15:22:29 发布