Guest User

Untitled

a guest
Jun 15th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.conceptualideas.utils{
  2.     /**
  3.     * ...
  4.     * @author Conceptual Ideas 2008
  5.     */
  6.     dynamic public class Grid extends Array{
  7.         private var _cols:Number;
  8.         private var _rows:Number;
  9.         private var _cellHeight:Number
  10.         private var _cellWidth:Number
  11.        
  12.         public function Grid (cols : Number , rows : Number , cellHeight : Number , cellWidth : Number , x : Number , y : Number):void{
  13.             _cols = cols;
  14.             _rows = rows;
  15.             _cellWidth = cellWidth;
  16.             _cellHeight = cellHeight;
  17.             var numCells : Number = cols * rows;
  18.             var curx : Number = x;
  19.             for (var i:Number = 0; i < numCells; i++){
  20.                 this [i] ={
  21.                     x : curx , y : y
  22.                 };
  23.                 curx += cellWidth;
  24.                 if ( !((i + 1) % cols)){
  25.                     curx = x;
  26.                     y += cellHeight;
  27.                 }
  28.             }
  29.         }
  30.         //
  31.         /**
  32.         * The shuffle method will return the array of grid coordinates in a random order.
  33.         *
  34.         * @usage myGrid.shuffle()
  35.         * @return  Void
  36.         */
  37.         public function shuffle () : void{
  38.             var len : Number = this.length;
  39.             var temp : Object = new Object ();
  40.             for (var i:Number = 0; i < len; i++){
  41.                 var rand : Number = Math.floor (Math.random () * len);
  42.                 temp = this [i];
  43.                 this [i] = this [rand];
  44.                 this [rand] = temp;
  45.             }
  46.         }
  47.         // Getters
  48.         public function get columns():Number{
  49.             return _cols;
  50.         }
  51.         public function get rows():Number{
  52.             return _rows;
  53.         }
  54.        
  55.         public function get cellHeight():Number { return _cellHeight; }
  56.        
  57.         public function get cellWidth():Number { return _cellWidth; }
  58.     }
  59. }
Add Comment
Please, Sign In to add comment