Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * GLUT Shapes Demo
- *
- * Written by Nigel Stewart November 2003
- *
- * This program is test harness for the sphere, cone
- * and torus shapes in GLUT.
- *
- * Spinning wireframe and smooth shaded shapes are
- * displayed until the ESC or q key is pressed. The
- * number of geometry stacks and slices can be adjusted
- * using the + and - keys.
- */
- #ifdef __APPLE__
- #include <GLUT/glut.h>
- #else
- #include <GL/glut.h>
- #endif
- #include <iostream>
- #include <stdlib.h>
- #include <string.h>
- #include <stdio.h>
- #include <ctime>
- #include <cstdlib>
- #include <stdlib.h>
- #include <stdio.h>
- #include <math.h>
- float agerak[] = {-45,10};
- float bgerak[] = {-45,0};
- int geraka = 0;
- int gerakb = 0;
- float timerandom = 0;
- float ortho[] = {-60,60,-40,60};
- float kakikiri[] = {0, 0, 4, 0, 4, 1, 0, 1};
- float kakikanan[] = {6, 0, 10, 0, 10, 1, 6, 1};
- float betiskiri[] = {2.5, 1, 2.5, 12, 4, 12, 4, 1};
- float betiskanan[] = {7.5, 1, 7.5, 12, 8.5, 12, 8.5, 1};
- float shadowkakikiri[] = {1.5, 1, 1.5, 12, 2.5, 12, 2.5, 1};
- float shadowkakikanan[] = {6, 12, 6, 1, 7.5, 1, 7.5, 12};
- float pinggangkiri[] = {1.5, 12, 1.5, 14, 2.5, 14, 2.5, 12};
- float pinggangtengah[] = {2.5, 12, 2.5, 14, 7.5, 14, 7.5, 12};
- float pinggangkanan[] = {7.5, 12, 7.5, 14, 8.5, 14, 8.5, 12};
- float badan[] = {1, 14, 1, 25, 9, 25, 9, 14};
- float shadowbadankiri[] = {1, 14, 1, 23, 2, 23, 2, 14};
- float shadowbadankanan[] = {8, 14, 8, 23, 9, 23, 9, 14};
- float shadowbadantengah[] = {4.8, 16, 4.8, 25, 5.3, 25, 5.3, 16};
- float lengankiri[] = {0, 15, 0, 25, 1, 25, 1, 15};
- float lengankanan[] = {9, 15, 9, 25, 10, 25, 10, 15};
- float tangankiri[] = {0, 14, 0, 15, 1, 15, 1, 14};
- float tangankanan[] = {9, 14, 9, 15, 10, 15, 10, 14};
- float brosskiri[] = {1, 24.5, 1, 25.2, 3, 25.2, 3, 24.5};
- float brosskanan[] = {7, 24.5, 7, 25.2, 9, 25.2, 9, 24.5};
- float kerahkiri[] = {3.2, 25.8, 3.2, 27, 4.4, 27, 4.4, 25.8};
- float kerahtengah[] = {3.2, 25, 3.2, 25.8, 6.8, 25.8, 6.8, 25};
- float kerahkanan[] = {5.6, 25.8, 5.6, 27, 6.8, 27, 6.8, 25.8};
- float leherkiri[] = {3.2, 27, 3.2, 27.6, 5.6, 27.6, 5.6, 27};
- float leherkanan[] = {5.6, 27, 5.6, 27.6, 6.8, 27.6, 6.8, 27};
- float leherbawah[] = {4.4, 25.8, 4.4, 27, 5.6, 27, 5.6, 25.8};
- float leherbelakang[] = {5.6, 27.6, 5.6, 29.6, 6.8, 29.6, 6.8, 27.6};
- float wajah[] = {2.2, 27.6, 2.2, 31.6, 5.6, 31.6, 5.6, 27.6};
- float alis[] = {2.2, 31, 2.2, 31.4, 3.5, 31.4, 3.5, 31};
- float matakiri[] = {2.2, 30.4, 2.2, 30.8, 2.4, 30.8, 2.4, 30.4};
- float matakanan[] = {3.1, 30.4, 3.1, 30.8, 3.5, 30.8, 3.5, 30.4};
- float hidung[] = {2.4, 29.2, 2.4, 30.4, 3.1, 30.4, 3.1, 29.2};
- float helmbelakang[] = {5.6, 29.6, 5.6, 32, 6.8, 32, 6.8, 29.6};
- float helmalas[] = {2.2, 31.6, 2.2, 32, 5.6, 32, 5.6, 31.6};
- float helmatas[] = {2.2, 32, 2.2, 33.2, 6.7, 33.2, 6.8, 32};
- float helmemas[] = {2.3, 33.2, 2.3, 33.4, 6.7, 33.4, 6.7, 33.2};
- float helmlapisbawah[] = {2.3, 33.4, 2.3, 33.7, 6.7, 33.7, 6.7, 33.4};
- float helmlapisatas[] = {2.4, 33.7, 2.4, 33.9, 6.6, 33.9, 6.6, 33.7};
- float bodya[] = {-14, -8, -14, -1, 18, -1, 18, -8};
- float bodyb[] = {-16, -8, -16, -3, -14, -3, -14, -8};
- float bodyc[] = {-16.5, -7, -16.5, -4.5, -16, -4, -16, -7.5};
- float bodyd[] = {-16, -3, -15.3, -2, -14, -2, -14, -3};
- float bodye[] = {-15.3, -2, -14, -1, -14, -2}; //triangles
- float bodyf[] = {-10, -0, -6.5, 0.5, -6.5, -2}; //triangles
- float bodyg[] = {18, -1.8, 18, 0, 19, 0, 20, -1.8};
- float bodyh[] = {18, -3, 18, -1.8, 20, -1.8, 20, -3};
- float bodyi[] = {18, -3.5, 18, -3, 20, -3, 20.5, -3.5};
- float bodyj[] = {18, -6.5, 18, -3.5, 20.5, -3.5, 20.5, -6.5};
- float bodyk[] = {18, -8, 18, -6.5, 20.5, -6.5, 19, -8};
- float windowa[] = {-6.5, 0, -6.5, 0.5, -2, 4, -2, 0};
- float windowb[] = {-2, 0, -2, 4, 16, 4, 16, 0};
- float windowc[] = {16, -0, 16, 4, 19, 0}; //triangles
- //darkyellow
- float bodyx[] = {-14, -1, -11, 0, -10, 0, -10, -1};
- float bodyy[] = {-10, -1, -10, 0, 18, 0, 18, -1};
- float decala[] = {-10, -2, -10, 0, 18, 0, 18, -2};
- float decalb[] = {-14, -2, -14, -1, -10, -1, 10, -2};
- //grey
- float windowdecala[] = {-5, 0, -2, 4, -1, 4, -4, 0};
- float windowdecalb[] = {6.5, 0, 6.88, 4, 7.66, 4, 8, 0};
- float windowdecalc[] = {16, 0, 14, 4, 16, 4, 18, 0};
- //grey
- float bumpera[] = {-16, -8, -16, -7, -14, -7, -14, -8};
- float bumperb[] = {-8, -8, -8, -7, 12, -7, 12, -8};
- float bumperc[] = {18, -8, 18, -7, 20, -7, 19, -8};
- //black
- float bandepan[] = {-13, -9, -13, -5, -9, -5, -9, -9};
- float bandepana[] = {-13, -5, -13, -4, -9, -4, -9, -5};
- float bandepanb[] = {-13, -10, -13, -9, -9, -9, -9, -10};
- float bandepanc[] = {-14, -9, -14, -5, -13, -4, -13, -10};
- float bandepand[] = {-9, -10, -9, -4, -8, -5, -8, -9};
- float bandepane[] = {-13, -6, -13, -5, -12, -5};
- float bandepanf[] = {-10, -5, -9, -5, -9, -6};
- float bandepang[] = {-13, -9, -13, -8, -12, -9};
- float bandepanh[] = {-10, -9, -9, -8, -9, -9};
- float banbelakang[] = {13, -9, 13, -5, 17, -5, 17, -9};
- float banbelakanga[] = {12, -5, 13, -4, 14, -5, 13, -6};
- float banbelakangb[] = {16, -5, 17, -4, 18, -5, 17, -6};
- float banbelakangc[] = {12, -9, 13, -8, 14, -9, 13, -10};
- float banbelakangd[] = {16, -9, 17, -8, 18, -9, 17, -10};
- float banbelakange[] = {12, -9, 12, -5, 13, -6, 13, -8};
- float banbelakangf[] = {17, -8, 17, -6, 18, -5, 18, -9};
- float banbelakangg[] = {14, -5, 13, -4, 17, -4, 16, -5};
- float banbelakangh[] = {14, -9, 16, -9, 17, -10, 13, -10};
- float roof[] = {-2, 4, -1.5, 4.5, 15.5, 4.5, 16, 4};
- float stage_batas_atas[] = {-60, 50, -60, 55, 60, 55, 60, 50};
- void batas_atas()
- {
- glColor3ub(128,128,128);
- glBegin(GL_POLYGON);
- glVertex2f(stage_batas_atas[0],stage_batas_atas[1]);
- glVertex2d(stage_batas_atas[2],stage_batas_atas[3]);
- glVertex2d(stage_batas_atas[4],stage_batas_atas[5]);
- glVertex2d(stage_batas_atas[6],stage_batas_atas[7]);
- glEnd();
- }
- float stage_batas_bawah[] = {-60, -30, -60, -35, 60, -35, 60, -30};
- void batas_bawah()
- {
- glColor3ub(128,128,128);
- glBegin(GL_POLYGON);
- glVertex2f(stage_batas_bawah[0],stage_batas_bawah[1]);
- glVertex2d(stage_batas_bawah[2],stage_batas_bawah[3]);
- glVertex2d(stage_batas_bawah[4],stage_batas_bawah[5]);
- glVertex2d(stage_batas_bawah[6],stage_batas_bawah[7]);
- glEnd();
- }
- float stage_jalan[] = {-60, -30, -60, 50, 60, 50, 60, -30};
- void jalan()
- {
- glColor3ub(64,64,64);
- glBegin(GL_POLYGON);
- glVertex2f(stage_jalan[0],stage_jalan[1]);
- glVertex2d(stage_jalan[2],stage_jalan[3]);
- glVertex2d(stage_jalan[4],stage_jalan[5]);
- glVertex2d(stage_jalan[6],stage_jalan[7]);
- glEnd();
- }
- float stage_bg[] = {-60, -40, -60, 60, 60, 60, 60, -40};
- void background()
- {
- glColor3ub(153,204,0);
- glBegin(GL_POLYGON);
- glVertex2f(stage_bg[0],stage_bg[1]);
- glVertex2d(stage_bg[2],stage_bg[3]);
- glVertex2d(stage_bg[4],stage_bg[5]);
- glVertex2d(stage_bg[6],stage_bg[7]);
- glEnd();
- jalan();
- batas_atas();
- batas_bawah();
- }
- void kotak()
- {
- glTranslated(-10,-60,0);
- glColor3b(0.5,0.5,0);
- glBegin(GL_POLYGON);
- glVertex2f(0,0);
- glVertex2d(0,5);
- glVertex2d(5,5);
- glVertex2d(5,0);
- glEnd();
- }
- float coll_mobil1[] = {-16.5, -10, -16.5, 5, 21, 5, 21, -10};
- void mobil1()
- {
- glTranslated(agerak[0],agerak[1],0);
- glScaled(-0.50,0.50,0);
- // glBegin(GL_QUADS);
- // glVertex2f(coll_mobil1[0], coll_mobil1[1]);
- // glVertex2f(coll_mobil1[2], coll_mobil1[3]);
- // glVertex2f(coll_mobil1[4], coll_mobil1[5]);
- // glVertex2f(coll_mobil1[6], coll_mobil1[7]);
- // glEnd();
- //
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodya[0], bodya[1]);
- glVertex2f(bodya[2], bodya[3]);
- glVertex2f(bodya[4], bodya[5]);
- glVertex2f(bodya[6], bodya[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyb[0], bodyb[1]);
- glVertex2f(bodyb[2], bodyb[3]);
- glVertex2f(bodyb[4], bodyb[5]);
- glVertex2f(bodyb[6], bodyb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyc[0], bodyc[1]);
- glVertex2f(bodyc[2], bodyc[3]);
- glVertex2f(bodyc[4], bodyc[5]);
- glVertex2f(bodyc[6], bodyc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(bodyd[0], bodyd[1]);
- glVertex2f(bodyd[2], bodyd[3]);
- glVertex2f(bodyd[4], bodyd[5]);
- glVertex2f(bodyd[6], bodyd[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(255,255,255);
- glVertex2f(bodye[0], bodye[1]);
- glVertex2f(bodye[2], bodye[3]);
- glVertex2f(bodye[4], bodye[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(47, 177, 56);
- glVertex2f(bodyf[0], bodyf[1]);
- glVertex2f(bodyf[2], bodyf[3]);
- glVertex2f(bodyf[4], bodyf[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,135,43);
- glVertex2f(bodyg[0], bodyg[1]);
- glVertex2f(bodyg[2], bodyg[3]);
- glVertex2f(bodyg[4], bodyg[5]);
- glVertex2f(bodyg[6], bodyg[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyh[0], bodyh[1]);
- glVertex2f(bodyh[2], bodyh[3]);
- glVertex2f(bodyh[4], bodyh[5]);
- glVertex2f(bodyh[6], bodyh[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyi[0], bodyi[1]);
- glVertex2f(bodyi[2], bodyi[3]);
- glVertex2f(bodyi[4], bodyi[5]);
- glVertex2f(bodyi[6], bodyi[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyj[0], bodyj[1]);
- glVertex2f(bodyj[2], bodyj[3]);
- glVertex2f(bodyj[4], bodyj[5]);
- glVertex2f(bodyj[6], bodyj[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(147, 195, 65);
- glVertex2f(bodyk[0], bodyk[1]);
- glVertex2f(bodyk[2], bodyk[3]);
- glVertex2f(bodyk[4], bodyk[5]);
- glVertex2f(bodyk[6], bodyk[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(47, 177, 56);
- glVertex2f(bodyx[0], bodyx[1]);
- glVertex2f(bodyx[2], bodyx[3]);
- glVertex2f(bodyx[4], bodyx[5]);
- glVertex2f(bodyx[6], bodyx[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(47, 177, 56);
- glVertex2f(bodyy[0], bodyy[1]);
- glVertex2f(bodyy[2], bodyy[3]);
- glVertex2f(bodyy[4], bodyy[5]);
- glVertex2f(bodyy[6], bodyy[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(84,84,84);
- glVertex2f(windowa[0], windowa[1]);
- glVertex2f(windowa[2], windowa[3]);
- glVertex2f(windowa[4], windowa[5]);
- glVertex2f(windowa[6], windowa[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(84,84,84);
- glVertex2f(windowb[0], windowb[1]);
- glVertex2f(windowb[2], windowb[3]);
- glVertex2f(windowb[4], windowb[5]);
- glVertex2f(windowb[6], windowb[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(84,84,84);
- glVertex2f(windowc[0], windowc[1]);
- glVertex2f(windowc[2], windowc[3]);
- glVertex2f(windowc[4], windowc[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(47, 177, 56);
- glVertex2f(decala[0], decala[1]);
- glVertex2f(decala[2], decala[3]);
- glVertex2f(decala[4], decala[5]);
- glVertex2f(decala[6], decala[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(47, 177, 56);
- glVertex2f(decalb[0], decalb[1]);
- glVertex2f(decalb[2], decalb[3]);
- glVertex2f(decalb[4], decalb[5]);
- glVertex2f(decalb[6], decalb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecala[0], windowdecala[1]);
- glVertex2f(windowdecala[2], windowdecala[3]);
- glVertex2f(windowdecala[4], windowdecala[5]);
- glVertex2f(windowdecala[6], windowdecala[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecalb[0], windowdecalb[1]);
- glVertex2f(windowdecalb[2], windowdecalb[3]);
- glVertex2f(windowdecalb[4], windowdecalb[5]);
- glVertex2f(windowdecalb[6], windowdecalb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecalc[0], windowdecalc[1]);
- glVertex2f(windowdecalc[2], windowdecalc[3]);
- glVertex2f(windowdecalc[4], windowdecalc[5]);
- glVertex2f(windowdecalc[6], windowdecalc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(232,232,232);
- glVertex2f(roof[0], roof[1]);
- glVertex2f(roof[2], roof[3]);
- glVertex2f(roof[4], roof[5]);
- glVertex2f(roof[6], roof[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumpera[0], bumpera[1]);
- glVertex2f(bumpera[2], bumpera[3]);
- glVertex2f(bumpera[4], bumpera[5]);
- glVertex2f(bumpera[6], bumpera[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumperb[0], bumperb[1]);
- glVertex2f(bumperb[2], bumperb[3]);
- glVertex2f(bumperb[4], bumperb[5]);
- glVertex2f(bumperb[6], bumperb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumperc[0], bumperc[1]);
- glVertex2f(bumperc[2], bumperc[3]);
- glVertex2f(bumperc[4], bumperc[5]);
- glVertex2f(bumperc[6], bumperc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(bandepan[0], bandepan[1]);
- glVertex2f(bandepan[2], bandepan[3]);
- glVertex2f(bandepan[4], bandepan[5]);
- glVertex2f(bandepan[6], bandepan[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepana[0], bandepana[1]);
- glVertex2f(bandepana[2], bandepana[3]);
- glVertex2f(bandepana[4], bandepana[5]);
- glVertex2f(bandepana[6], bandepana[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepanb[0], bandepanb[1]);
- glVertex2f(bandepanb[2], bandepanb[3]);
- glVertex2f(bandepanb[4], bandepanb[5]);
- glVertex2f(bandepanb[6], bandepanb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepanc[0], bandepanc[1]);
- glVertex2f(bandepanc[2], bandepanc[3]);
- glVertex2f(bandepanc[4], bandepanc[5]);
- glVertex2f(bandepanc[6], bandepanc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepand[0], bandepand[1]);
- glVertex2f(bandepand[2], bandepand[3]);
- glVertex2f(bandepand[4], bandepand[5]);
- glVertex2f(bandepand[6], bandepand[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepane[0], bandepane[1]);
- glVertex2f(bandepane[2], bandepane[3]);
- glVertex2f(bandepane[4], bandepane[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepanf[0], bandepanf[1]);
- glVertex2f(bandepanf[2], bandepanf[3]);
- glVertex2f(bandepanf[4], bandepanf[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepang[0], bandepang[1]);
- glVertex2f(bandepang[2], bandepang[3]);
- glVertex2f(bandepang[4], bandepang[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepanh[0], bandepanh[1]);
- glVertex2f(bandepanh[2], bandepanh[3]);
- glVertex2f(bandepanh[4], bandepanh[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(banbelakang[0], banbelakang[1]);
- glVertex2f(banbelakang[2], banbelakang[3]);
- glVertex2f(banbelakang[4], banbelakang[5]);
- glVertex2f(banbelakang[6], banbelakang[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakanga[0], banbelakanga[1]);
- glVertex2f(banbelakanga[2], banbelakanga[3]);
- glVertex2f(banbelakanga[4], banbelakanga[5]);
- glVertex2f(banbelakanga[6], banbelakanga[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangb[0], banbelakangb[1]);
- glVertex2f(banbelakangb[2], banbelakangb[3]);
- glVertex2f(banbelakangb[4], banbelakangb[5]);
- glVertex2f(banbelakangb[6], banbelakangb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangc[0], banbelakangc[1]);
- glVertex2f(banbelakangc[2], banbelakangc[3]);
- glVertex2f(banbelakangc[4], banbelakangc[5]);
- glVertex2f(banbelakangc[6], banbelakangc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangd[0], banbelakangd[1]);
- glVertex2f(banbelakangd[2], banbelakangd[3]);
- glVertex2f(banbelakangd[4], banbelakangd[5]);
- glVertex2f(banbelakangd[6], banbelakangd[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakange[0], banbelakange[1]);
- glVertex2f(banbelakange[2], banbelakange[3]);
- glVertex2f(banbelakange[4], banbelakange[5]);
- glVertex2f(banbelakange[6], banbelakange[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangf[0], banbelakangf[1]);
- glVertex2f(banbelakangf[2], banbelakangf[3]);
- glVertex2f(banbelakangf[4], banbelakangf[5]);
- glVertex2f(banbelakangf[6], banbelakangf[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangg[0], banbelakangg[1]);
- glVertex2f(banbelakangg[2], banbelakangg[3]);
- glVertex2f(banbelakangg[4], banbelakangg[5]);
- glVertex2f(banbelakangg[6], banbelakangg[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangh[0], banbelakangh[1]);
- glVertex2f(banbelakangh[2], banbelakangh[3]);
- glVertex2f(banbelakangh[4], banbelakangh[5]);
- glVertex2f(banbelakangh[6], banbelakangh[7]);
- glEnd();
- }
- float coll_mobil2[] = {-16.5, -10, -16.5, 5, 21, 5, 21, -10};
- void mobil2()
- {
- glTranslated(bgerak[0],bgerak[1],0);
- glScaled(-0.50,0.50,0);
- // glBegin(GL_QUADS);
- // glVertex2f(coll_mobil2[0], coll_mobil2[1]);
- // glVertex2f(coll_mobil2[2], coll_mobil2[3]);
- // glVertex2f(coll_mobil2[4], coll_mobil2[5]);
- // glVertex2f(coll_mobil2[6], coll_mobil2[7]);
- // glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodya[0], bodya[1]);
- glVertex2f(bodya[2], bodya[3]);
- glVertex2f(bodya[4], bodya[5]);
- glVertex2f(bodya[6], bodya[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyb[0], bodyb[1]);
- glVertex2f(bodyb[2], bodyb[3]);
- glVertex2f(bodyb[4], bodyb[5]);
- glVertex2f(bodyb[6], bodyb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyc[0], bodyc[1]);
- glVertex2f(bodyc[2], bodyc[3]);
- glVertex2f(bodyc[4], bodyc[5]);
- glVertex2f(bodyc[6], bodyc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(bodyd[0], bodyd[1]);
- glVertex2f(bodyd[2], bodyd[3]);
- glVertex2f(bodyd[4], bodyd[5]);
- glVertex2f(bodyd[6], bodyd[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(255,255,255);
- glVertex2f(bodye[0], bodye[1]);
- glVertex2f(bodye[2], bodye[3]);
- glVertex2f(bodye[4], bodye[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(255,184,56);
- glVertex2f(bodyf[0], bodyf[1]);
- glVertex2f(bodyf[2], bodyf[3]);
- glVertex2f(bodyf[4], bodyf[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,135,43);
- glVertex2f(bodyg[0], bodyg[1]);
- glVertex2f(bodyg[2], bodyg[3]);
- glVertex2f(bodyg[4], bodyg[5]);
- glVertex2f(bodyg[6], bodyg[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyh[0], bodyh[1]);
- glVertex2f(bodyh[2], bodyh[3]);
- glVertex2f(bodyh[4], bodyh[5]);
- glVertex2f(bodyh[6], bodyh[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyi[0], bodyi[1]);
- glVertex2f(bodyi[2], bodyi[3]);
- glVertex2f(bodyi[4], bodyi[5]);
- glVertex2f(bodyi[6], bodyi[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyj[0], bodyj[1]);
- glVertex2f(bodyj[2], bodyj[3]);
- glVertex2f(bodyj[4], bodyj[5]);
- glVertex2f(bodyj[6], bodyj[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,195,65);
- glVertex2f(bodyk[0], bodyk[1]);
- glVertex2f(bodyk[2], bodyk[3]);
- glVertex2f(bodyk[4], bodyk[5]);
- glVertex2f(bodyk[6], bodyk[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,184,56);
- glVertex2f(bodyx[0], bodyx[1]);
- glVertex2f(bodyx[2], bodyx[3]);
- glVertex2f(bodyx[4], bodyx[5]);
- glVertex2f(bodyx[6], bodyx[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,184,56);
- glVertex2f(bodyy[0], bodyy[1]);
- glVertex2f(bodyy[2], bodyy[3]);
- glVertex2f(bodyy[4], bodyy[5]);
- glVertex2f(bodyy[6], bodyy[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(84,84,84);
- glVertex2f(windowa[0], windowa[1]);
- glVertex2f(windowa[2], windowa[3]);
- glVertex2f(windowa[4], windowa[5]);
- glVertex2f(windowa[6], windowa[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(84,84,84);
- glVertex2f(windowb[0], windowb[1]);
- glVertex2f(windowb[2], windowb[3]);
- glVertex2f(windowb[4], windowb[5]);
- glVertex2f(windowb[6], windowb[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(84,84,84);
- glVertex2f(windowc[0], windowc[1]);
- glVertex2f(windowc[2], windowc[3]);
- glVertex2f(windowc[4], windowc[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,184,56);
- glVertex2f(decala[0], decala[1]);
- glVertex2f(decala[2], decala[3]);
- glVertex2f(decala[4], decala[5]);
- glVertex2f(decala[6], decala[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,184,56);
- glVertex2f(decalb[0], decalb[1]);
- glVertex2f(decalb[2], decalb[3]);
- glVertex2f(decalb[4], decalb[5]);
- glVertex2f(decalb[6], decalb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecala[0], windowdecala[1]);
- glVertex2f(windowdecala[2], windowdecala[3]);
- glVertex2f(windowdecala[4], windowdecala[5]);
- glVertex2f(windowdecala[6], windowdecala[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecalb[0], windowdecalb[1]);
- glVertex2f(windowdecalb[2], windowdecalb[3]);
- glVertex2f(windowdecalb[4], windowdecalb[5]);
- glVertex2f(windowdecalb[6], windowdecalb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(windowdecalc[0], windowdecalc[1]);
- glVertex2f(windowdecalc[2], windowdecalc[3]);
- glVertex2f(windowdecalc[4], windowdecalc[5]);
- glVertex2f(windowdecalc[6], windowdecalc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(232,232,232);
- glVertex2f(roof[0], roof[1]);
- glVertex2f(roof[2], roof[3]);
- glVertex2f(roof[4], roof[5]);
- glVertex2f(roof[6], roof[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumpera[0], bumpera[1]);
- glVertex2f(bumpera[2], bumpera[3]);
- glVertex2f(bumpera[4], bumpera[5]);
- glVertex2f(bumpera[6], bumpera[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumperb[0], bumperb[1]);
- glVertex2f(bumperb[2], bumperb[3]);
- glVertex2f(bumperb[4], bumperb[5]);
- glVertex2f(bumperb[6], bumperb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(71,71,71);
- glVertex2f(bumperc[0], bumperc[1]);
- glVertex2f(bumperc[2], bumperc[3]);
- glVertex2f(bumperc[4], bumperc[5]);
- glVertex2f(bumperc[6], bumperc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(bandepan[0], bandepan[1]);
- glVertex2f(bandepan[2], bandepan[3]);
- glVertex2f(bandepan[4], bandepan[5]);
- glVertex2f(bandepan[6], bandepan[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepana[0], bandepana[1]);
- glVertex2f(bandepana[2], bandepana[3]);
- glVertex2f(bandepana[4], bandepana[5]);
- glVertex2f(bandepana[6], bandepana[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepanb[0], bandepanb[1]);
- glVertex2f(bandepanb[2], bandepanb[3]);
- glVertex2f(bandepanb[4], bandepanb[5]);
- glVertex2f(bandepanb[6], bandepanb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepanc[0], bandepanc[1]);
- glVertex2f(bandepanc[2], bandepanc[3]);
- glVertex2f(bandepanc[4], bandepanc[5]);
- glVertex2f(bandepanc[6], bandepanc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(bandepand[0], bandepand[1]);
- glVertex2f(bandepand[2], bandepand[3]);
- glVertex2f(bandepand[4], bandepand[5]);
- glVertex2f(bandepand[6], bandepand[7]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepane[0], bandepane[1]);
- glVertex2f(bandepane[2], bandepane[3]);
- glVertex2f(bandepane[4], bandepane[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepanf[0], bandepanf[1]);
- glVertex2f(bandepanf[2], bandepanf[3]);
- glVertex2f(bandepanf[4], bandepanf[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepang[0], bandepang[1]);
- glVertex2f(bandepang[2], bandepang[3]);
- glVertex2f(bandepang[4], bandepang[5]);
- glEnd();
- glBegin(GL_TRIANGLES);
- glColor3ub(0,0,0);
- glVertex2f(bandepanh[0], bandepanh[1]);
- glVertex2f(bandepanh[2], bandepanh[3]);
- glVertex2f(bandepanh[4], bandepanh[5]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(255,255,255);
- glVertex2f(banbelakang[0], banbelakang[1]);
- glVertex2f(banbelakang[2], banbelakang[3]);
- glVertex2f(banbelakang[4], banbelakang[5]);
- glVertex2f(banbelakang[6], banbelakang[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakanga[0], banbelakanga[1]);
- glVertex2f(banbelakanga[2], banbelakanga[3]);
- glVertex2f(banbelakanga[4], banbelakanga[5]);
- glVertex2f(banbelakanga[6], banbelakanga[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangb[0], banbelakangb[1]);
- glVertex2f(banbelakangb[2], banbelakangb[3]);
- glVertex2f(banbelakangb[4], banbelakangb[5]);
- glVertex2f(banbelakangb[6], banbelakangb[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangc[0], banbelakangc[1]);
- glVertex2f(banbelakangc[2], banbelakangc[3]);
- glVertex2f(banbelakangc[4], banbelakangc[5]);
- glVertex2f(banbelakangc[6], banbelakangc[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangd[0], banbelakangd[1]);
- glVertex2f(banbelakangd[2], banbelakangd[3]);
- glVertex2f(banbelakangd[4], banbelakangd[5]);
- glVertex2f(banbelakangd[6], banbelakangd[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakange[0], banbelakange[1]);
- glVertex2f(banbelakange[2], banbelakange[3]);
- glVertex2f(banbelakange[4], banbelakange[5]);
- glVertex2f(banbelakange[6], banbelakange[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangf[0], banbelakangf[1]);
- glVertex2f(banbelakangf[2], banbelakangf[3]);
- glVertex2f(banbelakangf[4], banbelakangf[5]);
- glVertex2f(banbelakangf[6], banbelakangf[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangg[0], banbelakangg[1]);
- glVertex2f(banbelakangg[2], banbelakangg[3]);
- glVertex2f(banbelakangg[4], banbelakangg[5]);
- glVertex2f(banbelakangg[6], banbelakangg[7]);
- glEnd();
- glBegin(GL_QUADS);
- glColor3ub(0,0,0);
- glVertex2f(banbelakangh[0], banbelakangh[1]);
- glVertex2f(banbelakangh[2], banbelakangh[3]);
- glVertex2f(banbelakangh[4], banbelakangh[5]);
- glVertex2f(banbelakangh[6], banbelakangh[7]);
- glEnd();
- }
- void init()
- {
- glClearColor(1,1,0.0,0.0);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glMatrixMode(GL_MODELVIEW);
- gluOrtho2D(ortho[0],ortho[1],ortho[2],ortho[3]);
- }
- void timer(int a)
- {
- if(geraka==1){
- agerak[1] += 0.5;
- if(agerak[1] == stage_batas_atas[1]+2){
- geraka=2;
- }
- }
- else if(geraka==2){
- agerak[1] -=0.5;
- if(agerak[1] == stage_batas_bawah[1]+4){
- geraka=1;
- }
- }
- if(gerakb==1){
- bgerak[1] +=0.5;
- if(bgerak[1] == stage_batas_atas[1]+2){
- gerakb=2;
- }
- }
- else if(gerakb==2){
- bgerak[1] -=0.5;
- if(bgerak[1] == stage_batas_bawah[1]+4){
- gerakb=1;
- }
- }
- timerandom +=0.5;
- if(timerandom>10){
- timerandom = -30;
- }
- if(agerak[1]==stage_batas_atas[0]){
- agerak[1] -= 0.5;
- }
- glutPostRedisplay();
- glutTimerFunc(1000/60, timer , 0);
- }
- void Levelone()
- {
- glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
- glPushMatrix();
- background();
- glPopMatrix();
- glPushMatrix();
- mobil2();
- glPopMatrix();
- glPushMatrix();
- mobil1();
- glPopMatrix();
- glFlush();
- }
- void keyboard(unsigned char key,int x,int y)
- {
- switch(key){
- case 'w':
- geraka = 1;
- break;
- case 's':
- geraka = 2;
- break;
- case 'i':
- gerakb = 1;
- break;
- case 'k':
- gerakb = 2;
- break;
- default:
- break;
- }
- }
- int main(int argc, char *argv[])
- {
- glutInit(&argc, argv);
- glutInitWindowSize(640,480);
- glutInitWindowPosition(3,50);
- glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH);
- glutCreateWindow("GLUT Shapes");
- glClearColor(1,1,1,1);
- init();
- glutDisplayFunc(Levelone);
- glutKeyboardFunc(keyboard);
- glutTimerFunc(50, timer,0);
- glutMainLoop();
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement