// 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(); } } } }
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); }
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()); }
public void Should_Bomb() { // Arrange // Act var actual = new MineItem { IsBomb = true, IsCovered = false }; // Assert actual.ToString().Should().Be("*"); }
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(); } } }
public void Should_MineItem_Bomb() { // Arrange char expectValue = '*'; // Act var actualMineItem = new MineItem { IsBomb = true }; // Assert actualMineItem.Value.Should().Be(expectValue); }
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 { }; } } }
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}]"); } } }
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}]"); } } }
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}]"); } } }
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); }