Назва: Розробка гри “Відбивання кульки”
Тип: Реферати
Мова: Українська
Розмiр: 94,12 KB
Скачувань: 20


Скачати реферат українською    

1 2 3 4 5 6

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();

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товий образ в пам'ятi:

getimage(x-rad,y-rad,x+rad,y+rad,pspot);

// введення ознаки збереження в пам'ятi

tag=1;

}

// Якщо Е, то

else

// Перенести зображення з пам'ятi на екран,

// починаючи з ЛIВОГО ВЕРХНЬОГО, СКIЛЬКИ,


Скачати україномовний реферат    


1 2 3 4 5 6



Украинская Баннерная Сеть