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

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

ship simulator in opengl using cpp 5002 سورس حرکت کشتی در دریا با OpenGL به زبان C++

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

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

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

این پروژه به صورت Console است و زمانی که کاربر آن را اجرا می کند، یک پنجره OpenGl باز می شود و یک کشتی از سمت چپ صفحه برنامه به سمت راست صفحه حرکت می کند. و بعد از مدتی به یک صخره یخی که در وسط دریا قرار دارد می رسد و با آن برخورد کرده به آرامی غرق می شود. این پروژه با نام کشتی تایتانیک نیز مشهور است.

سورس این پروژه شامل توابع زیر است که هر کدام را به صورت مختصر توضیح داده ایم:

  • تابع update : که به منظور اپدیت کردن صفحه نمایش برنامه و موقعیت کشتی استفاده می شود.
  • توابع display : که به منظور حرکت دادن کشتی بر روی آب استفاده می شوند.
  • تابع water : که برای رسم دریا استفاده می شود.
  • تابع ship : که کارش رسم کردن شکل کشتی بر روی صفحه نمایش است.
  • تابع ice : که برای رسم صخره یخی در وسط دریا استفاده می شود.
  • تابع myinit : که به منظور آماده سازی OpenGL استفاده می شود.

ship simulator in opengl using cpp 5002 1 سورس حرکت کشتی در دریا با OpenGL به زبان C++

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

#include <stdio.h>
#include <Gl\GLUT.h>
#include <time.h>
void ice();
void display1();
void display2();
void display3();
void ship();
void water();
GLint a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 500, h = 600, x = 0, i = 0;
GLfloat theta = 0.0;
void update(int value)
{
	a += 20.0;
	glutPostRedisplay();
	glutTimerFunc(200, update, 0);
}
void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	display1();
	if (a > 950)
	{
		b += 20;
		display2();
	}
	if (b > 250)
	{
		c += 10;
		display3();
	}
	glFlush();
	glutSwapBuffers();
}
void water()
{
	glColor3f(0.0, 0.0, 1.0);
	glBegin(GL_POLYGON);
	glVertex2f(0, 0);
	glVertex2f(1000, 0);
	glVertex2f(1000, 100);
	glVertex2f(0, 100);
	glEnd();
}
void myinit()
{
	glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
	glColor3f(1.0, 0.0, 0.0);
	glPointSize(1.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluOrtho2D(0.0, 999.0, 0.0, 799.0);
}
int main(int argc, char* argv[])
{
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutInitWindowSize(700, 500);
	glutInitWindowPosition(300, 150);
	glutCreateWindow("SourceSara.Com | Ship Simulator In OpenGL");
	glutDisplayFunc(display);
	myinit();
	glutTimerFunc(100, update, 0);
	glutMainLoop();
	return 0;
}

نکات

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

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