Exemple #1
0
    // Update is called once per frame
    void Update()
    {
        done = gameObject.GetComponent <Generate>().done;
        if (Input.GetMouseButtonDown(0) && !done)
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out RaycastHit hit))
            {
                MineItem m = hit.collider.gameObject.GetComponent <MineItem>();
                if (m)
                {
                    m.dig();
                }
            }
        }
        if ((Input.GetMouseButtonDown(1) || Input.GetKeyDown(KeyCode.Space)) && !done)
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out RaycastHit hit))
            {
                MineItem m = hit.collider.gameObject.GetComponent <MineItem>();
                if (m)
                {
                    m.flag();
                }
            }
        }
    }
Exemple #2
0
        public void Should_EndGame()
        {
            MineItem[,] expect = new MineItem[3, 3]
            {
                {
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                },
            };

            // Act
            var mineMap = new MineMap(3, 3);

            mineMap.MineItems[0, 0].IsBomb = true;

            mineMap.GenerateCountNearBombs();
            //mineMap.Click(2, 2);

            //mineMap.Click(0, 0);

            for (int j = 0; j < 3; j++)
            {
                for (int i = 0; i < 3; i++)
                {
                    mineMap.Click(i, j);
                }
            }
            // Assert
            mineMap.CheckEndGame().Should().Be(true);
        }
Exemple #3
0
        public void Should_NearBombsCount(int count)
        {
            // Arrange

            // Act
            var actual = new MineItem {
                IsBomb = false, NearBombsCount = count, IsCovered = false
            };

            // Assert
            actual.ToString().Should().Be(count.ToString());
        }
Exemple #4
0
        public void Should_Bomb()
        {
            // Arrange

            // Act
            var actual = new MineItem {
                IsBomb = true, IsCovered = false
            };

            // Assert
            actual.ToString().Should().Be("*");
        }
Exemple #5
0
 public void activate(Vector2 start, bool poly, Vector3 start3)
 {
     activated = true;
     for (int k = 0; k < bombCount;)
     {
         if (poly)
         {
             int      r         = Random.Range(0, listItems.Count);
             MineItem rMI       = ((GameObject)listItems[r]).GetComponent <MineItem>();
             bool     nearStart = false;
             foreach (GameObject n in rMI.getNeighbors())
             {
                 if (n.transform.localPosition == start3)
                 {
                     nearStart = true;
                 }
             }
             if (!rMI.isBomb && rMI.transform.localPosition != start3 && !nearStart)
             {
                 rMI.isBomb = true;
                 ((GameObject)listItems[r]).name += " B";
                 k++;
             }
         }
         else
         {
             int      r    = Random.Range(0, colCount * rowCount);
             MineItem rMI  = allItems[r].GetComponent <MineItem>();
             Vector2  diff = rMI.loc - start;
             if (!rMI.isBomb && !(Mathf.Abs(diff.x) < 3 && Mathf.Abs(diff.y) < 3))
             {
                 rMI.isBomb        = true;
                 allItems[r].name += " B";
                 k++;
             }
         }
     }
     if (poly)
     {
         foreach (Object s in listItems)
         {
             ((GameObject)s).GetComponent <MineItem>().SetNumber();
         }
     }
     else
     {
         foreach (GameObject s in allItems)
         {
             s.GetComponent <MineItem>().SetNumber();
         }
     }
 }
Exemple #6
0
        public void Should_MineItem_Bomb()
        {
            // Arrange
            char expectValue = '*';

            // Act
            var actualMineItem = new MineItem {
                IsBomb = true
            };

            // Assert
            actualMineItem.Value.Should().Be(expectValue);
        }
Exemple #7
0
        public void Should_MineItem_Not_Bomb_Showing_Number()
        {
            // Arrange
            char expectValue = '1';

            // Act
            var actualMineItem = new MineItem
            {
                IsBomb         = false,
                NearBombsCount = 1
            };

            // Assert
            actualMineItem.Value.Should().Be(expectValue);
        }
        public MineMap(int width, int height)
        {
            Width  = width;
            Height = height;

            _mineItems = new MineItem[Height, Width];

            for (int j = 0; j < Height; j++)
            {
                for (int i = 0; i < Width; i++)
                {
                    _mineItems[j, i] = new MineItem {
                    };
                }
            }
        }
