Defores
Defores
h>
#include<stdio.h>
#include <stdlib.h>
#include<gl/glut.h>
#include <iostream>
draw_pixel(x + h, y + k);
draw_pixel(-x + h, y + k);
draw_pixel(x + h, -y + k);
draw_pixel(-x + h, -y + k);
draw_pixel(y + h, x + k);
draw_pixel(-y + h, x + k);
draw_pixel(y + h, -x + k);
draw_pixel(-y + h, -x + k);
}
void draw_circle(GLint h, GLint k, GLint r)
GLint d = 1 - r, x = 0, y = r;
while (y > x)
plotpixels(h, k, x, y);
if (d < 0) d += 2 * x + 3;
else
d += 2 * (x - y) + 5;
--y;
++x;
plotpixels(h, k, x, y);
void draw_object()
{
int l;
if (day == 1)
{
//sky
glColor3f(.2, .6, .8);
glBegin(GL_POLYGON);
glVertex2f(0, 450);
glVertex2f(0, 700);
glVertex2f(1100, 700);
glVertex2f(1100, 450);
glEnd();
if (m < 300)
{
//cloud 1
//cloud2
if (megh == 1)
m++;
else
m = 0;
}
for (l = 0; l <= 35; l++)
//cloud2
glEnd();
if (megh == 1)
m++;
//sun
//mountain cicrle 1
///mountain circle 2
///mountaincircle 2
///mountain circle 3
//grass
glBegin(GL_POLYGON);
glVertex2f(0, 100);
glVertex2f(0, 450);
glVertex2f(1100, 450);
glVertex2f(1100, 100);
glEnd();
//river
glBegin(GL_POLYGON);
glVertex2f(1100, 0);
glVertex2f(0, 0);
glVertex2f(0, 160);
glVertex2f(1100, 160);
glEnd();
//river curve
glBegin(GL_POLYGON);
glVertex2f(0, 0);
glVertex2f(0, 200);
glVertex2f(200, 160);
glVertex2f(0, 100);
glEnd();
//river circle
}
if (boat < 500)
glBegin(GL_POLYGON);
glEnd();
glBegin(GL_POLYGON);
glEnd();
if (b == 0)
boat = boat + 3;
else
boat = 0;
glBegin(GL_POLYGON);
glEnd();
glBegin(GL_POLYGON);
glEnd();
boat = boat + 8;
//tree body
glBegin(GL_POLYGON);
glVertex2f(387, 199);
glVertex2f(387, 300);
glVertex2f(410, 300);
glVertex2f(411, 200);
glEnd();
//tree leaf first quad
glBegin(GL_QUADS);
glVertex2f(336, 285);
glVertex2f(362, 313);
glVertex2f(443, 313);
glVertex2f(466, 285);
glEnd();
glBegin(GL_QUADS);
glVertex2f(342, 313);
glVertex2f(363, 340);
glVertex2f(438, 340);
glVertex2f(458, 313);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(351, 340);
glVertex2f(400, 410);
glVertex2f(448, 340);
glEnd();
//home front side
glBegin(GL_POLYGON);
glVertex2f(780, 360);
glVertex2f(776, 400);
glVertex2f(855, 390);
glVertex2f(860, 340);
glEnd();
//tree2 body
glBegin(GL_POLYGON);
glVertex2f(220, 199);
glVertex2f(220, 300);
glVertex2f(243, 300);
glVertex2f(243, 200);
glEnd();
glBegin(GL_QUADS);
glVertex2f(169, 285);
glVertex2f(195, 313);
glVertex2f(276, 313);
glVertex2f(299, 285);
glEnd();
glBegin(GL_QUADS);
glVertex2f(175, 313);
glVertex2f(196, 340);
glVertex2f(271, 340);
glVertex2f(291, 313);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(184, 340);
glVertex2f(233, 410);
glVertex2f(281, 340);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(780, 360);
glVertex2f(776, 400);
glVertex2f(855, 390);
glVertex2f(860, 340);
glEnd();
//home top
glBegin(GL_POLYGON);
glVertex2f(767, 400);
glVertex2f(781, 435);
glVertex2f(874, 435);
glVertex2f(852, 384);
glEnd();
//home right
glBegin(GL_POLYGON);
glVertex2f(860, 340);
glVertex2f(855, 390);
glVertex2f(874, 435);
glVertex2f(896, 404);
glVertex2f(896, 350);
glEnd();
//left window
glColor3f(1.0, 0.0, .2);
glBegin(GL_POLYGON);
glVertex2f(788, 370);
glVertex2f(787, 380);
glVertex2f(798, 379);
glVertex2f(798, 370);
glEnd();
//door
glBegin(GL_POLYGON);
glVertex2f(808, 352);
glVertex2f(807, 380);
glVertex2f(820, 378);
glVertex2f(817, 352);
glEnd();
//right window
glBegin(GL_POLYGON);
glVertex2f(834, 365);
glVertex2f(833, 375);
glVertex2f(844, 374);
glVertex2f(844, 365);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(873, 370);
glVertex2f(873, 383);
glVertex2f(887, 386);
glVertex2f(887, 372);
glEnd();
glutPostRedisplay();
{
glColor3f(1.0, 0.0, 0.0);
glBegin(GL_TRIANGLES);
glVertex2f(front, 190);
glVertex2f(fronttraingle, 190);
glVertex2f(front, 200);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(back, 190);
glVertex2f(front, 190);
glVertex2f(front, 240);
glVertex2f(back, 240);
glEnd();
if (z == 1)
front = front - 1;
back = back - 1;
carfront = carfront - 1;
carback = carback - 1;
fronttraingle = fronttraingle - 1;
}
else
//sky
glBegin(GL_POLYGON);
glVertex2f(0, 450);
glVertex2f(0, 700);
glVertex2f(1100, 700);
glVertex2f(1100, 450);
glEnd();
//sun
if (m < 300)
//cloud 1
}
//cloud2
if (megh == 1)
m++;
else
{
m = 0;
//cloud2
}
for (l = 0; l <= 35; l++)
if (megh == 1)
m++;
//mountain cicrle 1
///mountain circle 2
///mountaincircle 2
///mountain circle 3
//grass
glBegin(GL_POLYGON);
glVertex2f(0, 100);
glVertex2f(0, 450);
glVertex2f(1100, 450);
glVertex2f(1100, 100);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
//pond
glBegin(GL_POLYGON);
glVertex2f(1100, 0);
glVertex2f(0, 0);
glVertex2f(0, 160);
glVertex2f(1100, 160);
glEnd();
//river curve
glBegin(GL_POLYGON);
glVertex2f(0, 0);
glVertex2f(0, 200);
glVertex2f(200, 160);
glVertex2f(0, 100);
glEnd();
//river circle
glBegin(GL_POLYGON);
glEnd();
glBegin(GL_POLYGON);
glEnd();
boat = boat + 5;
boat = 0;
glBegin(GL_POLYGON);
glEnd();
glBegin(GL_POLYGON);
glEnd();
boat = boat + 5;
//tree2 body
glBegin(GL_POLYGON);
glVertex2f(220, 199);
glVertex2f(220, 300);
glVertex2f(243, 300);
glVertex2f(243, 200);
glEnd();
glBegin(GL_QUADS);
glVertex2f(169, 285);
glVertex2f(195, 313);
glVertex2f(276, 313);
glVertex2f(299, 285);
glEnd();
glBegin(GL_QUADS);
glVertex2f(175, 313);
glVertex2f(196, 340);
glVertex2f(271, 340);
glVertex2f(291, 313);
glEnd();
glBegin(GL_TRIANGLES);
glVertex2f(184, 340);
glVertex2f(233, 410);
glVertex2f(281, 340);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(780, 360);
glVertex2f(776, 400);
glVertex2f(855, 390);
glVertex2f(860, 340);
glEnd();
//home top
glBegin(GL_POLYGON);
glVertex2f(767, 400);
glVertex2f(781, 435);
glVertex2f(874, 435);
glVertex2f(852, 384);
glEnd();
//home right
glBegin(GL_POLYGON);
glVertex2f(860, 340);
glVertex2f(855, 390);
glVertex2f(874, 435);
glVertex2f(896, 404);
glVertex2f(896, 350);
glEnd();
//left window
glBegin(GL_POLYGON);
glVertex2f(788, 370);
glVertex2f(787, 380);
glVertex2f(798, 379);
glVertex2f(798, 370);
glEnd();
//door
glBegin(GL_POLYGON);
glVertex2f(808, 352);
glVertex2f(807, 380);
glVertex2f(820, 378);
glVertex2f(817, 352);
glEnd();
//right window
glBegin(GL_POLYGON);
glVertex2f(834, 365);
glVertex2f(833, 375);
glVertex2f(844, 374);
glVertex2f(844, 365);
glEnd();
///building2 Brown
if (fronttraingle >= 350)
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glColor3f(.1, .1, .1);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
fronttraingle--;
{
glColor3f(.5, .25, .12);
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
///2
glColor3f(.87, .80, .2);
glBegin(GL_POLYGON);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
glLineWidth(2);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
//1
glBegin(GL_POLYGON);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
//2
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
fronttraingle--;
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glColor3f(.1, .1, .1);
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
//1
glBegin(GL_POLYGON);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
//2
glBegin(GL_POLYGON);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
//3
glBegin(GL_POLYGON);
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
//4
glBegin(GL_POLYGON);
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
///4
glBegin(GL_POLYGON);
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
//left window
glBegin(GL_POLYGON);
glVertex2f(873, 370);
glVertex2f(873, 383);
glVertex2f(887, 386);
glVertex2f(887, 372);
glEnd();
fronttraingle--;
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glEnd();
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
//1
glBegin(GL_POLYGON);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
//2
glBegin(GL_POLYGON);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
//3
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
//4
glBegin(GL_POLYGON);
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
///1
glBegin(GL_POLYGON);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
///4
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
//left window
glBegin(GL_POLYGON);
glVertex2f(873, 370);
glVertex2f(873, 383);
glVertex2f(887, 386);
glVertex2f(887, 372);
glEnd();
//fronttraingle--;
}
///TOWER
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
//car
}
if (fronttraingle > 191)
glBegin(GL_TRIANGLES);
glVertex2f(front, 190);
glVertex2f(fronttraingle, 190);
glVertex2f(front, 200);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(back, 190);
glVertex2f(front, 190);
glVertex2f(front, 240);
glVertex2f(back, 240);
front = front - 4;
back = back - 4;
carfront = carfront - 4;
carback = carback - 4;
fronttraingle = fronttraingle - 4;
glEnd();
glutPostRedisplay();
glFlush();
//sky
glBegin(GL_POLYGON);
glVertex2f(0, 450);
glVertex2f(0, 700);
glVertex2f(1100, 700);
glVertex2f(1100, 450);
glEnd();
//sun
for (l = 0; l <= 35; l++)
if (m < 300)
//cloud 1
}
//cloud2
m++;
else
m = 0;
//cloud 1
//cloud2
{
glColor3f(1.0, 1.0, 1.0);
m++;
//grass
glBegin(GL_POLYGON);
glVertex2f(0, 140);
glVertex2f(0, 450);
glVertex2f(1100, 450);
glVertex2f(1100, 140);
glEnd();
//mountain cicrle 1
///mountain circle 2
///mountaincircle 2
///mountain circle 3
///grass
glBegin(GL_POLYGON);
glVertex2f(0, 100);
glVertex2f(0, 450);
glVertex2f(1100, 450);
glVertex2f(1100, 100);
glEnd();
///ROAD
glBegin(GL_POLYGON);
glVertex2f(1100, 0);
glVertex2f(0, 0);
glVertex2f(0, 160);
glVertex2f(1100, 160);
glEnd();
///devider
glColor3f(1, 1, 1);
glBegin(GL_POLYGON);
glVertex2f(950, 40);
glVertex2f(730, 40);
glVertex2f(730, 60);
glVertex2f(950, 60);
glEnd();
glColor3f(1, 1, 1);
glBegin(GL_POLYGON);
glVertex2f(580, 40);
glVertex2f(340, 40);
glVertex2f(340, 60);
glVertex2f(580, 60);
glEnd();
glColor3f(1, 1, 1);
glBegin(GL_POLYGON);
glVertex2f(210, 40);
glVertex2f(40, 40);
glVertex2f(40, 60);
glVertex2f(210, 60);
glEnd();
///building1 Dark_pink
glBegin(GL_POLYGON);
glVertex2f(1000, 200);
glVertex2f(800, 200);
glVertex2f(800, 500);
glVertex2f(1000, 500);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(1000, 200);
glVertex2f(800, 200);
glVertex2f(800, 500);
glVertex2f(1000, 500);
glEnd();
///Antena
glLineWidth(2);
glBegin(GL_LINES);
glVertex2f(865, 500);
glVertex2f(865, 600);
glEnd();
glBegin(GL_LINES);
glVertex2f(850, 530.33);
glVertex2f(880, 530.33);
glEnd();
glBegin(GL_LINES);
glVertex2f(853, 545.33);
glVertex2f(877, 545.33);
glEnd();
glBegin(GL_LINES);
glVertex2f(856, 560.33);
glVertex2f(874, 560.33);
glEnd();
glBegin(GL_LINES);
glVertex2f(859, 575.33);
glVertex2f(871, 575.33);
glEnd();
///Door
glBegin(GL_POLYGON);
glVertex2f(983, 200);
glVertex2f(963, 200);
glVertex2f(963, 242);
glVertex2f(983, 242);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(983, 200);
glVertex2f(963, 200);
glVertex2f(963, 242);
glVertex2f(983, 242);
glEnd();
///windows Right
//1
glBegin(GL_POLYGON);
glVertex2f(983, 262);
glVertex2f(963, 262);
glVertex2f(963, 282);
glVertex2f(983, 282);
glEnd();
glColor3f(.1, .1, .1);
glBegin(GL_LINE_LOOP);
glVertex2f(983, 262);
glVertex2f(963, 262);
glVertex2f(963, 282);
glVertex2f(983, 282);
glEnd();
//2
glBegin(GL_POLYGON);
glVertex2f(983, 302);
glVertex2f(963, 302);
glVertex2f(963, 322);
glVertex2f(983, 322);
glEnd();
//3
glBegin(GL_POLYGON);
glVertex2f(983, 342);
glVertex2f(963, 342);
glVertex2f(963, 362);
glVertex2f(983, 362);
glEnd();
//4
glVertex2f(983, 382);
glVertex2f(963, 382);
glVertex2f(963, 402);
glVertex2f(983, 402);
glEnd();
//5
glBegin(GL_POLYGON);
glVertex2f(983, 422);
glVertex2f(963, 422);
glVertex2f(963, 442);
glVertex2f(983, 442);
glEnd();
///windows Middle
//1
glBegin(GL_POLYGON);
glVertex2f(940, 222);
glVertex2f(900, 222);
glVertex2f(900, 242);
glVertex2f(940, 242);
glEnd();
//2
glColor3f(1.0, 1., .0);
glBegin(GL_POLYGON);
glVertex2f(940, 262);
glVertex2f(900, 262);
glVertex2f(900, 282);
glVertex2f(940, 282);
glEnd();
//3
glBegin(GL_POLYGON);
glVertex2f(940, 302);
glVertex2f(900, 302);
glVertex2f(900, 322);
glVertex2f(940, 322);
glEnd();
//4
glBegin(GL_POLYGON);
glVertex2f(940, 342);
glVertex2f(900, 342);
glVertex2f(900, 362);
glVertex2f(940, 362);
glEnd();
//5
glBegin(GL_POLYGON);
glVertex2f(940, 382);
glVertex2f(900, 382);
glVertex2f(900, 402);
glVertex2f(940, 402);
glEnd();
//5
glBegin(GL_POLYGON);
glVertex2f(940, 422);
glVertex2f(900, 422);
glVertex2f(900, 442);
glVertex2f(940, 442);
glEnd();
///window Left
//1
glBegin(GL_POLYGON);
glVertex2f(870, 222);
glVertex2f(830, 222);
glVertex2f(830, 242);
glVertex2f(870, 242);
glEnd();
//2
glBegin(GL_POLYGON);
glVertex2f(870, 262);
glVertex2f(830, 262);
glVertex2f(830, 282);
glVertex2f(870, 282);
glEnd();
//3
glBegin(GL_POLYGON);
glVertex2f(870, 302);
glVertex2f(830, 302);
glVertex2f(830, 322);
glVertex2f(870, 322);
glEnd();
//4
glBegin(GL_POLYGON);
glVertex2f(870, 342);
glVertex2f(830, 342);
glVertex2f(830, 362);
glVertex2f(870, 362);
glEnd();
//5
glBegin(GL_POLYGON);
glVertex2f(870, 382);
glVertex2f(830, 382);
glVertex2f(830, 402);
glVertex2f(870, 402);
glEnd();
//6
glBegin(GL_POLYGON);
glVertex2f(870, 422);
glVertex2f(830, 422);
glVertex2f(830, 442);
glVertex2f(870, 442);
glEnd();
///building2 Brown
glBegin(GL_POLYGON);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(830, 200);
glVertex2f(510, 200);
glVertex2f(510, 400);
glVertex2f(830, 400);
glEnd();
///TOWER
glLineWidth(3.5);
glBegin(GL_LINES);
glVertex2f(700, 400);
glVertex2f(690, 530);
glVertex2f(650, 400);
glVertex2f(670, 530);
glVertex2f(650, 400);
glVertex2f(700, 448);//ok
glVertex2f(700, 448);
glVertex2f(670, 500);
glVertex2f(665, 500);
glVertex2f(690, 530);
glVertex2f(700, 400);
glVertex2f(660, 450);
glVertex2f(660, 450);
glVertex2f(690, 500);
glVertex2f(690, 500);
glVertex2f(670, 525);
glEnd();
///DOOR
glBegin(GL_POLYGON);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(702, 200);
glVertex2f(635, 200);
glVertex2f(635, 240);
glVertex2f(702, 240);
glEnd();
///Door cicrle
}
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 290);
glVertex2f(680, 290);
glVertex2f(680, 310);
glVertex2f(650, 310);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 330);
glVertex2f(680, 330);
glVertex2f(680, 350);
glVertex2f(650, 350);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(650, 370);
glVertex2f(680, 370);
glVertex2f(680, 390);
glVertex2f(650, 390);
glEnd();
///WINDOWS Left Near
//1
glBegin(GL_POLYGON);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 230);
glVertex2f(580, 230);
glVertex2f(580, 250);
glVertex2f(610, 250);
glEnd();
//2
glBegin(GL_POLYGON);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 270);
glVertex2f(580, 270);
glVertex2f(580, 290);
glVertex2f(610, 290);
glEnd();
//3
glBegin(GL_POLYGON);
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 310);
glVertex2f(580, 310);
glVertex2f(580, 330);
glVertex2f(610, 330);
glEnd();
//4
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(610, 350);
glVertex2f(580, 350);
glVertex2f(580, 370);
glVertex2f(610, 370);
glEnd();
///1
glBegin(GL_POLYGON);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 230);
glVertex2f(730, 230);
glVertex2f(730, 250);
glVertex2f(760, 250);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 270);
glVertex2f(730, 270);
glVertex2f(730, 290);
glVertex2f(760, 290);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 310);
glVertex2f(730, 310);
glVertex2f(730, 330);
glVertex2f(760, 330);
glEnd();
///4
glBegin(GL_POLYGON);
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(760, 350);
glVertex2f(730, 350);
glVertex2f(730, 370);
glVertex2f(760, 370);
glEnd();
///Building3 skyblue
glColor3f(.8, .8, 1.0);
glBegin(GL_POLYGON);
glVertex2f(510, 200);
glVertex2f(460, 200);
glVertex2f(460, 530);
glVertex2f(510, 530);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(580, 400);
glVertex2f(510, 400);
glVertex2f(510, 530);
glVertex2f(580, 530);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(510, 200);
glVertex2f(460, 200);
glVertex2f(460, 530);
glVertex2f(580, 530);
glVertex2f(580, 400);
glVertex2f(510, 400);
glEnd();
///DOOR
glColor3f(.87, .80, .2);
glBegin(GL_POLYGON);
glVertex2f(490, 200);
glVertex2f(480, 200);
glVertex2f(480, 240);
glVertex2f(490, 240);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 200);
glVertex2f(480, 200);
glVertex2f(480, 240);
glVertex2f(490, 240);
glEnd();
///Windows
//1
glBegin(GL_POLYGON);
glVertex2f(490, 250);
glVertex2f(480, 250);
glVertex2f(480, 260);
glVertex2f(490, 260);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 250);
glVertex2f(480, 250);
glVertex2f(480, 260);
glVertex2f(490, 260);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(490, 280);
glVertex2f(480, 280);
glVertex2f(480, 290);
glVertex2f(490, 290);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 280);
glVertex2f(480, 280);
glVertex2f(480, 290);
glVertex2f(490, 290);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(490, 300);
glVertex2f(480, 300);
glVertex2f(480, 310);
glVertex2f(490, 310);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 300);
glVertex2f(480, 300);
glVertex2f(480, 310);
glVertex2f(490, 310);
glEnd();
///4
glBegin(GL_POLYGON);
glVertex2f(490, 320);
glVertex2f(480, 320);
glVertex2f(480, 330);
glVertex2f(490, 330);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 320);
glVertex2f(480, 320);
glVertex2f(480, 330);
glVertex2f(490, 330);
glEnd();
///5
glBegin(GL_POLYGON);
glVertex2f(490, 340);
glVertex2f(480, 340);
glVertex2f(480, 350);
glVertex2f(490, 350);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 340);
glVertex2f(480, 340);
glVertex2f(480, 350);
glVertex2f(490, 350);
glEnd();
///6
glBegin(GL_POLYGON);
glVertex2f(490, 360);
glVertex2f(480, 360);
glVertex2f(480, 370);
glVertex2f(490, 370);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 360);
glVertex2f(480, 360);
glVertex2f(480, 370);
glVertex2f(490, 370);
glEnd();
///7
glBegin(GL_POLYGON);
glVertex2f(490, 380);
glVertex2f(480, 380);
glVertex2f(480, 390);
glVertex2f(490, 390);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 380);
glVertex2f(480, 380);
glVertex2f(480, 390);
glVertex2f(490, 390);
glEnd();
///8
glBegin(GL_POLYGON);
glVertex2f(490, 400);
glVertex2f(480, 400);
glVertex2f(480, 410);
glVertex2f(490, 410);
glEnd();
glLineWidth(2);
glVertex2f(490, 400);
glVertex2f(480, 400);
glVertex2f(480, 410);
glVertex2f(490, 410);
glEnd();
///9
glBegin(GL_POLYGON);
glVertex2f(490, 420);
glVertex2f(480, 420);
glVertex2f(480, 430);
glVertex2f(490, 430);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 420);
glVertex2f(480, 420);
glVertex2f(480, 430);
glVertex2f(490, 430);
glEnd();
///10
glBegin(GL_POLYGON);
glVertex2f(490, 440);
glVertex2f(480, 440);
glVertex2f(480, 450);
glVertex2f(490, 450);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 440);
glVertex2f(480, 440);
glVertex2f(480, 450);
glVertex2f(490, 450);
glEnd();
///11
glBegin(GL_POLYGON);
glVertex2f(490, 460);
glVertex2f(480, 460);
glVertex2f(480, 470);
glVertex2f(490, 470);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 460);
glVertex2f(480, 460);
glVertex2f(480, 470);
glVertex2f(490, 470);
glEnd();
///12
glVertex2f(490, 480);
glVertex2f(480, 480);
glVertex2f(480, 490);
glVertex2f(490, 490);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 480);
glVertex2f(480, 480);
glVertex2f(480, 490);
glVertex2f(490, 490);
glEnd();
///13
glBegin(GL_POLYGON);
glVertex2f(490, 500);
glVertex2f(480, 500);
glVertex2f(480, 510);
glVertex2f(490, 510);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(490, 500);
glVertex2f(480, 500);
glVertex2f(480, 510);
glVertex2f(490, 510);
glEnd();
///Windows Middle
///1
glBegin(GL_POLYGON);
glVertex2f(550, 410);
glVertex2f(530, 410);
glVertex2f(530, 430);
glVertex2f(550, 430);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(550, 410);
glVertex2f(530, 410);
glVertex2f(530, 430);
glVertex2f(550, 430);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(550, 450);
glVertex2f(530, 450);
glVertex2f(530, 470);
glVertex2f(550, 470);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(550, 450);
glVertex2f(530, 450);
glVertex2f(530, 470);
glVertex2f(550, 470);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(550, 490);
glVertex2f(530, 490);
glVertex2f(530, 510);
glVertex2f(550, 510);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(550, 490);
glVertex2f(530, 490);
glVertex2f(530, 510);
glVertex2f(550, 510);
glEnd();
///Building4
glVertex2f(450, 200);
glVertex2f(330, 200);
glVertex2f(330, 400);
glVertex2f(450, 400);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(450, 200);
glVertex2f(330, 200);
glVertex2f(330, 400);
glVertex2f(450, 400);
glEnd();
///DOOr
glBegin(GL_POLYGON);
glVertex2f(440, 200);
glVertex2f(420, 200);
glVertex2f(420, 250);
glVertex2f(440, 250);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(440, 200);
glVertex2f(420, 200);
glVertex2f(420, 250);
glVertex2f(440, 250);
glEnd();
///windows
glBegin(GL_POLYGON);
glVertex2f(440, 270);
glVertex2f(400, 270);
glVertex2f(400, 285);
glVertex2f(440, 285);
glEnd();
glLineWidth(2);
glBegin(GL_LINE_LOOP);
glVertex2f(440, 270);
glVertex2f(400, 270);
glVertex2f(400, 285);
glVertex2f(440, 285);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(440, 305);
glVertex2f(400, 305);
glVertex2f(400, 320);
glVertex2f(440, 320);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(440, 305);
glVertex2f(400, 305);
glVertex2f(400, 320);
glVertex2f(440, 320);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(440, 340);
glVertex2f(400, 340);
glVertex2f(400, 355);
glVertex2f(440, 355);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(440, 340);
glVertex2f(400, 340);
glVertex2f(400, 355);
glVertex2f(440, 355);
glEnd();
///4
glBegin(GL_POLYGON);
glVertex2f(440, 375);
glVertex2f(400, 375);
glVertex2f(400, 390);
glVertex2f(440, 390);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(440, 375);
glVertex2f(400, 375);
glVertex2f(400, 390);
glVertex2f(440, 390);
glEnd();
///Windows left
///1
glBegin(GL_POLYGON);
glVertex2f(350, 235);
glVertex2f(370, 235);
glVertex2f(370, 250);
glVertex2f(350, 250);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(350, 235);
glVertex2f(370, 235);
glVertex2f(370, 250);
glVertex2f(350, 250);
glEnd();
///2
glBegin(GL_POLYGON);
glVertex2f(350, 270);
glVertex2f(370, 270);
glVertex2f(370, 285);
glVertex2f(350, 285);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(350, 270);
glVertex2f(370, 270);
glVertex2f(370, 285);
glVertex2f(350, 285);
glEnd();
///3
glBegin(GL_POLYGON);
glVertex2f(350, 305);
glVertex2f(370, 305);
glVertex2f(370, 320);
glVertex2f(350, 320);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(350, 305);
glVertex2f(370, 305);
glVertex2f(370, 320);
glVertex2f(350, 320);
glEnd();
///4
glBegin(GL_POLYGON);
glVertex2f(350, 340);
glVertex2f(370, 340);
glVertex2f(370, 355);
glVertex2f(350, 355);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(350, 340);
glVertex2f(370, 340);
glVertex2f(370, 355);
glVertex2f(350, 355);
glEnd();
///5
glBegin(GL_POLYGON);
glVertex2f(350, 375);
glVertex2f(370, 375);
glVertex2f(370, 390);
glVertex2f(350, 390);
glEnd();
glBegin(GL_LINE_LOOP);
glVertex2f(350, 375);
glVertex2f(370, 375);
glVertex2f(370, 390);
glVertex2f(350, 390);
glEnd();
if (i < 750)
//bus
glBegin(GL_POLYGON);
glVertex2f(350 + i, 50);
glVertex2f(350 + i, 210);
glVertex2f(722 + i, 210);
glVertex2f(750 + i, 150);
glVertex2f(750 + i, 50);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(650 + i, 150);
glVertex2f(650 + i, 200);
glVertex2f(720 + i, 200);
glVertex2f(745 + i, 150);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(550 + i, 150);
glVertex2f(550 + i, 200);
glVertex2f(625 + i, 200);
glVertex2f(625 + i, 150);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(450 + i, 150);
glVertex2f(450 + i, 200);
glVertex2f(525 + i, 200);
glVertex2f(525 + i, 150);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(375 + i, 150);
glVertex2f(375 + i, 200);
glVertex2f(425 + i, 200);
glVertex2f(425 + i, 150);
glEnd();
for (l = 0; l < 30; l++)
if (bus == 1)
i = i + 16;
else
i = -400;
glBegin(GL_POLYGON);
glVertex2f(350 + i, 50);
glVertex2f(350 + i, 275);
glVertex2f(722 + i, 275);
glVertex2f(750 + i, 175);
glVertex2f(750 + i, 50);
glEnd();
glVertex2f(650 + i, 175);
glVertex2f(650 + i, 260);
glVertex2f(720 + i, 260);
glVertex2f(745 + i, 175);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(550 + i, 175);
glVertex2f(550 + i, 260);
glVertex2f(625 + i, 260);
glVertex2f(625 + i, 175);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(450 + i, 175);
glVertex2f(450 + i, 260);
glVertex2f(525 + i, 260);
glVertex2f(525 + i, 175);
glEnd();
glBegin(GL_POLYGON);
glVertex2f(375 + i, 175);
glVertex2f(375 + i, 260);
glVertex2f(425 + i, 260);
glVertex2f(425 + i, 175);
glEnd();
if (bus == 1)
i = i + 16;
}
glutPostRedisplay();
glFlush();
}
}
{
if (btn == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
exit(0);
bus = 1;