Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка комп'ютерної гри &Пінг-понг&

Реферат Розробка комп'ютерної гри &Пінг-понг&





justify">} win ();// функція відповідає за побду гравця//

void start_settings ();// базові настройки//

void floor_reflect ();// віддзеркалення кулі від екрану//border ();// межі по середині//draw_border ();// межа навколо поля//draw_score_l ();// Промальовує окуляри лівого//draw_score_r ();// і правого гравця//

} player; ball {: x;// координати кулі//y;// координати кулі//vx;// швидкість кулі//vy;// швидкість кулі//move () {// рух кулі//

x +=vx;// по х//+=vy;// по y//

} reflection ();// Віддзеркалення кулі від пластин//

void draw_ball ();// малюємо наш куля//

} pong_ball; reflector {// пластини //: x;// координати пластини//y;// координати пластини//vy;// швидкість пластини//

int size;// розмір пластини//

reflector () {

x=0;

y=0;

vy=0;=250;// розмір пластини//

} draw_r ();// малюємо пластину//move ();

} left, right;// ліва, права пластина//reflector :: draw_r () {// малює пластину відображає куля//

glVertex2f (x + 10, y + size/2); f (x + 10, y - size/2); f (x - 10, y - size/2); f (x- 10, y + size/2);

} ball :: reflection () {// функція відбивача//((x lt; left.x + 10) amp; amp; (fabs (double (y - left.y)) lt ; left.size/2)) {vx=-vx; vy +=left.vy * 1;}/*

x lt; left.x + 10 куля досягає пластину (double (y - left.y) порівнює відстань по у від кулі до центру пластіни.size/2 розмір пластини попалам

якщо fabs (double (y - left.y) gt; left.size/2, то куля проходить міміо пластини

якщо fabs (double (y - left.y) lt; left.size/2, то куля вдаряється об пластину=-vx його швидкість змінюється на протилежну

коефіцієнт ковзання */((x gt; right.x - 10) amp; amp; (fabs (double (y - right.y)) lt; right.size/2)) {vx =-vx; vy +=right.vy * 1;}

} ball :: draw_ball () {// промальовування кулі//f (1, (rand ()% 10)/10, (rand ()% 10)/10); f (x + 10 + rand ()% 7, y + 10 + rand ()% 7); f (x + 10 + rand ()% 7, y - 10 + rand ()% 7); f (x - 10 + rand ()% 7, y - 10 + rand ()% 7); f (x - 10 + rand ()% 7, y + 10 + rand ()% 7);

glColor3f (0,0,0);

} game :: floor_reflect () {// відбиття від верхньої та нижньої межі//

if ((pong_ball.y lt; -player.winhei) || (pong_ball.y gt; player.winhei)) pong_ball.vy=-pong_ball.vy;/*

якщо координати кулі pong_ball.y менше координат негативною кордону-player.winhei,

то куля змінює швидкість на протилежну pong_ball.vy=-pong_ball.vy

якщо pong_ball.y gt; player.winhei, то pong_ball.vy=-pong_ball.vy */

} game :: start_settings () {. x=- 710;//координати відбивача по х//

right.x=710;//координати відбивача по у//

int i=rand ()% 2; (i == 0) pong_ball.vx=7;// базова швидкість по х//

if (i == 1) pong_ball.vx=- 7;// швидкість відбитого кулі//_ ball.vy=0;// базова швидкість по у//_ ball.x=0;// координати кулі//_ ball.y=0;// координати кулі//

} game :: border () {// промальовування кордону між правою і лівою частиною//

glColor4f (0,1,0,0); f (- 2,800); f (2,800); f (2, - 800); f (- 2, - 800); f (1 , 1,1);

} game :: draw_border () {// промальовування межі навколо поля//

glColor3f (0.1,0.8,0.1); f (810,810); f (800,810); f (800, - 810); f (810, - 810); f (1,1,1 ); f (0.1,0.8,0.1,0); f (810,810); f (810,800); f (- 810,800); f (- 810,810); f (1,1,1); f (0.1,0.8, 0.1,0); f (- 810, - 810); f (- 810,810); f (- 800,810); f (- 800, - 810); f (1,1,1); f (0.1,0.8, 0.1,0); f (- 810, - 810); f (810, - 810); f (810, - 800); f (- 810, - 800); f (1,1,1);

} reflector :: move () {// пересування платформ//((y gt;=-player.winhei + size/2) amp; amp; (y lt;=player.winhei -size/2)) {y +=vy;}//рух платформ//((y lt; -player.winhei + size/2)) {y=-player.winhei + size/2; vy=0;}/* сталкновеніе платформ

з верхньою межею */((y gt; player.winhei - size/2)) {y=player.winhei - size/2; vy=0;}/* сталкновеніе платформ

з нижньою межею */

} game :: win () {(pong_ball.x lt; left.x) {// куля вийшов за межі лівої платформи //. start_settings ();// обнулення налаштувань Іри, гра починається сача//_ right ++;// правої платформі додається одне очко//

} (pong_ball.x gt; right.x) {// куля вийшов за межі правої платформи //. start_settings ();// обнул...


Назад | сторінка 5 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Просування бутіка розміру plus size на прикладі ТОВ &Атлант&, бутік &Elena ...
  • Реферат на тему: Теплофізичний розрахунок кулі
  • Реферат на тему: Обробка кореневмісного кулі ґрунту
  • Реферат на тему: Характеристика ЗАСОБІВ контролю поверхонь и Поверхнево кулі
  • Реферат на тему: Динаміка обертання твердого тіла на прикладі диска і кулі радіусом R