示例#1
0
 public void Test1()
 {
     Data.Cell cell = new Data.Cell(3, 3);
     Assert.IsTrue(cell.CheckNear(2, 3));
     Assert.IsTrue(cell.CheckNear(3, 2));
     Assert.IsTrue(cell.CheckNear(3, 4));
     Assert.IsTrue(cell.CheckNear(4, 3));
     Assert.IsFalse(cell.CheckNear(4, 4));
 }
示例#2
0
 /// <summary>
 /// Обработка нажатия кнопки на поле противника
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void enemyButtonClick(object sender, EventArgs e)
 {
     if (client != null)
     {
         // Приведение типа данных
         CellButton b = (CellButton)sender;
         // Создание клетки
         var cell = new Data.Cell(b.X, b.Y);
         // Выстрелить
         client.Fire(cell);
     }
 }
示例#3
0
        public void Test3(CoreTestData data)
        {
            // Считаем, что координаты неотрицательны
            Assume.That(data.X1 >= 0);
            Assume.That(data.X2 >= 0);
            Assume.That(data.Y1 >= 0);
            Assume.That(data.Y2 >= 0);
            // Тестирование на корректных данных
            Data.Cell cell   = new Data.Cell(data.X1, data.Y1);
            bool      result = cell.CheckNear(data.X2, data.Y2);

            Assert.AreEqual(result, data.Result);
        }
示例#4
0
        /// <summary>
        /// Обработчик нажатия кнопки
        /// </summary>
        /// <param name="sender">Кнопка</param>
        /// <param name="e"></param>
        private void myButtonClick(object sender, EventArgs e)
        {
            try
            {
                // Приведение типа данных
                CellButton b = (CellButton)sender;
                // Проверить корректность размещения корабля
                if (!game.My.CheckAround(b.X, b.Y))
                {
                    return;
                }
                // Расстановка кораблей
                switch (cells)
                {
                case 1:     // Однопалубный корабль
                    // Покрасить кнопку-корабль
                    b.BackColor = Color.OrangeRed;
                    // Отлипнуть кнопку
                    ship1.Checked = false;
                    // Создать корабль
                    game.My.AddShip1(b.X, b.Y);
                    // Возврат в основной режим
                    cells = 0;
                    break;

                case 2:     // Двухпалубный корабль
                    if (cell == null)
                    {
                        // Запомнить первую клетку
                        b.BackColor    = Color.ForestGreen;
                        cell           = new Data.Cell(b.X, b.Y);
                        cell.CellState = Data.State.Alive;
                    }
                    else if (!cell.CheckNear(b.X, b.Y))
                    {
                        // Нажата некорректная вторая клетка
                        return;
                    }
                    else
                    {
                        // Покрасить первую кнопку-корабль
                        getButton(cell.X, cell.Y, true).BackColor = Color.OrangeRed;
                        // Покрасить вторую кнопку-корабль
                        b.BackColor = Color.OrangeRed;
                        // Отлипнуть кнопку
                        ship2.Checked = false;
                        // Добавить двухпалбный корабль
                        game.My.AddShip2(cell, b.X, b.Y);
                        // Сброс отмеченной клетки
                        cell = null;
                        // Возврат в основной режим
                        cells = 0;
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, null, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }