سورس حرکت کشتی از زیر پل با OpenGL به زبان C++

moveable bridge and ship in opengl using cpp 5069 سورس حرکت کشتی از زیر پل با OpenGL به زبان C++

سورس حرکت کشتی از زیر پل با OpenGL به زبان C++

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

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

هنگامی این پروژه اجرا شود، یک محیط گرافیکی شامل پل، ماشین، و یک کشتی رسم می شود. سپس کاربر می تواند با استفاده از گزینه Start Animation برنامه را اجرا کند و با گزینه Stop Animation نیز آن را متوقف نماید. با شروع انیمیشن کشتی و ماشین شروع به حرکت می کنند و زمانی که کشتی به پل برسد ماشین متوقف شده و پل بالا می آید تا کشتی از زیر آن رد شود. بعد از رد شدن کشتی، پل به حالت اول باز می گردد و ماشین از روی آن رد می شود.

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

  • تابع boat: این تابع برای رسم قایق یا کشتی که در دریا حرکت می کند، استفاده می شود.
  • تابع keyboard: این تابع به شما اجازه می دهد تا با کلید های کیبورد رنگ کشتی را تغییر دهید.
  • تابع bridge: این تابع پل و اشکال موجود بر روی آن را رسم می کند.
  • تابع animate: این تابع برای به حرکت در آوردن صفحه استفاده می شود.
  • تابع poles: این تابع بازوی که پل را نگه می دارد را رسم می کند.
  • تابع car: این تابع برای رسم ماشینی که بر روی پل حرکت می کند،
  • تابع myinit: این تابع به منظور آماده سازی OpenGL مقدار دهی اولیه استفاده می شود.
  • تابع sea: این تابع برای رسم دریا استفاده می شود.

moveable bridge and ship in opengl using cpp 5069 9 سورس حرکت کشتی از زیر پل با OpenGL به زبان C++

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

#include <stdio.h>
#include <gl/glut.h>
///Declaration of global variables   ////////
float y = 0, ang = 0, i = 0, k = 0, n = 0;
float a = 900, b = 880, c = 900, d = 900, p, q = 0, s;
float g = 0;   // car  translate indicator
float m = .80, j = .50, o = .15;
///// sea function to display river  ////////
void sea()
{
	glColor3f(1.0, 0.0, 0.0);
	glBegin(GL_POLYGON);
	glColor3f(0.0, 0.50, 1.0);
	glVertex2f(0.0, 0.0);
	glVertex2f(2000.0, 0.0);
	glVertex2f(2000.0, 1600.0);
	glVertex2f(0.0, 1600.0);
	glEnd();
	glPushMatrix();
	glTranslatef(0, q, 0);
	glBegin(GL_LINES);
	glColor3f(1.0, 1.0, 1.0);
	for (p = 0; p<20000; p = p + 100)
		for (s = 0; s<20000; s = s + 100)
			glVertex2f(100.0 + s, 100.0 + p);
	glVertex2f(200.0 + s, 100.0 + p);
	glEnd();
	glPopMatrix();
}
////// display function  /////
void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	sea();
	bridge();
	boat();
	car();
	poles();
	glFlush();
	glutSwapBuffers();
}
///////   functio to animate bridge stripes   ///
void animate()
{
	q = q - .5;
	y = y + 0.2;

	i += 0.2;
	if ((i >= 135) && (i <= 439))
	{
		k = k + 0.1;
		n = n + 0.1;
	}
	if (i >= 1200 && !(k <= 0 && n <= 0))
	{
		k = k - 0.1;
		n = n - 0.1;
	}
	if (k <= 0)
		g -= 0.5;
	glutPostRedisplay();
}
void myinit()
{
	glClearColor(1.0, 1.0, 1.0, 1.0);
	glColor3f(1.0, 1.0, 1.0);
	glPointSize(1.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(0.0, 2000.0, 0.0, 1600.0);
}
/////////////////////////////////// Menu function  ///////////////////////
void main_menu(int ch)
{
	switch (ch)
	{
  	case 1:glutIdleFunc(NULL);
		break;

	case 2:glutIdleFunc(animate);
		break;

	case 3:exit(0);
	}
}

نکات

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

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

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *