Generic Grid

by milchreis
♥0 | Line 40 | Modified 2014-04-24 20:19:55 | MIT License
play

ActionScript3 source code

/**
 * Copyright milchreis ( http://wonderfl.net/user/milchreis )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/7MU9
 */

package {
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            
            var stringData:String = "[1,2,3, 1,0,1, 1,0,1, 1,1,1]";
            
            var data:Array = JSON.parse(stringData) as Array; 
            
            
            var grid:Grid = new Grid(3, 4);
            
            grid.data = data;
            
            trace(grid);
            
            trace(grid.getElement(2, 0));
        }
    
    }
}   

internal class Grid
{
   private var _width:uint, _height:uint;
   private var _data:Array;
    
   public function Grid (width: uint, height:uint) 
   {
       _width = width;
       _height = height;
       
       _data = [];
       
       for (var i:uint = 0; i < _height; i++)
           _data[i] = new Array(_width);
   }
   
   public function set data(value:Array):void
   {
       for (var i:uint = 0; i < _height; i++)
           _data[i]= value.slice(i * _width, (i + 1) * _width);
   }
   
   public function toString():String
   {
       return _data.join("\n");
   }
   
   public function getElement(x:uint, y:uint):*
   {
        return _data[y][x];
   }

}

internal const trace:Function = Wonderfl.log;