Формулировка задачи на курсовую работу:
Написать программу играющую в ГЕКСАГОН. Поле состоит из 6-гранных клеток. Размер поля – по выбору. Два игрока ходят по очереди. Возможны ходы:
- Поставить новую свою шашку на любую свободную из 6 клеток, смежных со своей шашкой.
- Переставить свою шашку на любую свободную клетку, смежную с клетками, смежными с прежним положением этой шашки.
- В любом случае, если на клетках, смежных с новым положением своей шашки, есть шашки противника, они заменяются на свои.
- Игра заканчивается, когда все клетки заняты. Выигрывает тот, кто занял больше клеток.
Фрагмент программного кода:
bool Game::draw()
{
//получаем dc окна
PAINTSTRUCT ps;
HDC dc = BeginPaint(wnd, &ps);
RECT r;
//получаем координаты клиентской области
GetClientRect(wnd, &r);
//создаем dc на который будем рисовать
HDC hdcMem=::CreateCompatibleDC(dc);
HBITMAP hBmp=::CreateCompatibleBitmap(dc, r.right, r.bottom);
SelectObject(hdcMem, hBmp);
HBRUSH brush = CreateSolidBrush(RGB(240, 240, 240));
SetBkColor(hdcMem, COLOR_3DFACE);
this->dc = hdcMem;
//заполняем область цветом фона
FillRect(hdcMem, &r, brush);
//рисуем
int sz = (poleSize + 1)/2;
int dy = sz * 17.5;
int szy = sz;
//выводим поле
for (int i=0; i<poleSize; i++)
{
for (int j=0; j<szy; j++)
{
setColor(i, j); //устанавливаем цвет
drawGeck(i* 30, j * 35 + dy); //рисуем клетку
}
//поправка на столбцы
if (i<poleSize/2)
{
szy ++ ;
dy -= 17.5;
}
else
{
szy--;
dy += 17.5;
}
}
Содержание архива
- исходный код на C# для Visual Studio
- краткое текстовое описание с фрагментами программного кода (с комментариями) (18 страниц)
Телеграм
-