public class Player {
public String name;
public boolean active;
public boolean seeker;
public Location randLocation;
public Player(String name, boolean seeker) {
this.name = name;
this.seeker = seeker;
//this.active= true;
//this.randLocation=randLocation;
}
public String getName() {
return name;
}
public boolean isActive() {
return active;
}
public void setActive(boolean active) {
this.active = active;
}
public boolean isSeeker() {
return seeker;
}
public Location getrandLocation() {
Random random = new Random();
randLocation = (Location.values()[random.nextInt(Location.values().length)]);
System.out.println(randLocation);
return randLocation;
}
public void setRandLocation(Location randLocation) {
this.randLocation = randLocation;
}
@Override
public String toString() {
return "Player [name=" + name + ", active=" + active + ", seeker=" + seeker + ", randLocation=" + randLocation
+ "]";
}
public static void main(String[] args) {
Player p1 = new Player("p1", false);
System.out.println(p1);
}
}
where Location is an enumerated set of locations like {BEDROOM, GARDEN, KITCHEN}.etc. When I create a player, and then print out the player, randLocation is always null, i've tried altering the constructer but still no avail. Any help would be useful! Thank you.
Use the following line in your constructor:
this.randLocation=getrandLocation();