الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية رسم لوحة الشطرنج بإستخدام Open Gl Cpp

بدأه hamzah hussein في 1 نوفمبر 2009 · 8 رد · 4,357 مشاهدة · في OpenGL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه

أنا الآن بدأت أستخدم برنامج الأوبن جي إل و أريد معرفة كيفية رسم لوحة الشطرنج كامله على الويندو التي نقوم بإنشائها

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

الأمر ليس بالسهوله التي تظنها اخي....خاصةً اذا اردت ان تصمم لوح شطرنج يكون الاقرب للواقع.نصيحتي اذا اردت بناء لعبة مثلاً بان تقوم

بتصميم اللوح على احد برامج التصميم (3Ds max او maya او XSI ...) امّا ان اردت ان ترسمها فقط وليس لغرض اخر مثل برمجة لعبة, فهذا

الامر ليس مستحيلاً لكنّه يحتاج لجهد خاصةً وانك ما زلت مبتداً متحمس...لكن بما انك تريد رسمها على نافذه يجب عليك تعلم الـ GUI اذهب

وانظر في دروس الاخوه جزاهم الله خير اظن بأن هنالك دوره لتعلم الـGUI لكنني لست متأكداً

والسلام عليكــم ورحمـة الله وبركاتــه

تم تعديل هذه المشاركة بواسطة ame5r في 1 نوفمبر 2009 في 23:43

If Games Are Fun.....So Making Games Making Fun

#3

احفظ اللوحه في Display List ثم تقوم بأستدعائها عند الرسم

واستخدم ال texture لصوره اللوحه وسوف يضهر لك شكل رائع للوحه .

تم تعديل هذه المشاركة بواسطة Ali Al-Zyoud في 2 نوفمبر 2009 في 09:33

#4
Ali Al-Zyoud كتب:
احفظ اللوحه في Display List ثم تقوم بأستدعائها عند الرسم

واستخدم ال texture لصوره اللوحه وسوف يضهر لك شكل رائع للوحه .

شكراً لك اخي الكريم

لكن أنا أريد الكود فقط الخاص بلوحة الشطرنج العادية وليس اللعبة

#5

نعم ان قلت لك طريقه عمل اللوحه

إن شاء الله خلال اليوم اقدر اساعدك واعمل الكود ، لاني الان بالعمل بس اصل البيت إن شاء الله

#6
Ali Al-Zyoud كتب:
نعم ان قلت لك طريقه عمل اللوحه

إن شاء الله خلال اليوم اقدر اساعدك واعمل الكود ، لاني الان بالعمل بس اصل البيت إن شاء الله

شكراً لك اخي الكريم

منتظر الرد

#7
#include <windows.h>
#include <GL/gl.h>
#include <GL/glext.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <GL/glaux.h>
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glu32.lib")
#pragma comment(lib,"glaux.lib")
AUX_RGBImageRec* image;
GLuint gltex;
float x=0;

void CALLBACK display(void)
{
glEnable(GL_TEXTURE_2D);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho(-600,600,-600,600,-6000,6000);
//gluPerspective(120,1,1,1000);;   
gluLookAt( 0,0,-500, 0,0,500, 1,0,1 );
//glMatrixMode( GL_MODELVIEW );
glEnable(GL_DEPTH_TEST);
}
void CALLBACK movie(){
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glBindTexture(GL_TEXTURE_2D,gltex);//first texture
glBegin(GL_QUADS);
glTexCoord2f(0.0, 0.0); glVertex3f(500,500, 0.0);
glTexCoord2f(0.0, 1.0); glVertex3f(500,-500, 0.0);
glTexCoord2f(1.0, 1.0); glVertex3f(-500,-500, 0.0);
glTexCoord2f(1.0, 0.0); glVertex3f(-500, 500, 0.0);
glEnd();
glRotated(1,0,0,x++);
glEnd();
auxSwapBuffers();}
void main()
{
float pos[4] = {0,0,250,1};
float dir[3] = {0,0,-1};
	auxInitPosition( 50, 10, 600, 600);
	auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
	auxInitWindow(L"Texture");
	glEnable(GL_DEPTH_TEST);
	glEnable(GL_COLOR_MATERIAL);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_AUTO_NORMAL);
	float color[]={1,1,1};
glLightfv(GL_LIGHT0,GL_DIFFUSE,color);
glLightfv(GL_LIGHT0,GL_AMBIENT,color);
	glLightfv(GL_LIGHT0, GL_POSITION, pos);
	glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);
	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glGenTextures(1,&gltex);
glBindTexture(GL_TEXTURE_2D,gltex);
image = auxDIBImageLoad(L"1.bmp");
gluBuild2DMipmaps( GL_TEXTURE_2D, 3, image->sizeX, image->sizeY,GL_RGB, GL_UNSIGNED_BYTE, image->data );
auxIdleFunc(movie);
auxMainLoop(display);
}

طبعاً يجب ان تحمل الصوره الاول حتى يعمل الكود

ويجب ان يكون عندك فيجيول ستوديو 2005

الصوره واللعبه موجوده بالمرفقات

chessboard.rar

#8

شكراً لك اخي الكريم أتعبتك معي يبدو بأنك لم تفهم قصدي فأنا أريد الكود وليس إظهار صورة الشطرنج على الويندو

−2
#9
hamzah hussein كتب:
شكراً لك اخي الكريم

لكن أنا أريد الكود فقط الخاص بلوحة الشطرنج العادية وليس اللعبة

????????

مالذي تريده بضبط ؟؟

مواضيع مشابهة