Hi Randy, I'm a bit unsure if it helps you, but you can simply subclass /RectanglePortrayal2D/ directly with /CoordinationPlayers/, something like the following code (haven't tested). This way you'll have a /color/ variable (called /paint/) by default. public class CoordinationPlayer extends RectanglePortrayal2D implements Steppable { private static final double DIAMETER = 6.0; public CoordinationPlayer() { super(DIAMETER); paint = (random.nextInt(2) == 0) ? Color.RED : Color.YELLOW; } ... } This way you don't need the magic in the /setupPortroyals()/ function. HTH, Richard -- Richard O. Legendi Software developer Intelligent Applications and Web Services AITIA International, Inc. http://people.inf.elte.hu/legendi/ On 2012.03.19. 14:53, Randolph Latimer wrote: > I'm starting out again with Mason and will appreciate some help with > what I expect are fairly simple questions. > > I'm transferring a Coordination Game model from Ascape to Mason. > The Ascape code is described here, if anyone's interested - > http://ascape.sourceforge.net/manual/Section3.html > > In Mason, I'm using the Schoolyard model as a starter. > In Coordination Game, each agent needs a variable for its color. > I'm trying something like this (I don't think I'm implementing Mason > SimpleColorMap correctly): > > public class CoordinationPlayer implements Steppable > { > //public static final double MAX_FORCE = 3.0; > protected SimpleColorMap colormap = new > SimpleColorMap(0,1,Color.black,Color.white); > public Color color; > public MersenneTwisterFast random = new MersenneTwisterFast(); > > public CoordinationPlayer() > { > if (random.nextInt(2) == 0) > color = Color.red;// colormap.getColor(.2); > else color = Color.yellow; //colormap.getColor(.7); > } > > public Color getColor() > { > return color; > } > > In CoordinationGameWithUI, - the color is displayed here, in this > hybrid code from the Schoolyard model. > I'm trying to set the color with setPortryalForClass, where each class > object has its own color. > This isn't working correctly: > > public void setupPortrayals() > { > CoordinationPlayers students = (CoordinationPlayers) state; > > yardgridPortrayal.setField(students.yardgrid); > I'M TRYING TO SET THE COLOR HERE: > yardgridPortrayal.setPortrayalForClass(CoordinationPlayer.class, > new > RectanglePortrayal2D(CoordinationPlayer.getColor(),true)); //new > > RectanglePortrayal2D(Color.red,true)); > yardgridPortrayal.setPortrayalForNull(new > RectanglePortrayal2D(Color.blue,true)); > > > Thanks for any help - > Randy Latimer