43226

Разработка программы реализующей игру «морской бой»

Курсовая

Информатика, кибернетика и программирование

Алгоритмы реализации игры Реализацию программы я начал с того что описал базовый класс который будет содержать поля и методы общие для игрока и компьютерного оппонента назвав его Mtr. В обоих классах есть унаследованное от базового класса Mtr поле life по умолчанию равное 20 количество палуб как только у кого то из соперников оно становится равным 0 на экран выводится соответствующее сообщение о победе одного из игроков. Приложение 1 Некоторые детали программного кода Базовый класс Cmtr хранится в файле Cmtr.h ifndef MTR define...

Русский

2013-11-04

228 KB

86 чел.

PAGE  2

Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

Факультет             Прикладна математика та менеджмент

(повна назва)

Кафедра                  Прикладна математика

(повна назва)

Напрямок   Інформатика

                                  (повна назва)

ПОЯСНЮВАЛЬНА ЗАПИСКА

до курсової роботи з дисципліни Програмування

за темою

“Морський бій”

Виконав:       Перевірив:

студент гр.  ПМ-08-1_______    Любченко В.А.          .

           (шифр групи)                          (посада, ініціали, прізвище)                      

Демерчян К.А.______________    ________________________________

(ініціали, прізвище)       (підпис)   

2009 р.


Х
НУРЭ

(наименование высшего учебного заведения)

Кафедра Информатика

 

Дисциплина Программирование

Специальность Информатика

Курс       1-й____Группа    ПМ-08-1 _____Семестр  ___II_________________ 

З А Д А Н И Е

на курсовой проект (работу) студента

_________________________________________________________

(фамилия, имя, отчество)

1. Тема проекта (работы)    Разработка программы реализующей игру «морской бой»

__________________________________________________________________________________________________________________________________________________________

2. Срок сдачи студентом законченного проекта (работы)      

3. Исходные данные к проекту  (работе)  Работа в Visual studio 2005, методы разработки приложения  

4. Содержание расчётно-пояснительной записки (перечень подлежащих разработке вопросов)

Введение, Среда разработки, Алгоритмы реализации игры, Инструкция пользователя,  

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________

5. Перечень графического материала (с точным указанием обязательных чертежей)    

       

       

6. Дата выдачи задания 


КАЛЕНДАРНЫЙ     ПЛАН

Пор. N

Название этапов курсового проекта (работы)

Срок выполнения этапов проекта (работы)

Примечания

1

Поиск необходимой литературы

01.02 – 28.02

Выполнено

2

Поиск необходимого программного обеспечения

1.03 – 10.03

Выполнено

3

Ознакомление с возможностями

11.03 – 24.03

Выполнено

4

Адаптация программного обеспечения к поставленной задаче

24.03 – 3 1.03

Выполнено

5

Написание программ-примеров

1.04 – 31.05

Выполнено

6

Оформление пояснительной записки

1.06 – 6.06

Выполнено

7

Курсовой проект выполнен

6.06

Выполнено

Студент____________________________            Демерчян К.А.        

                                 (подпись)                                     (фамилия, инициалы)

Руководитель_______________________            Любченко В. А.

                                 (подпись)                                     (фамилия, инициалы)

“_______”_________________2009г.   


РЕФЕРАТ

Курсова робота: 35 с., 5 рис., 1 приложение, 18 джерел.

Работа представляет программную реализацию игры морской бой, на языке программирования C++, с использованием среды разработки Visual Studio 2005, Win Forms.

МОРСКОЙ БОЙ, WIN FORMS, VISUAL STUDIO 2005, СТРУКТУРА, КЛАСС, АЛГОРИТМЫ


СОДЕРЖАНИЕ:

Содержание…………………………………………….…………………......5

Введение………………………………………………….…………………...6

1. Среда разработки………….………………………….……………………8

2. Алгоритмы реализации игры..…………………….………………………8

3. Инструкция пользователя…………………………………..…………….11

Выводы……………………...…………………………………..…………….13

Перечень ссылок……………………………………………………………...14

Приложение 1………………………………………………………………...15

 


ВВЕДЕНИЕ

