Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/mrd/repast/landscape/LandscapeAgent.java


1   /*
2    * Copyright (C) 2002-2003, Mark Diggory
3    *
4    * This file is part of the CAGN model project.
5    *
6    * This program is free software; you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation; either version 2 of the License, or
9    * (at your option) any later version.
10   *
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with this program; if not, write to the Free Software
18   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. License
19   * information is also available at http://www.gnu.org.
20   *
21   */
22  package org.mrd.repast.landscape;
23  
24  import uchicago.src.sim.gui.*;
25  import uchicago.src.sim.engine.Stepable;
26  
27  /** 
28   * Used to supply "standard" methods to Agents
29   * that use the Landscape object.
30   * @author Mark Diggory <mdiggory@latte.harvard.edu>
31   */
32  public abstract class LandscapeAgent implements Stepable, Drawable{
33      
34      /** Constant representing an alive LandscapeAgent in the model. Is used to identify 
35       * live agents on the landscape 
36       */
37      public static final int ALIVE = 0;
38      
39      /** Constant representing a dead LandscapeAgent in the landscape. Is used to reap 
40       * dead agents from the landscape
41       */
42      public static final int DEAD = -1;
43      
44      /** Holds value of property x (the agents location). */
45      protected int x;
46      
47      /** Holds value of property y (the agents location). */
48      protected int y;
49      
50      /** Holds value of property stage. */
51      protected int stage = ALIVE;
52      
53      /** Holds value of property landscape. */
54      protected Landscape landscape;
55      
56      public LandscapeAgent(Landscape landscape){
57          this.landscape = landscape;
58      }
59      
60      /** Abstract step() method must be overridden in Agents that
61       *  extend this class
62       */
63      public abstract void step();
64      
65      /** Abstract draw() method must be overridden in Agents that
66       *  extend this class
67       * @param g graphics object to draw this in.
68       */
69      public abstract void draw(SimGraphics g);
70      
71      /** Setter for property stage.
72       * @param stage New value of property stage.
73       */
74      public void setStage(int stage) {
75          this.stage = stage;
76      }
77      
78      /** Getter for property stage.
79       * @return Value of property stage.
80       */
81      public int getStage() {
82          return stage;
83      }
84      
85      /** Getter for property x.
86       * @return Value of property x.
87       */
88      public int getX() {
89          return this.x;
90      }
91      
92      /** Getter for property y.
93       * @return Value of property y.
94       */
95      public int getY() {
96          return this.y;
97      }
98      
99      /** Setter for property x.
100      * @param x New value of property x.
101      */
102     public void setX(int x) {
103         this.x = x;
104     }
105     
106     /** Setter for property y.
107      * @param y New value of property y.
108      */
109     public void setY(int y) {
110         this.y = y;
111     }
112 
113 }