不了解guessp1和guessp2以及guessp3如何分配p1.number等的代码可以解释一下吗?
public class GuessGame {
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(“I’m thinking of a number between 0 and 9...”);
while(true) {
System.out.println(“Number to guess is “ + targetNumber);
p1.guess();
p2.guess();
p3.guess();
guessp1 = p1.number; //this part is not understood
System.out.println(“Player one guessed “ + guessp1);
guessp2 = p2.number; //this part is not understood
System.out.println(“Player two guessed “ + guessp2);
guessp3 = p3.number; //this part is not understood
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; // game over, so break out of the loop
} else {
// we must keep going because nobody got it right!
System.out.println(“Players will have to try again.”);
} // end if/else
} // end loop of loop
} // end method method end here
} // end class
我在那些我不理解的行前添加了评论?所以请说清楚。
答案 0 :(得分:0)
Class Player显然有一个名为number的变量。它可以在你展示的课程中访问,p1.number,p2.number,p3.number。
答案 1 :(得分:0)
Player类有一个实例变量' number'。此变量保存玩家猜到的数字。您已经创建了三个Player对象:p1,p2和p3。因此,当你说'p1.number'时,你正在访问p1已经猜到的数字播放器,依此类推。
我假设每个玩家的猜测是在实例方法中完成的,猜测()'这是在个别对象p1,p2和p3上调用以获取他们的猜测。
答案 2 :(得分:0)
咆哮: 这是我喜欢称之为“猴子编程”的典型例子。不是你,而是示例代码的来源。 p1,p2和p3也可以称为ITheAuthorAmAMonkey1,ITheAuthorAmAMonkey2和ITheAuthorAmAMonkey3,因为这两组名称具有同等意义(在这种情况下,没有意义)。
答案: p1,p2和p3是游戏的三个独立玩家。您评论的三行是游戏引擎按顺序检索每个玩家对该数字的猜测。玩家p1猜测,然后玩家p2猜测,然后玩家p3猜测。
代码p1.guess()
指示玩家p1进行猜测。作为响应,玩家p1将猜测存储在名为number
的类成员变量中。代码guessp1 = p1.number
是游戏引擎检索玩家p1的猜测并将其存储在名为guessp1
的局部变量中。
答案 3 :(得分:0)
播放器是一个对象,我假设guess()是播放器对象中的一个方法,它生成1到10之间的随机数,并将其保存在播放器的数字变量中,就像生成了targetNumber一样。然后p1.number等调用为该特定播放器生成的数字进行比较