topical media & game development

talk show tell print

lib-flex-animation-code-04-Grid.ax

lib-flex-animation-code-04-Grid.ax (swf ) [ flash ] flex


  package
  {
          
Holds a two-dimensional array of Nodes methods to manipulate them, start node and end node for finding a path.

  
          public class @ax-lib-flex-animation-code-04-Grid
          {
                  private var _startNode:Node;
                  private var _endNode:Node;
                  private var _nodes:Array;
                  private var _numCols:int;
                  private var _numRows:int;
                  
                  
Constructor.

  
                  public function @ax-lib-flex-animation-code-04-Grid(numCols:int, numRows:int)
                  {
                          _numCols = numCols;
                          _numRows = numRows;
                          _nodes = new Array();
                          
                          for(var i:int = 0; i < _numCols; i++)
                          {
                                  _nodes[i] = new Array();
                                  for(var j:int = 0; j < _numRows; j++)
                                  {
                                          _nodes[i][j] = new Node(i, j);
                                  }
                          }
                  }
                  
                  
  

////////////////////////////////

// public methods

////////////////////////////////

Returns the node at the given coords.
parameter: x The x coord.
parameter: y The y coord.

  
                  public function getNode(x:int, y:int):Node
                  {
                          return _nodes[x][y] as Node;
                  }
                  
                  
Sets the node at the given coords as the end node.
parameter: x The x coord.
parameter: y The y coord.

  
                  public function setEndNode(x:int, y:int):void
                  {
                          _endNode = _nodes[x][y] as Node;
                  }
                  
                  
Sets the node at the given coords as the start node.
parameter: x The x coord.
parameter: y The y coord.

  
                  public function setStartNode(x:int, y:int):void
                  {
                          _startNode = _nodes[x][y] as Node;
                  }
                  
                  
Sets the node at the given coords as walkable or not.
parameter: x The x coord.
parameter: y The y coord.

  
                  public function setWalkable(x:int, y:int, value:Boolean):void
                  {
                          _nodes[x][y].walkable = value;
                  }
                  
                  
                  
  

////////////////////////////////

// getters / setters

////////////////////////////////

Returns the end node.

  
                  public function get endNode():Node
                  {
                          return _endNode;
                  }
                  
                  
Returns the number of columns in the grid.

  
                  public function get numCols():int
                  {
                          return _numCols;
                  }
                  
                  
Returns the number of rows in the grid.

  
                  public function get numRows():int
                  {
                          return _numRows;
                  }
                  
                  
Returns the start node.

  
                  public function get startNode():Node
                  {
                          return _startNode;
                  }
                  
          }
  }


(C) Æliens 18/6/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.