Exemple #9
0
 public MineItemViewModel(MineItem mineItem)
 {
     MineItem       = mineItem;
     ButtonText     = MineItem.ToString();
     ClickedCommand = new DelegateCommand(_ => { ButtonText = "test"; });
 }
 public MineItemView(MineItem mineItem)
 {
     InitializeComponent();
     DataContext = new MineItemViewModel(mineItem);
 }
        public static void SendSlotbars(GameSession gameSession)
        {
            var player      = gameSession.Player;
            var gameHandler = gameSession.Client;

            var counterValue = 0;

            var categories       = new List <SlotbarCategoryModule>();
            var slotbarItemsTest = new List <SlotbarQuickslotItem>
            {
                new SlotbarQuickslotItem(1, "ammunition_laser_ucb-100"),
                new SlotbarQuickslotItem(2, "ammunition_laser_rsb-75"),
                new SlotbarQuickslotItem(3, "ammunition_laser_mcb-50"),
                new SlotbarQuickslotItem(4, "ammunition_laser_ucb-100"),
                new SlotbarQuickslotItem(5, "ammunition_laser_sab-50"),
                new SlotbarQuickslotItem(6, "ammunition_mine_smb-01"),
                new SlotbarQuickslotItem(7, "equipment_extra_cpu_ish-01"),
                new SlotbarQuickslotItem(8, "ammunition_specialammo_emp-01"),
            };

            var premium = new List <SlotbarQuickslotItem>
            {
                new SlotbarQuickslotItem(1, "drone_formation_f-3d-rg"),
                new SlotbarQuickslotItem(2, "drone_formation_f-10-cr"),
                new SlotbarQuickslotItem(3, "drone_formation_f-09-mo")
            };


            var slotbars = new List <SlotbarQuickslotModule>
            {
                new SlotbarQuickslotModule("standardSlotBar", slotbarItemsTest, "50,85|0,40", "0", true),
                new SlotbarQuickslotModule("premiumSlotBar", premium, "50,85|0,80", "0", true)
            };
            var items = new List <SlotbarCategoryItemModule>();

            //LASERS
            var maxCounter = 1000;

            foreach (var itemId in ItemStorage.LaserIds)
            {
                var item = new LaserItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                try
                {
                    item.CounterValue = player.Hangar.Configurations[player.CurrentConfig].Consumables[itemId].Amount;
                }
                catch (Exception)
                {
                    item.CounterValue = 0;
                }

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("lasers", items));

            //ROCKETS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 200;
            foreach (var itemId in ItemStorage.RocketIds)
            {
                var item = new RocketItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("rockets", items));

            //ROCKET LAUNCHER
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 200;
            foreach (var itemId in ItemStorage.RocketLauncherIds)
            {
                var item = new RocketLauncherItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("rocket_launchers", items));

            //SPECIAL ITEMS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 100;
            foreach (var itemId in ItemStorage.SpecialItemsIds)
            {
                var item = new SpecialItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                try
                {
                    item.CounterValue = player.Hangar.Configurations[player.CurrentConfig].Consumables[itemId].Amount;
                }
                catch (Exception)
                {
                    item.CounterValue = 0;
                }

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("special_items", items));

            //MINES
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 100;
            foreach (var itemId in ItemStorage.MinesIds)
            {
                var item = new MineItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("mines", items));

            //CPUS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in ItemStorage.CpusIds)
            {
                //TODO
            }
            categories.Add(new SlotbarCategoryModule("cpus", items));

            //BUY NOW
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in ItemStorage.BuyNowIds)
            {
                var item = new BuyItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("buy_now", items));

            //TECH ITEMS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in ItemStorage.TechIds)
            {
                var item = new TechItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("tech_items", items));

            //SHIP ABILITIES
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in ItemStorage.ShipAbilitiesIds)
            {
                var item = new ShipAbilityItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("ship_abilities", items));

            //DRONE FORMATION
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in ItemStorage.FormationIds)
            {
                var item = new FormationItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                player.SlotbarItems[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("drone_formations", items));

            gameHandler.Send(new SlotbarsCommand(categories, "50,85", slotbars).getBytes());
        }
        public void Should_Generated_All_Near_Bombs_Count()
        {
            // Arrange
            var expectedMineItems = new MineItem[9, 9]
            {
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
            };

            var actualMineMap = new MineMap(9, 9);

            actualMineMap[1, 2].IsBomb = true;
            actualMineMap[1, 7].IsBomb = true;
            actualMineMap[3, 4].IsBomb = true;
            actualMineMap[3, 7].IsBomb = true;
            actualMineMap[4, 0].IsBomb = true;
            actualMineMap[4, 4].IsBomb = true;
            actualMineMap[5, 2].IsBomb = true;
            actualMineMap[5, 6].IsBomb = true;
            actualMineMap[7, 1].IsBomb = true;
            actualMineMap[7, 4].IsBomb = true;


            // Act
            actualMineMap.GenerateAllNearBombsCount();

            // Assert
            for (int j = 0; j < actualMineMap.Height; j++)
            {
                for (int i = 0; i < actualMineMap.Width; i++)
                {
                    actualMineMap[j, i].Value.Should().Be(expectedMineItems[j, i].Value, $"[{j}, {i}]");
                }
            }
        }
