コード例 #1
0
ファイル: Tile.cs プロジェクト: OCox1991/Genome
 /// <summary>
 /// Clears the tile, sets all the variables for tile contents to null, sets isBlocked to false.
 /// </summary>
 public void clearTile()
 {
     creature = null;
     plant = null;
     remains = null;
     obstacle = null;
     isBlocked = false;
 }
コード例 #2
0
ファイル: WorldState.cs プロジェクト: OCox1991/Genome
 /// <summary>
 /// Populates the world by adding plants and obstacles
 /// </summary>
 private void populateWorld()
 {
     for (int plantNum = 0; plantNum < Simulation.getPlantPopulation(); plantNum++)
     {
         int[] xy = getRandomClearTile();
         if (xy[0] == -1 && xy[1] == -1)
         {
             throw new Exception("World is full, cannot add any further content");
         }
         else
         {
             Tile t = getTile(xy[1], xy[0]);
             Plant p = new Plant(randomNumberGenerator);
             p.setLocation(xy[0], xy[1]);
             plantList.Add(p);
             t.addPlant(p);
         }
     }
     for (int obstNum = 0; obstNum < Simulation.getNumObstacles(); obstNum++)
     {
         int[] xy = getRandomClearTile();
         if (xy[0] == -1 && xy[1] == -1)
         {
             throw new Exception("World is full, cannot add any further content");
         }
         else
         {
             Tile t = getTile(xy[1], xy[0]);
             Obstacle o = new Obstacle();
             o.setLocation(xy[0], xy[1]);
             t.addObstacle(o);
         }
     }
 }
コード例 #3
0
ファイル: WorldState.cs プロジェクト: OCox1991/Genome
 /// <summary>
 /// Gets a specified tile given a row and column
 /// </summary>
 /// <param name="row">The row of the tile to look at</param>
 /// <param name="col">The column of the tile to look at</param>
 /// <returns>The tile found at the given row and column</returns>
 public Tile getTile(int row, int col)
 {
     Tile t = null;
     if (col < 0 || col > tiles.Length - 1)
     {
         t = new Tile();
         Obstacle o = new Obstacle();
         o.setLocation(col, row);
         t.addObstacle(o);
     }
     else if (row < 0 || row > tiles[col].Length - 1)
     {
         t = new Tile();
         Obstacle o = new Obstacle();
         o.setLocation(col, row);
         t.addObstacle(o);
     }
     else
     {
         t = tiles[col][row];
     }
     return t;
 }
コード例 #4
0
ファイル: Tile.cs プロジェクト: OCox1991/Genome
 /// <summary>
 /// Adds an obstacle to the tile, sets the obstacle variable to the specified obstacle and sets the tile to be blocked
 /// </summary>
 /// <param name="c">The obstacle to add to the tile</param>
 public void addObstacle(Obstacle o)
 {
     obstacle = o;
     isBlocked = true;
 }