| Назва: | Розробка гри “Відбивання кульки” |
| Тип: | Реферати |
| Мова: | Українська |
| Розмiр: | 94,12 KB |
| Скачувань: | 27 |
stdlib.h – включений в програму для виклику стандартних бібліотечних функцій randomize(), itoa(), random();
conio.h – для стандартної функції getch() та kbhit();
dos.h – для стандартної функції delay().
В головній функції програми int main() визиваються наступні функції:
initgraph(&dr, &mod,””) – ініціалізація графіки;
menu() – виклик головного меню гри;
closegraph() – закриває графічний режим і переводить систему в текстовий режим.
Тестування і перевірка програми
4.1. Розробка тестів
Тестування направлене на знаходження та виправлення помилок у програмах. Один з методів тестування базується на спостереженні за роботою програми. Відомо, що помилки у програмному забезпеченні мають схильність групуватися (принцип Парето). В програмі завжди є модулі, які є більш проблематичними, ніж інші. Для даної програми таким модулем є функція new_game(), що виконує в програмі провідну роль.
Отож, запустимо програму і будемо вести спостереження. При тестуванні нас цікавитимуть:
Чи є помилки у графічній реалізації;
Чи правильно відбивається кулька від стінок та лопаток;
Ситуація, коли кулька пролітає поза лопаткою: чи можемо ми не влучити і чи правильно ведеться рахунок. Для цього необхідно випробувати ряд випадків відбивання кульки в різних положеннях лопаток, а також, спеціально не влучити і впевнитись у тому, що супернику було нараховано очко на його рахунок.
4.2. Аналіз результатів роботи програми
Під час перевірки та тестування було проведено ряд тестів, які було описано вище, і в результаті вияснено, що програма працює більш-менш надійно і злагоджено, помилок виявлено не було.
Висновки
В результаті виконання даної курсової роботи засобами мови програмування С++ було розроблено програму, що реалізує гру “Відбивання кульки”. Виконані всі умови розробки програми.
Під час розробки даного курсового проекту, мною було вдосконалені деякі навички програмування на мові С++.
Список використаної літератури
В.В. Подбельский. Язык С++. М.: Финансы и статистика, 2005.
Шилдт Г. Искусство программирования на С++. СПб.: БХВ-Петербург, 2005
htpp://www.codenet.ru/
ДОДАТКИ
Додаток А:
#include
#include
#include
#include
short num()//функцiя вибору кiлькостi iгор
{
int x,y,i,key;
x=212;y=77;
setcolor(BLUE);
setlinestyle(0,0,3);
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
settextstyle(0,HORIZ_DIR,2);
outtextxy(x+45,y+38,"3 гри");
outtextxy(x+46 ,y+39,"3 гри");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+45,y+38,"5 iгор");
outtextxy(x+46 ,y+39,"5 iгор");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+45,y+38,"10 iгор");
outtextxy(x+46 ,y+39,"10 iгор");
x=212;y=120;i=0;
setfillstyle(1,4);
setlinestyle(0,0,0);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
while(!kbhit())
{
key=getch();if(key==13) break;//вихiд з функцii
key=getch();
//управлiння клавiшами курсора
switch(key)
{
case 72:
i--;
if(i<0) i=2;
setfillstyle(1,4);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
setfillstyle(1,0);
setcolor(0);
if(i==2){circle(x+24,y,9);
floodfill(x+24,y,0);}
else {circle(x+24,y+(i+1)*90,9);
floodfill(x+24,y+(i+1)*90,0);}
break;
case 80:
i++;
if(i>2)i=0;
setfillstyle(1,4);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
setfillstyle(1,0);
setcolor(0);
if(i==0){
circle(x+24,y+2*90,9);
floodfill(x+24,y+2*90,0);}
else {circle(x+24,y+(i-1)*90,9);
floodfill(x+24,y+(i-1)*90,0);}
break;
}
}
setlinestyle(0,0,0);
settextstyle(0,HORIZ_DIR,0);
setcolor(15);
setfillstyle(0,14);
cleardevice();
if(i==0)return 3;
if(i==1)return 5;
if(i==2)return 10;
return 0;
}
short speed()//функцiя вибору швидкостi руху плями (кульки)
{
int x,y,i,key;
x=212;y=77;
setcolor(BLUE);
setlinestyle(0,0,3);
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
settextstyle(0,HORIZ_DIR,2);
outtextxy(x+41,y+38,"Швидкiсть 1");
outtextxy(x+42 ,y+39,"Швидкiсть 1");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+41,y+38,"Швидкiсть 2");
outtextxy(x+42 ,y+39,"Швидкiсть 2");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+41,y+38,"Швидкiсть 3");
outtextxy(x+42 ,y+39,"Швидкiсть 3");
x=212;y=120;i=0;
setfillstyle(1,4);
setlinestyle(0,0,0);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
while(!kbhit())
{
key=getch();if(key==13) break;//вихiд з функцii
key=getch();
//управлiння клавiшами курсора
conio.h – для стандартної функції getch() та kbhit();
dos.h – для стандартної функції delay().
В головній функції програми int main() визиваються наступні функції:
initgraph(&dr, &mod,””) – ініціалізація графіки;
menu() – виклик головного меню гри;
closegraph() – закриває графічний режим і переводить систему в текстовий режим.
Тестування і перевірка програми
4.1. Розробка тестів
Тестування направлене на знаходження та виправлення помилок у програмах. Один з методів тестування базується на спостереженні за роботою програми. Відомо, що помилки у програмному забезпеченні мають схильність групуватися (принцип Парето). В програмі завжди є модулі, які є більш проблематичними, ніж інші. Для даної програми таким модулем є функція new_game(), що виконує в програмі провідну роль.
Отож, запустимо програму і будемо вести спостереження. При тестуванні нас цікавитимуть:
Чи є помилки у графічній реалізації;
Чи правильно відбивається кулька від стінок та лопаток;
Ситуація, коли кулька пролітає поза лопаткою: чи можемо ми не влучити і чи правильно ведеться рахунок. Для цього необхідно випробувати ряд випадків відбивання кульки в різних положеннях лопаток, а також, спеціально не влучити і впевнитись у тому, що супернику було нараховано очко на його рахунок.
4.2. Аналіз результатів роботи програми
Під час перевірки та тестування було проведено ряд тестів, які було описано вище, і в результаті вияснено, що програма працює більш-менш надійно і злагоджено, помилок виявлено не було.
Висновки
В результаті виконання даної курсової роботи засобами мови програмування С++ було розроблено програму, що реалізує гру “Відбивання кульки”. Виконані всі умови розробки програми.
Під час розробки даного курсового проекту, мною було вдосконалені деякі навички програмування на мові С++.
Список використаної літератури
В.В. Подбельский. Язык С++. М.: Финансы и статистика, 2005.
Шилдт Г. Искусство программирования на С++. СПб.: БХВ-Петербург, 2005
htpp://www.codenet.ru/
ДОДАТКИ
Додаток А:
#include
#include
#include
#include
short num()//функцiя вибору кiлькостi iгор
{
int x,y,i,key;
x=212;y=77;
setcolor(BLUE);
setlinestyle(0,0,3);
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
settextstyle(0,HORIZ_DIR,2);
outtextxy(x+45,y+38,"3 гри");
outtextxy(x+46 ,y+39,"3 гри");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+45,y+38,"5 iгор");
outtextxy(x+46 ,y+39,"5 iгор");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+45,y+38,"10 iгор");
outtextxy(x+46 ,y+39,"10 iгор");
x=212;y=120;i=0;
setfillstyle(1,4);
setlinestyle(0,0,0);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
while(!kbhit())
{
key=getch();if(key==13) break;//вихiд з функцii
key=getch();
//управлiння клавiшами курсора
switch(key)
{
case 72:
i--;
if(i<0) i=2;
setfillstyle(1,4);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
setfillstyle(1,0);
setcolor(0);
if(i==2){circle(x+24,y,9);
floodfill(x+24,y,0);}
else {circle(x+24,y+(i+1)*90,9);
floodfill(x+24,y+(i+1)*90,0);}
break;
case 80:
i++;
if(i>2)i=0;
setfillstyle(1,4);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
setfillstyle(1,0);
setcolor(0);
if(i==0){
circle(x+24,y+2*90,9);
floodfill(x+24,y+2*90,0);}
else {circle(x+24,y+(i-1)*90,9);
floodfill(x+24,y+(i-1)*90,0);}
break;
}
}
setlinestyle(0,0,0);
settextstyle(0,HORIZ_DIR,0);
setcolor(15);
setfillstyle(0,14);
cleardevice();
if(i==0)return 3;
if(i==1)return 5;
if(i==2)return 10;
return 0;
}
short speed()//функцiя вибору швидкостi руху плями (кульки)
{
int x,y,i,key;
x=212;y=77;
setcolor(BLUE);
setlinestyle(0,0,3);
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
settextstyle(0,HORIZ_DIR,2);
outtextxy(x+41,y+38,"Швидкiсть 1");
outtextxy(x+42 ,y+39,"Швидкiсть 1");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+41,y+38,"Швидкiсть 2");
outtextxy(x+42 ,y+39,"Швидкiсть 2");
y=y+90;
rectangle(x,y,x+221,y+86);
rectangle(x+3,y+3,x+221-3,y+86-3);
circle(x+25,y+43,10);
outtextxy(x+41,y+38,"Швидкiсть 3");
outtextxy(x+42 ,y+39,"Швидкiсть 3");
x=212;y=120;i=0;
setfillstyle(1,4);
setlinestyle(0,0,0);
setcolor(4);
circle(x+24,y+i*90,9);
floodfill(x+24,y+i*90,4);
while(!kbhit())
{
key=getch();if(key==13) break;//вихiд з функцii
key=getch();
//управлiння клавiшами курсора