«Морской бой» — игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Если у соперника по этим координатам имеется корабль (координаты заняты), то корабль или его часть «топится», а попавший получает право сделать ещё один ход. Цель игрока — первым поразить все корабли противника.

Правила размещения кораблей(флота)

Игровое поле — квадрат 10х10 у каждого игрока, на котором игрок размещает свои корабли. Размещаются:

1 корабль — ряд из 4 клеток (четырёх палубный)

2 корабля — ряд из 3 клеток (трёх палубный)

3 корабля — ряд из 2 клеток (двух палубный)

4 корабля — ряд из 1 клетки (одно палубный)

При размещении корабли не могут касаться друг друга даже углами (в классическом варианте игры).

Рядом со «своим» квадратом чертится «чужой» такого же размера, только пустой. Это участок моря, где плавают чужие корабли противника.

Поиск и потопление кораблей противника

Перед началом боевых действий игроки бросают жребий или договариваются, кто будет ходить первым.

Игрок, выполняющий ход, совершает выстрел — называет вслух координаты клетки, в которой, по его мнению, находится корабль противника.

Если выстрел пришёлся в клетку, не занятую ни одним кораблём противника, то следует ответ «Мимо!» и стрелявший игрок ставит на чужом квадрате в этом месте точку. Право хода переходит к сопернику.

Победителем считается тот, кто первым потопит все 10 кораблей противника.

Компьютерная реализация данной игры представленная данной курсовой работой позволяет играть в морской бой с компьютерным оппонентом. Программа написана на языке программирования C++ в среде разработки Microsoft Visual Studio 2005.

  1.  
    Среда разработки

Для работы при написании программной реализации игры «Морской бой» была выбрана среда разработки Microsoft Visual Studio 2005. Она позволяет удобно и быстро разрабатывать программные приложения. Microsoft Visual Studio 2005 очень удобна в использовании, имеет функциональный и интуитивно понятный интерфейс. В данный момент она является одной из самых популярных сред разработки. В данной среде очень удобно реализованная система помощи и подсказок, что очень благоприятно сказывается на скорости разработки программ.

Win Forms позволяет быстро создавать визуальные компоненты программы. Windows Forms - это, как пишут в MSDN, новая платформа для создания Windows-приложений на платформе .NET, содержащая набор объектно-ориентированных классов. Также Windows Forms может представлять собой графический интерфейс пользователя (GUI) в многоуровневых приложениях. Но это сухие слова из MSDN. Понятие Windows Forms включает в себя все то, что вы каждый раз видите перед собой на Toolbox в Visual Studio .NET. Это все классы и контролы, которые используются для создания приложений при работе с формой (в дизайнере или в коде). По своей "глубинной" сути форма является контролом, поскольку наследует от System.Windows.Forms.ContainerControl, но это уже внутреннее устройство Windows Forms с которым вы можете легко ознакомиться используя Object Browser (по-умолчанию F2 в Visual Studio 2005, Ctrl+Alt+J в Visual Studio 2003).

 

  1.  
    Алгоритмы реализации игры

Реализацию программы я начал с того, что описал базовый класс, который будет содержать поля и методы общие для игрока и компьютерного оппонента назвав его Matr.

Его наследуют два других класса  User и Comp,  которые являются реализацией интерфейса и данных пользователь и его компьютерного оппонента.

У пользователя и компьютера есть две матрицы, первая хранит поле игрока (компьютера) вторая используется для стрельбы по полю врага.

Пользователь вручную расставляет свои корабли, для этого реализованы методы Set4, Set3, Set2, Set1 -  расстановки четырех-, трех-, двух-, и однопалубного кораблей. Сначала предлагается установить четырехпалубный корабль, затем два трехпалубных, три двухпалубных и в конце один однопалубный. После чего запускается метод из класса Comp случайной расстановки кораблей. Псевдослучайным образом генерируются два числа, и производится проверка, можно ли установить туда корабль, если можно то он устанавливается, в противном случае, числа генерируются заново, и выполняется таже проверка. Для этого каждый поставленный корабль в матрицу окружается значениями -1, показывающими, что ставить новый корабли нужно не ближе чем через 1 клетку от уже расположенного.

Затем запускается основной цикл игры, когда игрок и компьютер поочередно обмениваются выстрелами. В случае попадания, дается бонусный ход. Компьютер при стрельбе пользуется функцией генерации случайных чисел.

