Iklan Header

projects.co.id

Membuat Papan Catur 8x8 3D Menggunakan OpenGL

Temen-temen suka bermain catur?

Kalau saya suka sekali bermain catur waktu masih SMA.

Sedikit cerita nih, waktu masih SMA dulu saya hampir setiap hari ke perpustakaan sekolah.

Tapi bukan untuk membaca buku apalagi ketemuan sama cewek :v melainkan untuk bermain catur wkwkwk ...

Pernah dulu saking keseruan bermain catur, sampai-sampai jam pelajaran di pakai buat main catur sama temen-temen.

Parahnya lagi waktu itu ketahuan guru penegak kedisiplinan.

Dan temen-temen tau apa yang terjadi selanjutnya? Papan caturnya dipatahin sama pak guru penegak disiplin itu wkwkwk ... Sejak saat itu saya patah hati kapok bermain catur di jam pelajaran karena takut ketahuan lagi, sehingga hanya bermain catur di jam istirahat dan juga jam kosong saja hehehe ...

Karena waktu itu saya sering bermain catur, lama-kelamaan skill bermain catur saya semakin meningkat.

Hingga saat OSIS mengadakan classmeeting(lomba antar kelas) saya di percaya sama temen-temen sekelas untuk menjadi salah satu kontingen kelas XII IPA 2 dalam cabang lomba catur wkwkwk :v dan alhamdulillah saya mendapatkan juara dua dalam classmeeting terakhirku tersebut.

By the way, bermain catur itu banyak sekali lho manfaatnya... diantara yang saya ketahui yaitu meningkatkan konsentrasi, meningkatkan kreatifitas, meningkatkan kemampuan analisa, melatih kesabaran, melatih berpikir logis, melatih berpikir sistematik, melatih kepekaan, mempertajam daya ingat dan yang pasti memperkuat otot-otot jari dan lengan kita karena harus mengangkat raja, kuda bahkan benteng :v

Oke, saya rasa cukup ya ceritanya hehehe ...

Selanjutnya mari kita bahas topik utama pada postingan kali ini. Sesuai judul yang tertera di atas, kali ini saya akan membagikan contoh code untuk membuat papan catur 8x8 3D di codeblocks.

Berikut tampilan papan catur 8x8 3D yang akan kita buat :

Membuat Papan Catur 8x8 3D Menggunakan OpenGL
Dan berikut code untuk membuat tampilan papan catur 8x8 3D di atas.

PapanCatur.cpp

#include <windows.h>
#include <GL/glut.h>
#include <stdlib.h>

float rotasi=0;
float R=1,G=0,B=0;

//Kubus
void Kubus()
{
//belakang
glColor3f(0.0,0.0,1.0);
glBegin(GL_POLYGON);
glVertex3f(1.0, -1.0, -0.25);
glVertex3f(-1.0, -1.0, -0.25);
glVertex3f(-1.0, 1.0, -0.25);
glVertex3f(1.0, 1.0, -0.25);
glEnd();

//kiri
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(-1.0, -1.0, -0.25);
glVertex3f(-1.0, -1.0, 0.25);
glVertex3f(-1.0, 1.0, 0.25);
glVertex3f(-1.0, 1.0, -0.25);
glEnd();

//kanan
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(1.0, -1.0, -0.25);
glVertex3f(1.0, 1.0, -0.25);
glVertex3f(1.0, 1.0, 0.25);
glVertex3f(1.0, -1.0, 0.25);
glEnd();

//bawah
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(1.0, -1.0, 0.25);
glVertex3f(-1.0, -1.0, 0.25);
glVertex3f(-1.0, -1.0, -0.25);
glVertex3f(1.0, -1.0, -0.25);
glEnd();

//atas
glColor3f(1.0,0.0,0.0);
glBegin(GL_POLYGON);
glVertex3f(-1.0, 1.0, 0.25);
glVertex3f(1.0, 1.0, 0.25);
glVertex3f(1.0, 1.0, -0.25);
glVertex3f(-1.0, 1.0, -0.25);
glEnd();

//depan
glColor3f(R,G,B);
glBegin(GL_POLYGON);
glVertex3f(-1.0, -1.0, 0.25);
glVertex3f(1.0, -1.0, 0.25);
glVertex3f(1.0, 1.0, 0.25);
glVertex3f(-1.0, 1.0, 0.25);
glEnd();
}

void PapanCatur()
{
glPushMatrix();
glTranslated(-7.0,-7.0,0.0);
Kubus();
glPopMatrix();
}

void display()
{
glClear(GL_COLOR_BUFFER_BIT| GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotated(rotasi,0,1,0);
glPushMatrix();
for(int x=1;x<=4;x++){
glPushMatrix();
for(int x=1;x<=8;x++){
if(x%2!=0){
R=1;G=1;B=1;
glColor3f(1,1,0);
}else{
R=0;G=0;B=0;
glColor3f(0,0,1);
}
PapanCatur();
glTranslated(2,0,0);
}
glPopMatrix();
glTranslated(0,4,0);
}
glPopMatrix();
glTranslated(0,2,0);
glPushMatrix();
for(int x=1;x<=4;x++){
glPushMatrix();
for(int x=1;x<=8;x++){
if(x%2 == 0){
R=1;G=1;B=1;
glColor3f(1,1,0);
}else{
R=0;G=0;B=0;
glColor3f(0,0,1);
}
PapanCatur();
glTranslated(2,0,0);
}
glPopMatrix();
glTranslated(0,4,0);
}
glPopMatrix();
glPopMatrix();
glFlush();
}

void keyboard(unsigned char key, int x, int y)
{
switch (key)
{
/* aplikasi berhenti ketika tombol q ditekan */
case 27 :
case 'q':
exit(0);
break;
case 'T':
if(key=='T'){
rotasi+=10;
}
case 't':
if(key=='t'){
rotasi-=10;
}
}
glutPostRedisplay();
}

void mouse(int button, int state, int x, int y)
{
switch (button)
{
case GLUT_LEFT_BUTTON:
if(button == GLUT_LEFT_BUTTON){
rotasi+=10;
}
case GLUT_RIGHT_BUTTON:
if(button == GLUT_RIGHT_BUTTON){
rotasi-=10;
}
}
glutPostRedisplay();
}

void myinit()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-10.0, 10.0, -10.0, 10.0, -10.0, 10.0);
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0,1.0,1.0,1.0);
glShadeModel(GL_FLAT);
glEnable(GL_DEPTH_TEST);
}

int main(int argc, char* argv[]){
glutInitWindowPosition(400,100);
glutInitWindowSize(600,600);
glutCreateWindow("Chess Board 8 x 8 || Programmer Bojonegoro");
glutDisplayFunc(display);
glMatrixMode(GL_MODELVIEW);
glutKeyboardFunc(keyboard);
glutMouseFunc(mouse);
myinit();
glutMainLoop();
return 0;
}


Nah, itulah contoh code untuk membuat papan catur 8x8 3D di codeblocks.

Alhamdulillah, semoga bermanfaat dan dapat menambah wawasan temen-temen semua ...

Berlangganan update artikel terbaru via email:

0 Response to "Membuat Papan Catur 8x8 3D Menggunakan OpenGL"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel