Beispiel #1
0
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 public MainForm()
 {
     // Инициализация компонентов дизайнера
     InitializeComponent();
     // Инициализация игры
     game = new Data.Game();
 }
Beispiel #2
0
 /// <summary>
 /// Обработчик события инициализации страницы
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Init(object sender, EventArgs e)
 {
     try
     {
         // Формирование поля
         for (int y = 1; y <= AirBattle.Data.Game.FieldSize; y++)
         {
             for (int x = 1; x <= AirBattle.Data.Game.FieldSize; x++)
             {
                 // Создание новой кнопки
                 CellButton b = new CellButton(x, y)
                 {
                     Width  = 48,
                     Height = 48
                 };
                 // Добавление кнопки в панель
                 panel.Controls.Add(b);
             }
             // Создание литерала
             Literal literal = new Literal()
             {
                 Text = "<br/>"
             };
             // Добавление литерала в панель
             panel.Controls.Add(literal);
         }
         // Загрузка состояния игры из файла
         game = AirBattle.Data.Game.Load(@"C:\GAME.XML");
         // Подсветка кораблей
         foreach (Ship ships in game.My.Ships)
         {
             // Все клетки корабля
             foreach (Cell cell in ships.Cells)
             {
                 foreach (Control c in panel.Controls)
                 {
                     // Проверка на соответствие типу
                     if (!(c is CellButton))
                     {
                         continue;
                     }
                     // Явное приведение типа
                     CellButton b = (CellButton)c;
                     // Проверка на соответствие координат
                     if ((b.X == cell.X) && (b.Y == cell.Y))
                     {
                         // Покрасить кнопку
                         b.BackColor = System.Drawing.Color.Indigo;
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         error.Text = ex.Message;
     }
 }
Beispiel #3
0
 /// <summary>
 /// Загрузка состояния игры
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void loadToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (open.ShowDialog() == DialogResult.OK)
         {
             game = Data.Game.Load(open.FileName);
             // Визуализация данных игры
             foreach (Data.Ship ship in game.My.Ships)
             {
                 foreach (Data.Cell cell in ship.Cells)
                 {
                     getButton(cell.X, cell.Y, true).BackColor = Data.Cell.ShipColor;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Загрузка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
 }