Данные классы подключены к форме, где на двух PictureBox отображается поле с кораблями игрока и поле стрельбы по компьютеру. При помощи рисования поверх PictureBox происходит динамическое отображение изменений в игровом процессе.

По событию нажатия мышкой на первый PictureBox происходит установка кораблей пользователя, после того как они все установлены, позволяется нажимать на второй PictureBox, в результате чего происходит стрельба по полю соперника.

Расстановка и стрельба выполнены путем получения координат нажатия на PictureBox и передача их в функции стрельбы либо установки кораблей.

В обоих классах есть унаследованное от базового класса Matr поле life, по умолчанию равное 20 (количество палуб), как только у кого то из соперников оно становится равным 0, на экран выводится соответствующее сообщение о победе одного из игроков.


3. Инструкция пользователя

После запуска игры откроется окно.

Слева находится поле для кораблей игрока, справа поле ведения боевых действий.

Для начала игры нужно нажать на «Игра», и выбрать из выпадающего списка «Новая».

После нажатия будет предложено расставить корабли. По центру формы будет сообщатся какой корабль устанавливается сейчас.

После установки всех кораблей пользователя компьютер случайным образом расставит свои корабли, что может занять несколько секунд, во время которых программа может не отвечать на действия пользователя.

После чего начинается непосредственно игра.

Игру в любой момент можно прервать нажав «Игра» и выбрать из выпадающего меню «Выйти из игры».


В
ЫВОД

В процессе выполнения данного курсового проекта были приобретены основные навыки работы со средой программирования Microsoft Visual Studio C++ 2005,CRL.А также были изучены и проанализированы различные методы создания и прохождения лабиринта.


ЛИТЕРАТУРА И ИСТОЧНИКИ

  1.  Мозгов М.В. «Занимательное программирование. Самоучитель». –СПб: Питер, 2005. -208с.
  2.  Мозгов М. В. «С++ мастер-класс. 85 нетривиальных проэктов, решений задач». –СПб: Наука и Техника, 2007. -208с.
  3.  Бондаренко М. Ф., Бритик В. И., Свинар М. К. Конспект лекций. Часть I «Алгоритмические языки и программирование».-Харьков: Компания СМИТ, 2004.-221 с.
  4.    Кормен, Томас, Лейзерсон, Ривест, Штайн «Алгоритмы: построение и анализ 2-е издание».: Пер с англ.- М. Издательский дом «Вильямс»,2007.-1296с.
  5.  Дворак Дж. 350 игр для IBM PC. –С-Пб.:Пергамент, 1994, -318с.
  6.  Павловская Т. А. С/С++ программирование на языке высокого уровня.-С.Пт.: Питер, 2002.-460 с.
  7.  Ричард С. Линкер, Том Арчер. Программирование для Windows 98. Библия  разработчика.-М.: Диалектика ,1999.-864 с.
  8.  Хемминг Р.В.  Цифровые фильтры. – М.: Недра, 1987. – 221 с.


Приложение 1

Некоторые детали программного кода

Базовый класс Cmatr, хранится в файле Cmatr.h

#ifndef MATR

#define MATR

#include <iostream>

class Matr{

public:

 unsigned int n;

 unsigned int m;

 int **matr;

 int **matr2;

 int four;

 int three;

 int two;

 int one;

 bool ifready;

 int life;

Matr(){

 n=10;

 m=10;

 four=1;

 three=2;

 two=3;

 one=4;

 life=20;

 ifready = false;

 matr=new int *[n];

 matr2=new int *[n];

 for(int i=0;i<n;++i)

 {

  matr[i]=new int [m];

  matr2[i]=new int [m];

 }

 

}

 virtual ~Matr()

{

 for(int i=0;i<n;++i)

  delete []matr[i];

 delete []matr;

 matr=NULL;

}

 void setnull()

{

 for(int i=0;i<n;++i)

  for(int j=0;j<m;++j)

  {

   matr[i][j]=0;

   matr2[i][j]=0;

   four=1;

   three=2;

   two=3;

   one=4;

   life=20;

   ifready = false;

  }

}

 void prepare()

{

 for(int i=0;i<n;++i)

 {

  for(int j=0;j<n;++j)

  {

   if(matr[i][j]==-1)

   {

    matr[i][j]=0;

   }

  }

 }

}

};

#endif

Класс пользователя User хранится в файле User.h

#include "cMatr.h"

#include <time.h>

#ifndef USER

#define USER

namespace MS

{

class User:public Matr{

public:

User():Matr(){;};

 virtual int set4(int x,int y)

{

 

 if(x+3<n && y<m)

 {

  matr[x][y]=1;

  matr[x+1][y]=1;

  matr[x+2][y]=1;

  matr[x+3][y]=1;

  if(x!=0)

  {

   matr[x-1][y]=-1;

   if(y!=0)

    matr[x-1][y-1]=-1;

   if(y!=m-1)

    matr[x-1][y+1]=-1;

  }

  if(y!=0)

  {

   matr[x][y-1]=-1;

   matr[x+1][y-1]=-1;

   matr[x+2][y-1]=-1;

   matr[x+3][y-1]=-1;

  }

  if(y!=m-1)

  {

   matr[x][y+1]=-1;

   matr[x+1][y+1]=-1;

   matr[x+2][y+1]=-1;

   matr[x+3][y+1]=-1;

  }

  if(x!=n-4)

  {

   matr[x+4][y]=-1;

   if(y!=0)

    matr[x+4][y-1]=-1;

   if(y!=m-1)

   {

    matr[x+4][y+1]=-1;

   }

  }

  return 1;

 }

}

 virtual int set3(int x,int y)

{

 if(x+2<n && y<m)

 {

  if(matr[x][y]!=0 || matr[x+1][y]!=0 || matr[x+2][y]!=0)

  {

   return 0;

  }

  matr[x][y]=1;

  matr[x+1][y]=1;

  matr[x+2][y]=1;

   

  if(x!=0)

  {

   matr[x-1][y]=-1;

   if(y!=0)

    matr[x-1][y-1]=-1;

   if(y!=m-1)

    matr[x-1][y+1]=-1;

   }

   if(y!=0)

   {

    matr[x][y-1]=-1;

    matr[x+1][y-1]=-1;

    matr[x+2][y-1]=-1;

   }

   if(y!=m-1)

   {

    matr[x][y+1]=-1;

    matr[x+1][y+1]=-1;

    matr[x+2][y+1]=-1;

   }

   if(x!=n-3)

   {

    matr[x+3][y]=-1;

    if(y!=0)

     matr[x+3][y-1]=-1;

    if(y!=m-1)

    {

     matr[x+3][y+1]=-1;

    }

   }

   return 1;

 }

}

 virtual int set2(int x,int y)

{

    

  if(x+1<n && y<m)

  {

   if(matr[x][y]!=0 || matr[x+1][y]!=0)

    {

     return 0;

    }

    matr[x][y]=1;

    matr[x+1][y]=1;

    

    if(x!=0)

    {

     matr[x-1][y]=-1;

     if(y!=0)

      matr[x-1][y-1]=-1;

     if(y!=m-1)

      matr[x-1][y+1]=-1;

    }

    if(y!=0)

    {

     matr[x][y-1]=-1;

     matr[x+1][y-1]=-1;

    }

    if(y!=m-1)

    {

     matr[x][y+1]=-1;

     matr[x+1][y+1]=-1;

    }

    if(x!=n-2)

    {

     matr[x+2][y]=-1;

     if(y!=0)

      matr[x+2][y-1]=-1;

     if(y!=m-1)

     {

      matr[x+2][y+1]=-1;

     }

    }

    return 1;

  }

 }

 virtual int set1(int x,int y)

{

  if(x<n && y<m)

  {

   if(matr[x][y]!=0)

   {

    return 0;

   }

   matr[x][y]=1;

   

   if(x!=0)

   {

    matr[x-1][y]=-1;

    if(y!=0)

     matr[x-1][y-1]=-1;

    if(y!=m-1)

     matr[x-1][y+1]=-1;

   }

   if(y!=0)

   {

    matr[x][y-1]=-1;

    if(x!=n-1)

     matr[x+1][y-1]=-1;

   }

   if(y!=m-1)

   {

    matr[x][y+1]=-1;

    if(x!=n-1 && y!=0)

     matr[x+1][y+1]=-1;

   }

   if(x!=n-1)

   {

    matr[x+1][y]=-1;

    if(y!=0)

     matr[x+1][y-1]=-1;

    if(y!=m-1)

    {

     matr[x+1][y+1]=-1;

    }

   }

   return 1;

  }

}

 void prepare()

{

 for(int i=0;i<n;++i)

 {

  for(int j=0;j<n;++j)

  {

   if(matr[i][j]==-1)

    matr[i][j]=0;

  }

 }

}

 int getfire(int x,int y)

{

 if(matr[x][y]==0)

 {

  matr[x][y]=3;

  return 3;   

 }

 else if(matr[x][y]==1 || matr[x][y]==2)

 {

  if(matr[x][y]==1)

   --life;

  matr[x][y]=2;

  return 2;

 }

 else if(matr[x][y]==3)

 {

  return 4;

 }

}

 void set(int x,int y,int value)

{

 matr2[x][y]=value;

}

};

};

#endif

Класс пользователя Comp хранится в файле Comp.h

#include "cMatr.h"

#ifndef COMP

#define COMP

namespace Comp

{

 class Comp:public Matr{

 public:

 Comp():Matr(){;};

 virtual void set4()

{

 while(1)

 {

  unsigned int x;unsigned int y;

  srand(time(NULL));

  x=rand()%10;

  y=rand()%10;

  if(x+3<n && y<m)

  {

   matr[x][y]=1;

   matr[x+1][y]=1;

   matr[x+2][y]=1;

   matr[x+3][y]=1;

   if(x!=0)

   {

    matr[x-1][y]=-1;

    if(y!=0)

     matr[x-1][y-1]=-1;

    if(y!=m-1)

     matr[x-1][y+1]=-1;

   }

   if(y!=0)

   {

    matr[x][y-1]=-1;

    matr[x+1][y-1]=-1;

    matr[x+2][y-1]=-1;

    matr[x+3][y-1]=-1;

   }

   if(y!=m-1)

   {

    matr[x][y+1]=-1;

    matr[x+1][y+1]=-1;

    matr[x+2][y+1]=-1;

    matr[x+3][y+1]=-1;

   }

   if(x!=n-4)

   {

    matr[x+4][y]=-1;

    if(y!=0)

     matr[x+4][y-1]=-1;

    if(y!=m-1)

    {

     matr[x+4][y+1]=-1;

    }

   }

   break;

  }

 }

}

 virtual void set3()

{

 while(1)

 {

  unsigned int x;unsigned int y;

  srand(time(NULL));

  x=rand()%10;

  y=rand()%10;

  if(x+2<n && y<m)

  {

   if(matr[x][y]!=0 || matr[x+1][y]!=0 || matr[x+2][y]!=0)

   {

    continue;

   }

   matr[x][y]=1;

   matr[x+1][y]=1;

   matr[x+2][y]=1;

   

   if(x!=0)

   {

    matr[x-1][y]=-1;

    if(y!=0)

     matr[x-1][y-1]=-1;

    if(y!=m-1)

     matr[x-1][y+1]=-1;

   }

   if(y!=0)

   {

    matr[x][y-1]=-1;

    matr[x+1][y-1]=-1;

    matr[x+2][y-1]=-1;

   }

   if(y!=m-1)

   {

    matr[x][y+1]=-1;

    matr[x+1][y+1]=-1;

    matr[x+2][y+1]=-1;

   }

   if(x!=n-3)

   {

    matr[x+3][y]=-1;

    if(y!=0)

     matr[x+3][y-1]=-1;

    if(y!=m-1)

    {

     matr[x+3][y+1]=-1;

    }

   }

   break;

  }

 }

}

 virtual void set2()

{

 while(1)

 {

  unsigned int x;unsigned int y;

  srand(time(NULL));

  x=rand()%10;

  y=rand()%10;

  if(x+1<n && y<m)

  {

   if(matr[x][y]!=0 || matr[x+1][y]!=0)

    {

     continue;

    }

    matr[x][y]=1;

    matr[x+1][y]=1;

    

    if(x!=0)

    {

     matr[x-1][y]=-1;

     if(y!=0)

      matr[x-1][y-1]=-1;

     if(y!=m-1)

      matr[x-1][y+1]=-1;

    }

    if(y!=0)

    {

     matr[x][y-1]=-1;

     matr[x+1][y-1]=-1;

    }

    if(y!=m-1)

    {

     matr[x][y+1]=-1;

     matr[x+1][y+1]=-1;

    }

    if(x!=n-2)

    {

     matr[x+2][y]=-1;

     if(y!=0)

      matr[x+2][y-1]=-1;

     if(y!=m-1)

     {

      matr[x+2][y+1]=-1;

     }

    }

    break;

  }

 }

}

 virtual void set1()

{

 while(1)

 {

  unsigned int x;unsigned int y;

  srand(time(NULL));

  x=rand()%10;

  y=rand()%10;

  if(x<n && y<m)

  {

   if(matr[x][y]!=0)

   {

    continue;

   }

   matr[x][y]=1;

   

   if(x!=0)

   {

    matr[x-1][y]=-1;

    if(y!=0)

     matr[x-1][y-1]=-1;

    if(y!=m-1)

     matr[x-1][y+1]=-1;

   }

   if(y!=0)

   {

    matr[x][y-1]=-1;

    if(x!=n-1)

     matr[x+1][y-1]=-1;

   }

   if(y!=m-1)

   {

    matr[x][y+1]=-1;

    if(x!=n-1 && y!=0)

     matr[x+1][y+1]=-1;

   }

   if(x!=n-1)

   {

    matr[x+1][y]=-1;

    if(y!=0)

     matr[x+1][y-1]=-1;

    if(y!=m-1)

    {

     matr[x+1][y+1]=-1;

    }

   }

   break;

  }

 }

}

 void autoplacing()

 {

  setnull();

  set4();

  set3();

  set3();

  set2();

  set2();

  set2();

  set1();

  set1();

  set1();

  set1();

  ifready = true;

 };

 void prepare()

{

 for(int i=0;i<n;++i)

 {

  for(int j=0;j<n;++j)

  {

   if(matr[i][j]==-1)

    matr[i][j]=0;

  }

 }

}

 int getfire(int x,int y)

{

 if(matr[x][y]==0)

 {

  matr[x][y]=3;

  return 3;   

 }

 else if(matr[x][y]==1 || matr[x][y]==2)

 {

  if(matr[x][y]==1)

   --life;

  matr[x][y]=2;

  return 2;

 }

 if(matr[x][y]==3)

  return 3;

}

 void set(int x,int y,int value)

{

 matr2[x][y]=value;

}

 void fire(int &x,int &y)

{

 srand(time(NULL));

 x=rand()%10;

 y=rand()%10;

}

};

}

#endif

Функция рисования по Picturebox:

void ris()

