Beispiel #1
0
        public void AddLayout(int[] values, tile_pos_type type)
        {
            tile_type_layout layout = this.layouts[this.count++];

            layout.type = type;

            for (int i = 0; i < 9; ++i)
            {
                layout.E[i] = values[i];
            }
        }
Beispiel #2
0
        public tile_pos_type GetTileType(int[] spots)
        {
            tile_pos_type result = tile_pos_type.TOP_LEFT_TILE;

            Assert.IsTrue(count == 10);

            for (int i = 0; i < this.count; ++i)
            {
                tile_type_layout layout = this.layouts[i];

                if (IsEqual_PosTile(0, 1, spots, layout) &&
                    IsEqual_PosTile(2, 1, spots, layout) &&
                    IsEqual_PosTile(1, 0, spots, layout) &&
                    IsEqual_PosTile(1, 2, spots, layout))
                {
                    result = layout.type;
                    if (result == tile_pos_type.CENTER_TILE)
                    {
                        if (spots[0] == 0)
                        {
                            result = tile_pos_type.CENTER_TOP_LEFT_TILE;
                        }
                        else if (spots[2] == 0)
                        {
                            result = tile_pos_type.CENTER_TOP_RIGHT_TILE;
                        }
                        else if (spots[6] == 0)
                        {
                            result = tile_pos_type.CENTER_BOTTOM_LEFT_TILE;
                        }
                        else if (spots[8] == 0)
                        {
                            result = tile_pos_type.CENTER_BOTTOM_RIGHT_TILE;
                        }
                    }
                    break;
                }
            }

            //Assert(Result != NULL_TILE);
            return(result);
        }