// CSE 142, Autumn 2009, Marty Stepp // A FratGuy goes to a "party" at a given randomly chosen location. // The class uses static data so that all the frat guys share the // same party location and go to it together. // This second version makes one new party for every 10 frat guys. import java.util.*; public class FratGuy2 extends Critter { // "shared" - one copy shared by all of the frat guys private static int objectCount = 0; private static int partyX = -1; private static int partyY = -1; // fields - replicated in each object private int myNumber; private int myPartyX; private int myPartyY; public FratGuy() { objectCount++; myNumber = objectCount; if (partyX == -1 && partyY == -1 || myNumber % 10 == 1) { // choose a new party location every 10 frat guys Random r = new Random(); partyX = r.nextInt(60); partyY = r.nextInt(50); // System.out.println("Party is at " + partyX + ", " + partyY); } myPartyX = partyX; myPartyY = partyY; } public Direction getMove() { if (getY() != myPartyY) { return Direction.NORTH; } else if (getX() != myPartyX) { return Direction.EAST; } else { // at the party return Direction.CENTER; } } }