ення налаштувань Іри, гра починається сача//_ left ++;// лівої платформі додається одне очко//
} ((score_left == 7) || (score_right == 7)) exit (0);// якщо одна з платформ набрала 7 очок, виходимо з гри//
} game :: draw_score_l () {// промальовування очок лівій частині//
glColor3f (1,1,1); (int i=0; i lt; score_left; i ++) {f (- 810 + i * 50,830); f (- 808 + i * 50,830) ; f (- 808 + i * 50,820); f (- 810 + i * 50,820);
}
} game :: draw_score_r () {f (1,1,1); (int i=0; i lt; score_right; i ++) {f (810 - i * 50,830); f ( 806 - i * 50,830); f (806 - i * 50,820); f (810 - i * 50,820);
}
} keyboard (unsigned char key, int x, int y) {(key) { 1 :((left.y lt;=player.winhei - left.size/2) amp; amp; (! player.done_left)) left.vy=7;/*
left.y lt;=player.winhei - left.size/2 впирається чи пластина в межі екрану
! player.done_left дію гравця * /. done_left=true ;; 3 :((left.y gt;=-player.winhei + left.size/2) amp; amp; (! player.done_left)) left.vy=- 7; .done_left=true ;; 2 :((left.y gt;=-player.winhei + left.size/2) amp; amp; (! player.done_left)) left.vy=0; .done_left=true;// зупинка платформи //;
case 5 :Exit (0);// вихід з гри//
break;
} (key) { a :((right.y lt;=player.winhei - right.size/2) amp; amp; (! player.done_right)) right.vy=7; .done_right=true ;; d :((right.y gt;=-player.winhei + right.size/2) amp; amp; (! player.done_right)) right.vy=- 7; .done_right=true ;; s :((right.y gt;=-player.winhei + right.size/2) amp; amp; (! player.done_right)) right.vy=0; .done_right=true;// зупинка платформи //;
case 5 :Exit (0);// вихід з гри//
break;
}
} Timer (int value) {. done_left=false; .done_right=false; .move () ;. move (); _ ball.move (); _ ball.reflection () ;. floor_reflect ( ) ;. win (); (); (20, Timer, 0);
} draw () {(GL_COLOR_BUFFER_BIT); (); (GL_QUADS); f (0,0,1);// колір платформи//
right.draw_r ();//промальовування правій частині//f (1,0,1);// колір платформи //. draw_r ();//промальовування лівій частині//f (1,1,1);// колір платформи//_ ball.draw_ball ();//промальовування кулі//
player.border () ;. draw_border () ;. draw_score_l () ;. draw_score_r (); (); (); ();
} Initialization (int winwid, int winhei) {(0,0,0,1.0); (GL_MODELVIEW); ();
glScalef (0.8,0.8,0.8);// віддаляємо поле, для того щоб намалювати кордону//
glRotatef (90,0,0,1); (- winwid, winwid, -winhei, winhei, - 2,2);// розширення екрану//
} main (int argc, char ** argv) {(time (NULL)) ;. start_settings (); ( amp; argc, argv); (GLUT_DOUBLE | GLUT_RGB); (player.winwid , player.winhei); (200, 100);// позиція вікна//( *** PONG *** ); (draw); (100, Timer, 0); (keyboard); (player.winwid, player.winhei); (); ( pause gt; gt; NULL ); 0;
}
Список використаної літератури
Джесс Ліберті. Освой самостійно С ++ за 21 день.- Четвертий видання/Пер. з англ.- М .: Видавничий дім «Вільямс», 2001.
КУРС ЛЕКЦІЙ По використанню динамічної пам'яті