WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Розробка гри “Відбивання кульки” - Курсова робота

Розробка гри “Відбивання кульки” - Курсова робота

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(i2)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шами курсора
switch(key)
{
case 72:
i--;
if(i2)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();
return 3-i+1;
}
void help()//процедура виводу пiдсказки
{
settextstyle(0,HORIZ_DIR,2);
setcolor(RED);
outtextxy(25,25,"Клавiшi керування:");
setcolor(GREEN);
settextstyle(1,HORIZ_DIR,0);
outtextxy(30,50,"Enter-початок гри");
setcolor(BLUE);
outtextxy(30,75,"ПЕРШИЙ ГРАВЕЦЬ:");
setcolor(GREEN);
outtextxy(30,100,"W - рух лопатки доверху");
outtextxy(30,125,"S - рух лопатки донизу");
setcolor(BLUE);
outtextxy(30,150,"ДРУГИЙ ГРАВЕЦЬ:");
setcolor(GREEN);
outtextxy(30,175,"Up - рух лопатки доверху");
outtextxy(30,200,"Down - рух лопатки донизу");
settextstyle(0,HORIZ_DIR,0);
setcolor(15);
outtextxy(30,250,"Для виходу натиснiть будь-яку клавiшу...");
getch();
}
void about()//процедура виводу iнформацii про автора
{
settextstyle(0,HORIZ_DIR,2);
setcolor(RED);
outtextxy(25,25,"Автор:");
setcolor(GREEN);
settextstyle(1,HORIZ_DIR,0);
outtextxy(30,50,"студент групи 1IС-05 ТКАЧУК АНДРIЙ");
settextstyle(0,HORIZ_DIR,0);
setcolor(15);
outtextxy(30,100,"Для виходу натиснiть будь-яку клавiшу...");
getch();
}
//Клас точки на екранi
class point
{
protected: // Захищенi данi класу:
int x, y; //Координати точки
// Прототипи загальнодоступних компонентних функцiй:
public:
// Конструктор з параметрами.
point(int xi = 0, int yi = 0);
int& givex(void); // Доступ до х ???
int& givey(void); // Доступ до у ???
void show(void); // Зобразити точку на екранi
// Перемiстити точку в нове мiсце екрану:
// (хn=0, уn=0 - замовчуванi значення параметрiв)
void move(int xn = 0, int yn = 0);
private: // Власна функцiя класу:
void hide(); // Забрати з екрану зображення точки
};
//***************************
// Описання функцiй класу.
//***************************
// Описання конструктора класу.
point::point(int xi, int yi)
{x=xi; y=yi;} // визначення даних об'екту
// Описання функцiй доступа до координат центру
// Описання функцiй зображення точки на екранi
void point::show(void)
// зафарбовуе пiксель з координатами
// X, Y поточним кольором малюнку
{putpixel(x,y,getcolor());}
//Забрати з екрану зображення точки
void point::hide(void)
// аналогiчно, але кольором фону
{putpixel(x,y,getbkcolor());}
// Перемiстити точку на нове мicце екрану
// з координатами XN, YN.
void point::move(int xn, int yn)
{
//спочатку забираемо з екрану поточну точку
hide();
//встановлюемо новi координати точки
x=xn; y=yn;
//Зображаемо на экранi точку на новому мicцi
show();
}
// Клас роботи з плямою на екранi.
// 'public' дозволить зберегти статуси доступу
// для наслiдуемих компонентiв класу POINT:
class spot:public point
{
//Статус доступностi даних в похiдному класi:
protected:
int rad; // Радiус плями (зображення)
int vis; // Видимiсть плями на екранi
int tag; // Ознака збереження образу в памятi
void *pspot; // показник на область пам'ятi для
// зображення (для бiтового образу)
public:
// Конструктор класу SPOT:
spot(int xi, int yi, int ri):
// Виклик конструктора базового класу:
point(xi,yi)
{
vis=tag=0; rad = ri;
// Визначити розмiри бiтового образу та
// видiлити пам'ять для нього. Розмiр
// визначаемо, задавши координати ЛIВИЙ
// ВЕРХНIЙ та ПРАВИЙ НИЖНIЙ.
pspot = new char[imagesize(xi-ri,yi-ri,xi+ri,yi+ri)];
}
~spot() // Деструктор класу SPOT
{
hide(); // Забрати з екрану зображення плями
tag =0; // скинути ознаку збереження в пам'ятi
delete pspot; // Звiльнити пам'ять бiтового образу
}
// Описання функцii зображення плями на екранi
void show ()
{ // Якщо бiтового образу НЕМАЕ в пам'ятi:
if (!tag)
{ // Намалювати поточним кольором на екранi
// коло вказаного радiуса та центру:
circle(x,y,rad);
// Замалювати вже обмежену зону кольорiв
// границi, де X,Y - внутрiшнi точки зони
floodfill(x,y,getcolor()) ;
// Запам'ятати бiтовий образ в
Loading...

 
 

Цікаве