Exemple #13
0
        public void Should_GenerateCountNearBombs2()
        {
            // arrange
            MineItem[,] expect = new MineItem[5, 5]
            {
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
            };

            // act
            var mineMap = new MineMap(5, 5);

            mineMap.MineItems[0, 3].IsBomb = true;
            mineMap.MineItems[1, 2].IsBomb = true;
            mineMap.MineItems[3, 1].IsBomb = true;
            mineMap.MineItems[3, 2].IsBomb = true;

            mineMap.GenerateCountNearBombs();

            // assert
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    mineMap.MineItems[i, j].ToString().Should().Be(expect[i, j].ToString(), $"[{i}, {j}]");
                }
            }
        }
Exemple #14
0
        public void Should_Click2()
        {
            MineItem[,] expect = new MineItem[5, 5]
            {
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1, IsCovered = false
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 3
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = true
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
                {
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 2
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 1
                    },
                    new MineItem {
                        IsBomb = false, NearBombsCount = 0
                    }
                },
            };

            // Act
            var mineMap = new MineMap(5, 5);

            mineMap.MineItems[0, 3].IsBomb = true;
            mineMap.MineItems[1, 2].IsBomb = true;
            mineMap.MineItems[3, 1].IsBomb = true;
            mineMap.MineItems[3, 2].IsBomb = true;

            mineMap.GenerateCountNearBombs();

            int y = 0;
            int x = 1;

            mineMap.Click(y, x);
            //mineMap.MineItems[y,x].ToString().Should().Be(expect[y, x].ToString(), $"[{y}, {x}]");

            // assert
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    mineMap.MineItems[i, j].ToString().Should().Be(expect[i, j].ToString(), $"[{i}, {j}]");
                }
            }
        }
Exemple #15
0
        public List <SlotbarCategoryModule> GetCategories(Player player)
        {
            var counterValue = 0;

            var categories = new List <SlotbarCategoryModule>();
            var items      = new List <SlotbarCategoryItemModule>();

            //LASERS
            var maxCounter = 1000;

            foreach (var itemId in Items.LaserIds)
            {
                if (!player.Information.Ammunitions.ContainsKey(itemId))
                {
                    continue;
                }
                var ammo = player.Information.Ammunitions[itemId];

                var item = new LaserItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.CounterValue = ammo.Get();

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("lasers", items));

            //ROCKETS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 200;
            foreach (var itemId in Items.RocketIds)
            {
                if (!player.Information.Ammunitions.ContainsKey(itemId))
                {
                    continue;
                }
                var ammo = player.Information.Ammunitions[itemId];

                counterValue = ammo.Get();

                var item = new RocketItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("rockets", items));

            //ROCKET LAUNCHER
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 200;
            foreach (var itemId in Items.RocketLauncherIds)
            {
                var item = new RocketLauncherItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("rocket_launchers", items));

            //SPECIAL ITEMS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 100;
            foreach (var itemId in Items.SpecialItemsIds)
            {
                var item = new SpecialItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.CounterValue = 100;

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("special_items", items));

            //MINES
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 100;
            foreach (var itemId in Items.MinesIds)
            {
                var item = new MineItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("mines", items));

            //CPUS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 100;
            foreach (var itemId in Items.CpusIds)
            {
                var item = new CpuItem(
                    itemId,
                    counterValue,
                    maxCounter,
                    null,
                    1,
                    false,
                    false
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("cpus", items));

            //BUY NOW
            //items = new List<SlotbarCategoryItemModule>();
            //maxCounter = 0;
            //foreach (var itemId in Items.BuyNowIds)
            //{
            //    var item = new BuyItem(
            //        itemId,
            //        counterValue,
            //        maxCounter
            //    );

            //    item.Create();
            //    items.Add(item.Object);
            //    _items[item.ClickedId] = item;
            //}
            //categories.Add(new SlotbarCategoryModule("buy_now", items));

            //TECH ITEMS
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 99;
            foreach (var itemId in Items.TechIds)
            {
                var item = new TechItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                item.CounterValue = 99;
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("tech_items", items));

            //SHIP ABILITIES
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in Items.ShipAbilitiesIds)
            {
                var item = new ShipAbilityItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("ship_abilities", items));

            //DRONE FORMATION
            items      = new List <SlotbarCategoryItemModule>();
            maxCounter = 0;
            foreach (var itemId in Items.FormationIds)
            {
                var item = new FormationItem(
                    itemId,
                    counterValue,
                    maxCounter
                    );

                item.Create();
                items.Add(item.Object);
                _items[item.ClickedId] = item;
            }
            categories.Add(new SlotbarCategoryModule("drone_formations", items));

            return(categories);
        }