Компьютерная аркадная игра "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 необходимо запускать программу с правами администратора.
Приложение Б
Руководство пользователя
Данный программный продукт имеет интуитивно понятный интерфейс и может быть использован человеком, не имеющим большого опыта работы за компьютером.
Для навигации по меню используется мышь.
Для процесса игры используются клавиши (стрелки, ввод).
Ваша задача: передвигая ракетку, управлять шариком и выбива