سورس مسابقه ماشین ها با OpenGL به زبان C++

۱۳۹۷-۱۰-۱۰
سورس مسابقه ماشین ها با OpenGL به زبان C++ در این بخش سورس مسابقه ماشین ها با OpenGL را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی C++ نوشته شده است. با مشاهده سورس کد این پروژه می توانید نحوه ساخت بازی های ساده و دو بعدی و همچنین مواردی مانند رسم اشکال مختلف، حرکت دادن شیء ...

2d car racing game in opengl using cpp 5284 تصویر

سورس مسابقه ماشین ها با OpenGL به زبان C++

در این بخش سورس مسابقه ماشین ها با OpenGL را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی C++ نوشته شده است. با مشاهده سورس کد این پروژه می توانید نحوه ساخت بازی های ساده و دو بعدی و همچنین مواردی مانند رسم اشکال مختلف، حرکت دادن شیء ها را بیاموزید. در ادامه می توانید توضیحات و تصاویر مربوط به این برنامه را مشاهده کنید.

توضیحات پروژه

در این پروژه OpenGL، بعد از اجرا شدن برنامه، چندین ماشین در خیابان موجود در صفحه برنامه به حرکت در می آیند و ماشین ما با آن ها مسابقه می دهد. شرایط بازی به این شکل است که ماشین ما نباید با دیواره ها و ماشین های دیگر برخورد کند. به منظور کنترل ماشین کلیدهای ۲،۴،۶ و ۸ در نظر گرفته شده اند. همچنین شما می توانید با استفاده از کلیدهای ۰،۱،۳ رنگ مسیر مسابقه را تغییر دهید. کلید s برای شروع مسابقه و کلید q برای خروج از آن تعیین شده اند.

در زیر برخی از توابع استفاده شده در این پروژه را مشاهده می کنید:

  • تابع car: برای ترسیم شکل کلی و ظاهر ماشین استفاده می شود.
  • تابع display: اشیاء موجود در صفحه رو به نمایش در می آورد و می توانید تعیین کنید که چه قسمت هایی نمایش داده شوند و چه قسمت هایی نمایش داده نشوند.
  • تابع keyboards: برای مدیریت کلید های فشرده شده توسط کاربر استفاده می شود.
  • تابع enemy: برای نمایش ماشین های حریف استفاده می شود.

2d car racing game in opengl using cpp 5284 1 تصویر

قسمت های از سورس پروژه:

#include <gl\glut.h>
int score, exit1 = 0;
float x, y;
float x1, y1 = 1000, x2 = 200, x3 = -200, y2 = 1500, y3 = 2000;
int time = 0;
typedef struct lines
{
	int x, y;
}linet;
linet line[5];
void createline()
{
	int i = 0;
	for (; i<5; i++)
	{
		line[i].x = 0;
		line[i].y = i * 250;
	}
}
void enemy(float a, float b)
{
	glBegin(GL_QUADS);
	glColor3f(0, 0, 0);
	glVertex2f(-75 + a, 50 + b);
	glVertex2f(-75 + a, 100 + b);
	glVertex2f(75 + a, 100 + b);
	glVertex2f(75 + a, 50 + b);
	glColor3f(0, 0, 0);
	glVertex2f(-75 + a, 150 + b);
	glVertex2f(-75 + a, 200 + b);
	glVertex2f(75 + a, 200 + b);
	glVertex2f(75 + a, 150 + b);
	glColor3f(1, 0, 0);
	glVertex2f(-25 + a, 40 + b);
	glVertex2f(-25 + a, 250 + b);
	glVertex2f(25 + a, 250 + b);
	glVertex2f(25 + a, 40 + b);
	glEnd();
}
void car(float a, float b)
{
	glBegin(GL_QUADS);
	glColor3f(0, 0, 0);
	glVertex2f(-75 + a, 50 + b);
	glVertex2f(-75 + a, 100 + b);
	glVertex2f(75 + a, 100 + b);
	glVertex2f(75 + a, 50 + b);
	glColor3f(0, 0, 0);
	glVertex2f(-75 + a, 150 + b);
	glVertex2f(-75 + a, 200 + b);
	glVertex2f(75 + a, 200 + b);
	glVertex2f(75 + a, 150 + b);
	glColor3f(1, 1, 0);
	glVertex2f(-25 + a, 40 + b);
	glVertex2f(-25 + a, 250 + b);
	glVertex2f(25 + a, 250 + b);
	glVertex2f(25 + a, 40 + b);
	glEnd();
}
void dropmenu(int keys)
{
	keyboards((unsigned char)keys, 0, 0);
}

int main(int argc, char **argv)
{
	glutInit(&argc, argv);
	glutInitWindowSize(700, 700);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutCreateWindow("SourceSara.Com | Car Race");
	glClearColor(1, 1, 1, 1);//set Background
	glutDisplayFunc(display);
	glutKeyboardFunc(keyboards);
	createline();
	gluOrtho2D(-1000, 1000, 0, 1000);
	glutMainLoop();
	return 0;             /* ANSI C requires main to return int. */
}

نکات

  • این پروژه در نرم افزار Visual Studio نسخه ۲۰۱۵ تست شده است و به خوبی کار می کند.
  • به منظور اجرای پروژه های OpenGL باید آن را بر روی IDE خود نصب کنید (آموزش نصب OpenGL).
  • در صورت نا مفهوم بودن بخشی از کد، می توانید در قسمت نظرات مطرح کنید تا برای شما توضیح داده شود.

نوشته سورس مسابقه ماشین ها با OpenGL به زبان C++ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.