{

Color ^col = gcnew Color();

Pen ^mybrysh = gcnew Pen(col->Yellow);

Graphics ^im = pictureBox1->CreateGraphics();

im->DrawLine(mybrysh,1,1,260,1);

im->DrawLine(mybrysh,1,26,260,26);

im->DrawLine(mybrysh,1,52,260,52);

 im->DrawLine(mybrysh,1,78,260,78);

im->DrawLine(mybrysh,1,104,260,104);

im->DrawLine(mybrysh,1,130,260,130);

im->DrawLine(mybrysh,1,156,260,156);

im->DrawLine(mybrysh,1,182,260,182);

im->DrawLine(mybrysh,1,208,260,208);

im->DrawLine(mybrysh,1,234,260,234);

im->DrawLine(mybrysh,1,260,260,260);

im->DrawLine(mybrysh,1,1,1,260);

im->DrawLine(mybrysh,26,1,26,260);

im->DrawLine(mybrysh,52,1,52,260);

im->DrawLine(mybrysh,78,1,78,260);

im->DrawLine(mybrysh,104,1,104,260);

im->DrawLine(mybrysh,130,1,130,260);

im->DrawLine(mybrysh,156,1,156,260);

im->DrawLine(mybrysh,182,1,182,260);

im->DrawLine(mybrysh,208,1,208,260);

im->DrawLine(mybrysh,234,1,234,260);

im->DrawLine(mybrysh,260,1,260,260);

 delete mybrysh;

 delete im;

  

Color ^col2 = gcnew Color();

Pen ^mybrysh2 = gcnew Pen(col->Yellow);

Graphics ^im2 = pictureBox2->CreateGraphics();

im2->DrawLine(mybrysh2,1,1,260,1);

im2->DrawLine(mybrysh2,1,26,260,26);

im2->DrawLine(mybrysh2,1,52,260,52);

im2->DrawLine(mybrysh2,1,78,260,78);

im2->DrawLine(mybrysh2,1,104,260,104);

im2->DrawLine(mybrysh2,1,130,260,130);

im2->DrawLine(mybrysh2,1,156,260,156);

im2->DrawLine(mybrysh2,1,182,260,182);

im2->DrawLine(mybrysh2,1,208,260,208);

im2->DrawLine(mybrysh2,1,234,260,234);

im2->DrawLine(mybrysh2,1,260,260,260);

 

im2->DrawLine(mybrysh2,1,1,1,260);

im2->DrawLine(mybrysh2,26,1,26,260);

im2->DrawLine(mybrysh2,52,1,52,260);

im2->DrawLine(mybrysh2,78,1,78,260);

im2->DrawLine(mybrysh2,104,1,104,260);

im2->DrawLine(mybrysh2,130,1,130,260);

im2->DrawLine(mybrysh2,156,1,156,260);

im2->DrawLine(mybrysh2,182,1,182,260);

im2->DrawLine(mybrysh2,208,1,208,260);

im2->DrawLine(mybrysh2,234,1,234,260);

im2->DrawLine(mybrysh2,260,1,260,260);

for(int x(0);x<10;++x)

 {

  for(int y(0);y<10;++y)

  {

   if(unit1.matr[x][y]==1)

   {

    Color ^col = gcnew Color();

    SolidBrush ^sq = gcnew SolidBrush(col->Black);

    Graphics ^im = pictureBox1->CreateGraphics();

    im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

    delete sq;

    delete im;

  }

  else if(unit1.matr[x][y]==2 && unit1.ifready==true)

  {

   Color ^col = gcnew Color();

   SolidBrush ^sq = gcnew SolidBrush(col->MistyRose);

   Graphics ^im = pictureBox1->CreateGraphics();

   im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

   delete sq;

   delete im;

  }

  else if(unit1.matr[x][y]==3 && unit1.ifready==true)

  {

    Color ^col = gcnew Color();

    SolidBrush ^sq = gcnew SolidBrush(col->LawnGreen);

    Graphics ^im = pictureBox1->CreateGraphics();

    im->FillRectangle(sq,Rectangle(y*26+10,x*26+10,10,10));

    delete sq;

    delete im;

   }

   else if(unit1.matr[x][y]==0)

   {

    Color ^col = gcnew Color();

    SolidBrush ^sq = gcnew SolidBrush(col->DarkBlue);

    Graphics ^im = pictureBox1->CreateGraphics();

    im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

    delete sq;

    delete im;

  }

  }

 }

  

for(int x(0);x<10;++x)

{

  for(int y(0);y<10;++y)

  {

  if(unit1.matr2[x][y]==1)

  {

   Color ^col = gcnew Color();

   SolidBrush ^sq = gcnew SolidBrush(col->Black);

   Graphics ^im = pictureBox2->CreateGraphics();

   im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

   delete sq;

   delete im;

       }

  else if(unit1.matr2[x][y]==0)

  {

    Color ^col = gcnew Color();

    SolidBrush ^sq = gcnew SolidBrush(col->DarkBlue);       Graphics ^im = pictureBox2->CreateGraphics();

    im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

    delete sq;

    delete im;

  }

  else if(unit1.matr2[x][y]==2 && unit1.ifready==true)

  {

   Color ^col = gcnew Color();

   SolidBrush ^sq = gcnew SolidBrush(col->MistyRose);       Graphics ^im = pictureBox2->CreateGraphics();

   im->FillRectangle(sq,Rectangle(y*26+1,x*26+1,25,25));

   delete sq;

   delete im;

  }

  else if(unit1.matr2[x][y]==3 && unit1.ifready==true)

  {

    Color ^col = gcnew Color();

    SolidBrush ^sq = gcnew SolidBrush(col->LawnGreen);

    Graphics ^im = pictureBox2->CreateGraphics();

    im->FillRectangle(sq,Rectangle(y*26+10,x*26+10,10,10));

    delete sq;

    delete im;

   }

  }

 }

 delete mybrysh2;

 delete im2;

}


 

А также другие работы, которые могут Вас заинтересовать

52044. Поема «Мойсей»- одна з вершин творчості Івана Яковича Франка 56 KB
  Поема Мойсей одна з вершин творчості Івана Яковича Франка. Обладнання: портрет Івана Франка виставка книгілюстрації до поеми Мойсей карта мандрів Мойсея тематична стіннівка.Франка Мойсей історією написання ; підготувати розповідь про неї; випустити тематичні стіннівки. 1 група – науковці – подають матеріал про написання поеми Мойсей; 2 група – літературознавці презентують образ Мойсея та інші образи; 3 група – літературні критики розповідають про особливості стилю поеми Мойсей; 4 група – читці члени редколегії ...
52045. Багатство мови і мовлення: інтонаційне, лексичне, фразеологічне, морфологічне, синтаксичне 87.5 KB
  Плачинда мову Діти а як вам вдалося вдома уявити себе в різних образах Які мовні засоби забезпечують засвідчують багатство образність логічність мовлення Послухаємо. За допомогою яких художніх засобів ви досягли образності мовлення В яких стилях тропи використовуються менше У науковому та офіційноділовому Учні зачитують свої творимініатюри Перевтілення. Отже написавши твориперевтілення ви збагатили своє мовлення за допомогою різних художніх засобів стали на крок ближче до удосконалення свого мовлення.
52046. Урок здоров’я 49 KB
  Навчальна мета: використовуючи набуті знання учнями на уроках біології та фізики показати їх застосуванню в повсякденному житті, систематизувати відомості про здоров’я людини.
52047. День Именинника - сценарии дня рождения 28 KB
  Конкурс для неименинников. Конкурс Парикмахеры Конкурс для всех команд. Конкурс Повара От каждой команды по одному участнику. Конкурс Подарок Пока кулинары готовятся подумаем чего же нам еще не хватает.
52048. Супер-сценарий маскарадного Нового года 25 KB
  Компания из 11 человек:1 Дед Мороз: настоящий костюм урвали у знакомых;2снежная королева: серое вечернее платье на шее колье из горного стекла думаю есть у любой девушки на крайний случай можно сделать самой из мишурыдождик из проволоки сделала каркас высокого воротника купила стальную блестящую ткань 2м. это была моя замораживающая палочка;3царь: из картона и фальги корона скипетр и держава из фальги и сподручных средств накидка из старого покрывала обшитого красной мишурой;4серкетарь царя: можно обычный строгий костюм;5шут...
52049. Маскарад для любимого 23.5 KB
  Костюм горничной: черный комплект белья обшила белым кружевом благо оно продается практически везде. Костюм медсестры: нашить на белое белье красные крестики совсем несложно также как и найти белые чулки. Костюм школьницы: здесь проблем практически не возникло короткая юбочка со складками и подходящая рубашечка в моем гардеробе нашлись очень легко. Костюм чертенка: рожки продаются в большинстве детских отделов а красночерное белье я нашла в своем гардеробе.
52050. Сценарий Нового года по-гавайски 33.5 KB
  Объявляется аукцион Новый год. Итак общими усилиями мы выяснили что Новый год – это. Такой уж это праздник Новый год шумный веселый но всегда остается много мусора.
52051. Сценарий веселого новогоднего корпоратива 31.5 KB
  Доктор помогите Я в себя не верю.: И что же мне делать. Пушистую такую снегом припорошенную. всматривается переворачивает лист снова всматривается улыбается Так это ж хоровод Детишки нарядились зверятами и танцуют вокруг ёлки Весело имДок.
52052. Новый год к нам мчится... 47 KB
  Появляется почтальон Печкин в шапкеушанке с конвертом в руках.Почтальон Печкин. Здравствуйте Это я почтальон Печкин Принес вам письмо для вашего шефа. А письмо от когоПочтальон Печкин.