Компьютерная аркадная игра "Spaceboll" в режиме компьютер-игрок

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

- массив из выбиваемых кирпичей.=new rec[11] - массив результатов.

 

В данном фрагменте кода рисуются кирпичи (блоки). Описывается выбивание кирпичей, осуществляется пересчет очков и определяется направление шарика, после удара о блок:

 

int left,right,top,bottom,i,j;b_r=ball_s/2;^ Brick_Brush = gcnew SolidBrush(Color::Green);//кисть для блоков^ Brick_Pen=gcnew Pen(Color::DarkGreen);//кисть для обводки блоковcan_change=1;for(i=0;i<10;i++)//проход по массиву с блоками

{for(j=0;j<10;j++)

{ top=i*brick_h; //опеределение границ текущего блока

bottom=top+brick_h;

left=j*brick_w;

right=left+brick_w;

if((ball.x-b_rtop && ball.y-b_r<bottom))//если мячик коснулся блока

{ if(bricks[i][j]==2)//если блок типа 2

{bricks[i][j]=1;//делаем его типом 1

Score+=100;//добавляем 100 очков

textBox1->Text=Score.ToString();

if(can_change)//если за текущее перемещение мяча он еще не был отражен

{if(ball.x+b_r>left && ball.x+b_r<left+5)//определяем сторону блока, куда коснулся мяч

{

ball_d.x*=-1;//отскок мяча

}

if(ball.x-b_rright-5)

{

ball_d.x*=-1;

}

if(ball.y+b_r>top && ball.y+b_r<top+5)

{

ball_d.y*=-1;

}

if(ball.y-b_rbottom-5)

{

ball_d.y*=-1;}

can_change=0; //больше за текущее перемещение мяча, мы не сможем поменять его направление

}

} else

if(bricks[i][j]==1)//если тип блока 1

{coutn--;//вычитаем из количества блоков 1

bricks[i][j]=0;//убираем его

Score+=100;

textBox1->Text=Score.ToString();

if(can_change){

if(ball.x+b_r>left && ball.x+b_r<left+5)

{

ball_d.x*=-1;

}

if(ball.x-b_rright-5)

{ ball_d.x*=-1;

}

if(ball.y+b_r>top && ball.y+b_r<top+5)

{

ball_d.y*=-1;

}

if(ball.y-b_rbottom-5)

{

ball_d.y*=-1;

}

can_change=0;

}

}

}

if(bricks[i][j]!=0)//если блок не 0, т.е. есть

{

switch(bricks[i][j])//выбор типа блока

{

case 1:

Brick_Brush->Color=Color::Green;//рисуем зеленым

g->FillRectangle(Brick_Brush,left,top,brick_w,brick_h);

break;

case 2:

Brick_Brush->Color=Color::Blue;//и синим соответственно

g->FillRectangle(Brick_Brush,left,top,brick_w,brick_h);

break;

}

g->DrawRectangle(Brick_Pen,left,top,brick_w,brick_h);//и обводим этот блок

}

}

}

3.4 Алгоритм

 

При запуске программы открывается окно игры с заставкой (рисунок 1). Сверху имеется вкладка Игра, включающаяся в себя разделы Новая игра, Результаты и Выход. Зайдя в раздел Новая игра, можно выбрать уровень, либо начать игру сначала. При выборе Играть! в разделе Новая игра, начинается игровой процесс, где пользователю предстоит, управляя отскакивающим от ракетки шариком, разбивать кирпичи (рисунок 3).

 

Рисунок 3 - Начало игры

 

Рисунок 4 - Игровой процесс

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

 

Рисунок 5 - Запись в таблицу рекордов

 

После ввода имени откроется окно с лучшими результатами предыдущих игроков (рисунок 6). Также таблицу рекордов можно посмотреть, зайдя в раздел Игра/ Результаты. При нажатии Выйти программа закрывается.

 

Рисунок 6 - Просмотр таблицы рекордов

Главное меню

oНовая игра

Выбор карты

Автоматический выбор карты, начиная с первой

Выбор вручную

Игровой процесс

Запись в таблицу рекордов

oПросмотр таблицы рекордов

oВыход из игры

игра программа arcanoid алгоритм

ЗАКЛЮЧЕНИЕ

 

Разработанный программный продукт удовлетворяет всем указанным в начале отчета требованиям.

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

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

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

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

 

1. Егорова, Е.В. Программирование на языке высокого уровня. Часть II: учеб. Е.В. Ползунова. - Барнаул: изд-во Дрофа, 1998 - 176 с.

. Павловская, Т.А. С/С++ программирование на языке высокого уровня: учеб. / Т.А. Павловская. - СПб.: изд-во Питер, 2009 - 203 с.

. Лафоре, Р. Объектно-ориентированное программирование в С++, классика Computer Science. / Р. Лафоре. - СПб.: изд-во Питер, 2004 - 187 с.

. Давыдов, В.Г. Технологии программирования С++ / В.Г. Давыдов - СПб.: изд-во БХВ-Петербург, 2005 - 305 с.

. Шилдт, Г. С/С++. Справочник программиста / Г.Шилдт. - М.: изд-во Вильямс, 2007 - 593 с.

 

Приложение А

 

Руководство системного программиста

 

Для установки программы: скопируйте файл Arcanoid.exe и папку Resources на жесткий диск компьютера.

Системные требования: Microsoft Windows XP и выше, процессор Pentium IV или выше. 16 Мб оперативной памяти, 40 Мб свободного пространства на жестком диске.

Для Windows Vista/7 необходимо запускать программу с правами администратора.

 

Приложение Б

 

Руководство пользователя

 

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

Для навигации по меню используется мышь.

Для процесса игры используются клавиши (стрелки, ввод).

Ваша задача: передвигая ракетку, управлять шариком и выбива