Ejemplo n.º 1
0
        public void Update(GameTileState state)
        {
            lastValue = nextValue;
            lastTop   = nextTop;
            lastLeft  = nextLeft;

            nextValue = state.GetValue();

            nextTop  = (GameControl.TileSize + GameControl.TilePadding) * state.GetRow();
            nextLeft = (GameControl.TileSize + GameControl.TilePadding) * state.GetColumn();

            step = 0;
        }
Ejemplo n.º 2
0
        private static void SpawnTile(PoweredTile[,] board)
        {
            List <GameTileState> holes = new List <GameTileState>();

            for (int i = 0; i < board.GetLength(0); i++)
            {
                for (int j = 0; j < board.GetLength(0); j++)
                {
                    if (board[i, j] == null)
                    {
                        holes.Add(new GameTileState(0, i, j));
                    }
                }
            }

            if (holes.Count > 0)
            {
                Random random = new Random();

                GameTileState hole = holes[random.Next(holes.Count)];

                board[hole.GetRow(), hole.GetColumn()] = new PoweredTile(new GameTile(), random.NextDouble() < 0.9 ? 1 : 2);
            }
        }
Ejemplo n.º 3
0
 private static GameTileState RotateClockwise(GameTileState tileState, int size)
 {
     return(new GameTileState(tileState.GetPower(), size - 1 - tileState.GetColumn(), tileState.GetRow()));
 }