Автор работы: Пользователь скрыл имя, 29 Октября 2014 в 19:11, курсовая работа
Компьютерные игры так же существуют для того , чтобы превратить досуг или свободную минутку человека в развлекательное, а иногда даже поучительное время препровождение. Многие компъютерные игры имеют не только развлекательную функцию, но и так же способные развивать реакцию, скорость мышления. Данная игра ‘пинг-понг’ с компъютером направлена на развитие быстроты реакции. Ведь с каждым новым уровнем скорость передвижения мяча по игровому полю становится значительно быстрее, что потребует от игрока молниеносную реакцию и способность думать на шаг вперед.
Введение 3.
1 Общий раздел 5.
1.1 Постановка задачи 5.
1.1.1 Определение основных функций задачи 7.
1.1.2 Требования к исходным данным 7.
1.2 Требования к техническим, программным средствам разработки и
функционированию программы 7.
1.2.1 Требования к техническим и программным средствам 7.
1.2.2 Обоснование выбранного языка программирования 9.
1.2.3 Описание языка программирования 9.
2 Специальный раздел 12.
2.1 Основные функции программы и их реализация 12.
2.2 Функции интерфейса 12.
2.3 Описание алгоритма решения задачи 14.
2.4 Тестирование основных функций задачи 17.
}
}
void keyboard(unsigned char key, int x,int y){
switch(key){
case '1' :
if((left.y <= player.winhei - left.size/2)&&(!player.done_
left.y <= player.winhei - left.size/2 упирается ли пластина в границы экрана
!player.done_left действие игрока */
player.done_left = true;
break;
case '3' :
if((left.y >= -player.winhei + left.size/2)&&(!player.done_
player.done_left = true;
break;
case '2' :
if((left.y >= -player.winhei + left.size/2)&&(!player.done_
player.done_left = true; //остановка платформы//
break;
case '5' : exit(0); //выход из игры//
break;
}
switch(key){
case 'a' :
if((right.y <= player.winhei - right.size/2)&&(!player.done_
player.done_right = true;
break;
case 'd' :
if((right.y >= -player.winhei + right.size/2)&&(!player.done_
player.done_right = true;
break;
case 's' :
if((right.y >= -player.winhei + right.size/2)&&(!player.done_
player.done_right = true; //остановка платформы//
break;
case '5' : exit(0); //выход из игры//
break;
}
}
void Timer (int value){
player.done_left = false;
player.done_right = false;
left.move();
right.move();
pong_ball.move();
pong_ball.reflection();
player.floor_reflect();
player.win();
glutPostRedisplay();
glutTimerFunc(20,Timer,0);
}
void draw(){
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glBegin(GL_QUADS);
glColor3f(0,0,1); //цвет платформы//
right.draw_r();//прорисовка правой части//
glColor3f(1,0,1); //цвет платформы//
left.draw_r();//прорисовка левой части//
glColor3f(1,1,1); //цвет платформы//
pong_ball.draw_ball();//
player.border();
player.draw_border();
player.draw_score_l();
player.draw_score_r();
glEnd();
glPopMatrix();
glutSwapBuffers();
}
void Initialization(int winwid, int winhei){
glClearColor(0,0,0,1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(0.8,0.8,0.8); //отдаляем поле, для
того чтобы нарисовать границы/
glRotatef(90,0,0,1);
glOrtho(-winwid,winwid,-
}
int main (int argc, char ** argv){
srand(time(NULL));
player.start_settings();
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_
glutInitWindowSize(player.
glutInitWindowPosition(200, 100); //позиция окна//
glutCreateWindow("***PONG***")
glutDisplayFunc(draw);
glutTimerFunc(100,Timer,0);
glutKeyboardFunc(keyboard);
Initialization(player.winwid, player.winhei);
glutMainLoop();
system("pause >> NULL");
return 0;
}
Список использованной литературы
КНИГИ:
КУРС ЛЕКЦИЙ: