Esempio n. 1
0
		public void updateListCanMove()
		{
		    blockCanMoves.Clear ();
			for (int i = 0; i < 8; i++) {
				for (int j = 0; j < 8; j++) {
					BlockCanMove block = checkCanMove(i, j, i + 1, j);
					if (block != null) {
						blockCanMoves.Add(block);
					}
					block = checkCanMove(i, j, i, j + 1);
					if (block != null) {
						blockCanMoves.Add(block);
					}
				}
			}
		}
Esempio n. 2
0
		private BlockCanMove checkCanMove(int x1, int y1, int x2, int y2) {
			if(this.blocks[x1,y1] == this.blocks[x1,y1]
			{
			    return null;
			}

			if(x2 > 8 || y2 >8)
            {
                return null;
            }

            //swap
            this.swapBlock(x1,y1,x2,y2);

            BlockNeedCheck block1 = new BlockNeedCheck(x1,y1));
            BlockNeedCheck block2 = new BlockNeedCheck(x2,y2));

            int H1 = block1.left + block1.right -1;
            int V1 = block1.top + block1.bottom -1;

            int H2 = block2.left + block2.right -1;
            int V2 = block2.top + block2.bottom -1;
            int point = 0;
            if(V1 > 3 || H1 > 3)
            {
                point+=1;
            }

            if(V1 > 3 || H1 > 3)
            {
                point+=1;
            }

            if(H1>4 || V1>4 )
            {
               point+=1;
            }

            if(H2>4 || V2>4 )
            {
               point+=1;
            }

            if(H1>5 || V1>5 )
            {
               point+=1;
            }

            if(H2>5 || V2>5 )
            {
               point+=1;
            }


            //Re swap
            this.swapBlock(x1,y1,x2,y2);
            if(point > 0)
            {
                BlockCanMove blockCanMove = new BlockCanMove();
                blockCanMove.x1 = x1;
                blockCanMove.y1 = y1;
                blockCanMove.x2 = x2;
                blockCanMove.y2 = y2;
                blockCanMove.point = point;

                return blockCanMove;
            }
            else
            {
                return null;
            }
		}