可以将Human作为方法参数传递给startGame和humanRoll
定义为
public static void startGame(Human human)
public static void humanRoll(Human human)
startGame(h)
.
import java.util.Scanner;
class Main {
//tried to put Human h; up here but didn't work due to static methods
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Computer c = new Computer();
Human h = new Human();
System.out.println("Let's play PIG");
System.out.println("What is your name");
String name = scan.nextLine();
System.out.println("Hello" + " " + name + " " + "you can go first");
startGame(h);
}
public static void startGame(Human h) {
Scanner scan = new Scanner(System.in);
System.out.println("Press r to start your roll");
String rresponse = scan.nextLine();
if (!rresponse.equalsIgnoreCase("R"))
{
System.out.println("Try again");
startGame(h);
}
if (rresponse.equalsIgnoreCase("R"))
{
System.out.println("You pressed r, lets roll");
humanRoll(h);
}
}
public static void humanRoll(Human h)
{
//RollNumh is just the dice number that the player rolled
if (h.getRollNumh() == 1)
{
System.out.println(name + " " + "you got a " + h.getRollNumh);
System.out.println("You got a score of" + h.getHumanTurnScore() + "this turn");
System.out.println("Here is your current overall score" + h.getOverallHumanOverallScore());
System.out.println("Your rolled a one, now its the Computers' turn");
switchHuman();
}
}
}