Guest User

Untitled

a guest
Jun 23rd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 79.34 KB | None | 0 0
  1. #define BITMAP_ID 0x4D42
  2. #define PI  3.14159
  3. #include <allegro.h>
  4. #include <alleggl.h>
  5. #include <winalleg.h>
  6. #include <windows.h>
  7. #include <gl\gl.h>
  8. #include <gl\glu.h>
  9. #include <gl\glaux.h>
  10. #include <cmath>
  11. #include <stdlib.h>
  12. #include <stdio.h>
  13. #include <almp3.h>
  14. #include <almp3dll.h>
  15. #include <stdarg.h>
  16. #include <alpng.h>
  17. #include <audiere.h>
  18. #include <SOIL.h>
  19. #include <iostream>
  20. #include <ftgl.h>
  21. #include <fstream>
  22. #include <gl\glut.h>
  23. #include "FPS.h"
  24.    
  25. using namespace std;
  26. using namespace audiere;
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. //Zmienne
  34.  
  35. bool demo=false;
  36. float kat=0.0,skala=0.0,kaat=17,kaat1=-27,kaat2=-1,aat=-11,aat1=-8,aat2=-5;
  37. string dsa;
  38. const float piover180 = 0.0174532925f;
  39. long long int wynik;
  40. float heading;
  41. int SpR=0;
  42. float xpos;
  43. int zaliczyles[12];
  44. float zpos=-200;
  45. const float fog_color[] = {0.7f, 0.7f, 0.7f, 0.1f};
  46. int SprawdzX,SprawdzY,zak=0,stronka=0,SprTor[10],Jfps=16,Dfps,Sfps,TFPS;
  47. int Z=-200,X=-9,spr=1,zakret=0,Kamera=0,SprKamera=1,Strona;
  48. float km=1000,KatZakret=0,illosc=0,sx=1.0/1.5,sy=1.0/7.5;
  49. int Drzewa[150][3],Ludek[100][4],TypDrzewa[150],TypLudka[100],opoznienie=0,spq=0,stron=1;
  50. int Domek[80],TypDomu[80],Dachowki[80];  //[60]ilosc domow, [3]os x, y, z
  51. int Od=-700,Dzialanie=4,reszta,poziom=1;
  52.  
  53. HDC g_HDC;
  54. GLfloat yrot;               // Y Rotation
  55. GLfloat walkbias = 0;
  56. GLfloat walkbiasangle = 0;
  57. GLfloat lookupdown = 0.0f;
  58. GLfloat z=0.0f;
  59. GLuint SlateTex;
  60. GLuint sciana;
  61. GLuint je,dw,tr,cz,pi,sz,si,os,dz;
  62. GLuint tek;
  63. GLuint Szescian;
  64. GLuint Samochod;
  65. GLuint reklama;
  66. GLuint tyl;
  67. GLuint tyl1;
  68. GLuint tyl2;
  69. GLuint tyl3;
  70. GLuint tyl4;
  71. GLuint qtyl;
  72. GLuint wtyl;
  73. GLuint etyl;
  74. GLuint rtyl;
  75. GLuint ttyl;
  76. GLuint ytyl;
  77. GLuint utyl;
  78. GLuint ityl;
  79. GLuint LA1;
  80. GLuint SR1;
  81. GLuint TR1;
  82. GLuint drzewo;
  83. GLuint drzewo1;
  84. GLuint drzewo2;
  85. GLuint drzewo3;
  86. GLuint ludek;
  87. GLuint ludek1;
  88. GLuint ludek2;
  89. GLuint ludek3;
  90. GLuint demoO;
  91. GLuint zSkyBox,xSkyBox,cSkyBox,vSkyBox,bSkyBox,nSkyBox;
  92. GLuint horo;
  93. int Li,Lip,LiczKtora=0;
  94. GLuint tekst;
  95. float kolor=0.0;
  96. int czas;
  97.  
  98.  
  99.  
  100.  void output(int x, int y, const char *strig, ...)
  101.  {
  102.    int len, i;
  103.    glRasterPos2f(x, y);
  104.    len = (int) strlen(strig);
  105.    for (i = 0; i < len; i++)
  106.    {
  107.      glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, strig[i]);
  108.    }
  109.  }
  110.  
  111.  
  112.  
  113.  
  114. //-------------------------------->>>LISTY WYŚWIETLENIA<<<--------------------------------  
  115.     GLuint RysujbSkyBox()
  116.     {
  117.     bSkyBox=glGenLists(1);
  118.     glNewList(bSkyBox,GL_COMPILE);
  119.     glBegin(GL_QUADS);
  120.     glTexCoord2f(0,1); glVertex3f(-300,80,200);
  121.     glTexCoord2f(1,1); glVertex3f(300,80,200);
  122.     glTexCoord2f(1,0); glVertex3f(300,80,-200);
  123.     glTexCoord2f(0,0); glVertex3f(-300,80,-200);
  124.     glEnd();
  125.     glEndList();
  126.     }
  127.    
  128.  
  129.    
  130.    
  131.     GLuint RysujChoro()
  132.     {
  133.     horo=glGenLists(1);
  134.     glNewList(horo,GL_COMPILE);
  135.     glBegin(GL_QUADS);
  136.     glTexCoord2f(100,1); glVertex3f(-10.5,1.9,-9200);
  137.     glTexCoord2f(100,0); glVertex3f(-10.5,-1.9,-9200);
  138.     glTexCoord2f(0,0); glVertex3f(-10.5,-1.9,0);
  139.     glTexCoord2f(0,1); glVertex3f(-10.5,1.9,0);
  140.    
  141.     glTexCoord2f(100,1); glVertex3f(10.5,1.9,-9200);
  142.     glTexCoord2f(100,0); glVertex3f(10.5,-1.9,-9200);
  143.     glTexCoord2f(0,0); glVertex3f(10.5,-1.9,0);
  144.     glTexCoord2f(0,1); glVertex3f(10.5,1.9,0);
  145.     glEnd();
  146.     glEndList();
  147.     }
  148.    
  149.    
  150.    
  151.    
  152.    
  153.    
  154.     GLuint RysujvSkyBox()
  155.     {
  156.     vSkyBox=glGenLists(1);
  157.     glNewList(vSkyBox,GL_COMPILE);
  158.     glBegin(GL_QUADS);
  159.     glTexCoord2f(0,1); glVertex3f(300,80.0,-200);    
  160.     glTexCoord2f(0,0); glVertex3f(300,-1.0,-200);      
  161.     glTexCoord2f(1,0); glVertex3f(300,-1.0,200);  
  162.     glTexCoord2f(1,1); glVertex3f(300,80.0,200);
  163.     glEnd();
  164.     glEndList();
  165.     }
  166.    
  167.    
  168.    
  169.    
  170.    
  171.    
  172.    
  173.    
  174.    
  175.     GLuint RysujcSkyBox()
  176.     {
  177.     cSkyBox=glGenLists(1);
  178.     glNewList(cSkyBox,GL_COMPILE);
  179.     glBegin(GL_QUADS);
  180.     glTexCoord2f(0,1); glVertex3f(-300,80.0,200);    
  181.     glTexCoord2f(0,0); glVertex3f(-300,-1.0,200);      
  182.     glTexCoord2f(1,0); glVertex3f(-300,-1.0,-200);  
  183.     glTexCoord2f(1,1); glVertex3f(-300,80.0,-200);
  184.     glEnd();
  185.     glEndList();
  186.     }
  187.    
  188.    
  189.    
  190.     float moc=5.0;
  191.    
  192.    
  193.    
  194.     GLuint RysujxSkyBox()
  195.     {
  196.     xSkyBox=glGenLists(1);
  197.     glNewList(xSkyBox,GL_COMPILE);
  198.     glTranslatef(0,0,-200);
  199.     glBegin(GL_QUADS);
  200.     glTexCoord2f(0,1); glVertex3f(-300,80.0,-200);
  201.     glTexCoord2f(1,1); glVertex3f(300,80.0,-200);
  202.     glTexCoord2f(1,0); glVertex3f(300,-3.0,-200);
  203.     glTexCoord2f(0,0); glVertex3f(-300,-3.0,-200);
  204.     glEnd();
  205.     glEndList();
  206.     }
  207.    
  208.    
  209.    
  210.    
  211.    
  212.    
  213.    
  214.    
  215.    
  216.     GLuint RysujzSkyBox()
  217.     {
  218.     zSkyBox=glGenLists(1);
  219.     glNewList(zSkyBox,GL_COMPILE);
  220.     glBegin(GL_QUADS);
  221.     glTexCoord2f(1,1); glVertex3f(-300,80,200);
  222.     glTexCoord2f(0,1); glVertex3f(300,80,200);
  223.     glTexCoord2f(0,0); glVertex3f(300,-1.0,200);
  224.     glTexCoord2f(1,0); glVertex3f(-300,-1.0,200);
  225.     glEnd();
  226.     glEndList();
  227.     }
  228.    
  229.    
  230. //----------------------------------------------------------------------------------------
  231.    
  232.    
  233.    
  234.    
  235.    
  236.    
  237.    
  238.    
  239.    
  240.    
  241.    
  242.    
  243.    
  244.    
  245.    
  246.    
  247.    
  248.    
  249.    
  250.    
  251.    
  252.    
  253.    
  254.    
  255.    
  256.    
  257.    
  258.    
  259.     float JednaKlatka;
  260.  
  261.  
  262. int main()
  263. {
  264.     allegro_init();
  265.     install_allegro_gl();
  266.     install_keyboard();
  267.     install_mouse();
  268.     alpng_init();
  269.     install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,"");
  270.     set_volume(255,255);
  271.     set_color_depth(32);
  272.     allegro_gl_set(AGL_Z_DEPTH, 32);
  273.     allegro_gl_set(AGL_COLOR_DEPTH, 32);
  274.     allegro_gl_set(AGL_SUGGEST, AGL_Z_DEPTH | AGL_COLOR_DEPTH);
  275.     set_gfx_mode(GFX_OPENGL_FULLSCREEN, 800,600, 0, 0);
  276.     srand(time(NULL));
  277.     RysujzSkyBox();
  278.     RysujxSkyBox();
  279.     RysujcSkyBox();
  280.     RysujvSkyBox();
  281.     RysujbSkyBox();
  282.     RysujChoro();
  283.     wglSwapIntervalEXT(1);
  284.    
  285.    
  286.     glEnable(GL_DEPTH_TEST);
  287.     glEnable(GL_POLYGON_SMOOTH);
  288.     glDepthFunc(GL_LEQUAL);
  289.    
  290.    
  291.     glDepthFunc(GL_LEQUAL);                            
  292.     glBlendFunc(GL_SRC_ALPHA,GL_ONE);                  
  293.     glShadeModel(GL_SMOOTH);
  294.    
  295.    
  296.         glColor4f(1.0f, 1.0f, 1.0f, 1.0);          
  297.     glClearDepth(1.0);                             
  298.     glDepthFunc(GL_LESS);
  299.     /*
  300.     glEnable(GL_ALPHA_TEST);
  301.     */
  302.     glAlphaFunc(GL_GREATER, 0.5);                  
  303.     /*
  304.     set_alpha_blender();
  305.     */
  306.     glEnable(GL_DEPTH_TEST);
  307.     glFrontFace(GL_CW);
  308.     glEnable(GL_TEXTURE_2D);                   
  309.     glShadeModel(GL_SMOOTH);                       
  310.     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); 
  311.     allegro_gl_set_texture_format (GL_RGB8);
  312.     glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP_SGIS, GL_TRUE);
  313.     glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
  314.    
  315.    
  316.     glShadeModel(GL_SMOOTH);                        // cieniowanie gładkie
  317.     glEnable(GL_DEPTH_TEST);                    // bufor głębi
  318.     glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
  319.         glEnable(GL_TEXTURE_2D);
  320.  
  321.    
  322.  
  323.     GLuint load;
  324.     load=SOIL_load_OGL_texture ("Data/img/load.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  325.       float poa=64,pob=256,poc=0;
  326.            // while (1)
  327.           //  {
  328.             glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  329.         glLoadIdentity();
  330.        
  331.        
  332.         /*
  333.         if (key[KEY_A])
  334.         poa+=1;
  335.         if (key[KEY_Z])
  336.         poa-=1;
  337.         if (key[KEY_S])
  338.         pob+=1;
  339.         if (key[KEY_X])
  340.         pob-=1;
  341.          */
  342.          /*
  343.          FONT *font = allegro_gl_load_system_font("Arial", AGL_FONT_STYLE_ANTI_ALIASED, poa, pob);
  344.          
  345.          
  346.         glEnable (GL_BLEND);
  347.      glBlendFunc ( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ) ;
  348.      allegro_gl_printf (font, 0,0,0,makeacol(255,255,255,255),"Hello World!" ) ;
  349.      glBlendFunc ( GL_ONE, GL_ZERO ) ;
  350.      glDisable ( GL_BLEND ) ;
  351.      
  352.      
  353.      */
  354.     glBindTexture(GL_TEXTURE_2D,load);
  355.     glBegin(GL_QUADS);
  356.     glTexCoord2f(0,0); glVertex3f(-1.0,-1.0,0);
  357.     glTexCoord2f(1,0); glVertex3f(1.0,-1.0,0);
  358.     glTexCoord2f(1,1); glVertex3f(1.0,1.0,0);
  359.     glTexCoord2f(0,1); glVertex3f(-1.0,1.0,0);
  360.     glEnd();
  361.        
  362.     allegro_gl_flip();
  363.    
  364.    
  365. //}
  366.  
  367.  
  368.     int prze;
  369.  
  370.     //mgła
  371.     //----------------
  372.     //glEnable( GL_FOG );
  373.     glFogfv( GL_FOG_COLOR, fog_color );
  374.     glHint(GL_FOG_HINT, GL_NICEST );
  375.     glFogf( GL_FOG_START, -710.0f );
  376.     glFogf( GL_FOG_END, 710.0f );
  377.     //glFogf( GL_FOG_DENSITY, 0.007f );
  378.     glFogi( GL_FOG_MODE, GL_LINEAR);
  379.     //------------------
  380.  
  381.     float poz_x=0.5,poz_y=0.5;
  382.  
  383.     AudioDevicePtr okej(OpenDevice());
  384.     AudioDevicePtr wygrana(OpenDevice());
  385.     AudioDevicePtr menu(OpenDevice());
  386.     AudioDevicePtr gra(OpenDevice());
  387.     AudioDevicePtr przegrana(OpenDevice());
  388.    
  389.     OutputStreamPtr qokej(OpenSound(okej, "Data/sound/MatRace03.MT",true));
  390.     qokej->setVolume(1.0);
  391.     qokej->setRepeat(false);
  392.    
  393.     OutputStreamPtr qwygrana(OpenSound(wygrana, "Data/sound/MatRace05.MT",true));
  394.     qwygrana->setVolume(1.0);
  395.     qwygrana->setRepeat(false);
  396.    
  397.     OutputStreamPtr qmenu(OpenSound(menu, "Data/sound/MatRace01.MT",true));
  398.     qmenu->setVolume(1.0);
  399.     qmenu->setRepeat(true);
  400.    
  401.     OutputStreamPtr qgra(OpenSound(gra, "Data/sound/MatRace02.MT",true));
  402.     qgra->setVolume(1.0);
  403.     qgra->setRepeat(true);
  404.    
  405.     OutputStreamPtr qprzegrana(OpenSound(przegrana, "Data/sound/MatRace04.MT",true));
  406.     qprzegrana->setVolume(1.0);
  407.     qprzegrana->setRepeat(false);
  408.  
  409.    
  410.     GLuint colt;
  411.     GLuint tlo;
  412.     GLuint ng;
  413.     GLuint l;
  414.     GLuint s;
  415.     GLuint tr;
  416.     GLuint kursor;
  417.     GLuint wzg;
  418.     GLuint LA;
  419.     GLuint SR;
  420.     GLuint TR;
  421.     GLuint DO;
  422.     GLuint OD;
  423.     GLuint MN;
  424.     GLuint DZ;
  425.     GLuint czar;
  426.     GLuint ok;
  427.     GLuint droga;
  428.     GLuint no;
  429.     GLuint tytul;
  430.    
  431.     GLuint choro;
  432.     GLuint SkyBoxLewo;
  433.     GLuint SkyBoxPrawo;
  434.     GLuint SkyBoxPrzed;
  435.     GLuint SkyBoxZa;
  436.     GLuint SkyBoxNiebo;
  437.     GLuint teks;
  438.     GLuint s1;
  439.     GLuint s2;
  440.     GLuint s3;
  441.     GLuint D1;
  442.     GLuint D2;
  443.     GLuint D3;
  444.     GLuint D5;
  445.     GLuint D7;
  446.     GLuint s4;
  447.     GLuint s5;
  448.     GLuint skr;
  449.     GLuint brzoska;
  450.     GLuint ksia;
  451.  
  452.     //GLuint teks=SOIL_load_OGL_texture ("teks.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  453.     BITMAP *tekstura=load_bitmap("Data/img/MatRace01.png",0);
  454.     BITMAP *zla=load_bitmap("Data/img/za.png",0);
  455.     BITMAP *Skyp=load_bitmap("Data/img/przed.png",0);
  456.     BITMAP *Skyn=load_bitmap("Data/img/niebo.png",0);
  457.     BITMAP *jezdnia=load_bitmap("Data/img/droga.png",0);
  458.     BITMAP *prawo=load_bitmap("Data/img/prawo.png",0);
  459.     BITMAP *Skyl=load_bitmap("Data/img/lewo.png",0);
  460.     //BITMAP *a1=load_bitmap("Data/img/s1.png",0);
  461.     //BITMAP *a2=load_bitmap("Data/img/s2.png",0);
  462.     //BITMAP *a3=load_bitmap("Data/img/s3.png",0);
  463.     BITMAP *chor=load_png("Data/img/choro.png",0);
  464.    
  465.    LA1=SOIL_load_OGL_texture ("Data/img/LA1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  466.    SR1=SOIL_load_OGL_texture ("Data/img/SR1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  467.    TR1=SOIL_load_OGL_texture ("Data/img/TR1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  468.  
  469.     s1=SOIL_load_OGL_texture ("Data/img/s1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  470.     s2=SOIL_load_OGL_texture ("Data/img/s2.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  471.     s3=SOIL_load_OGL_texture ("Data/img/s3.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  472.     s4=SOIL_load_OGL_texture ("Data/img/s4.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  473.     s5=SOIL_load_OGL_texture ("Data/img/s5.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  474.     D1=SOIL_load_OGL_texture ("Data/img/D1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  475.     D2=SOIL_load_OGL_texture ("Data/img/D2.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  476.     D3=SOIL_load_OGL_texture ("Data/img/D3.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  477.     D5=SOIL_load_OGL_texture ("Data/img/D5.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  478.     D7=SOIL_load_OGL_texture ("Data/img/D7.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  479.     tytul=SOIL_load_OGL_texture ("Data/img/tytul.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  480.     ok=SOIL_load_OGL_texture ("Data/img/ok.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  481.     no=SOIL_load_OGL_texture ("Data/img/no.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  482.     czar=SOIL_load_OGL_texture ("Data/img/czar.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  483.     DO=SOIL_load_OGL_texture ("Data/img/DO.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  484.     OD=SOIL_load_OGL_texture ("Data/img/OD.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  485.     MN=SOIL_load_OGL_texture ("Data/img/MN.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  486.     DZ=SOIL_load_OGL_texture ("Data/img/DZ.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  487.     LA=SOIL_load_OGL_texture ("Data/img/LA.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  488.     SR=SOIL_load_OGL_texture ("Data/img/SR.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  489.     TR=SOIL_load_OGL_texture ("Data/img/TR.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  490.     tlo=SOIL_load_OGL_texture ("Data/img/tlo.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  491.     wzg=SOIL_load_OGL_texture ("Data/img/wzg.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  492.     ng=SOIL_load_OGL_texture ("Data/img/ng.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  493.     kursor=SOIL_load_OGL_texture ("Data/img/kursor.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  494.     colt=SOIL_load_OGL_texture ("Data/img/colt.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  495.     ludek=SOIL_load_OGL_texture ("Data/img/ludek.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  496.     ludek1=SOIL_load_OGL_texture ("Data/img/ludek1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  497.     ludek2=SOIL_load_OGL_texture ("Data/img/ludek2.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  498.     ludek3=SOIL_load_OGL_texture ("Data/img/ludek3.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  499.     demoO=SOIL_load_OGL_texture ("Data/img/demo.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  500.     drzewo=SOIL_load_OGL_texture ("Data/img/drzewo.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  501.     drzewo1=SOIL_load_OGL_texture ("Data/img/drzewo1.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  502.     drzewo2=SOIL_load_OGL_texture ("Data/img/drzewo2.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );
  503.     drzewo3=SOIL_load_OGL_texture ("Data/img/drzewo3.png" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );  
  504.     skr=SOIL_load_OGL_texture ("Data/img/skr.jpg" , SOIL_LOAD_AUTO , SOIL_CREATE_NEW_ID , SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT );  
  505.  
  506.    
  507.     choro=allegro_gl_make_texture(chor);
  508.     SkyBoxLewo=allegro_gl_make_texture(Skyl);
  509.     SkyBoxPrawo=allegro_gl_make_texture(prawo);
  510.     SkyBoxPrzed=allegro_gl_make_texture(Skyp);
  511.     SkyBoxNiebo=allegro_gl_make_texture(Skyn);
  512.     teks=allegro_gl_make_texture(tekstura);
  513.     droga=allegro_gl_make_texture(jezdnia);
  514.     SkyBoxZa=allegro_gl_make_texture(zla);
  515.     //s1=allegro_gl_make_texture(a1);
  516.     //s2=allegro_gl_make_texture(a2);
  517.     //s3=allegro_gl_make_texture(a3);
  518.          
  519.     int os_a,os_b;
  520.     while (1)
  521.     {
  522.           /*
  523.          
  524.     float kat=0.0,skala=0.0,kaat=17,kaat1=-27,kaat2=-1,aat=-11,aat1=-8,aat2=-5;
  525. string dsa;
  526. const float piover180 = 0.0174532925f;
  527. long long int wynik;
  528. float heading;
  529. int SpR=0;
  530. float xpos;
  531. int zaliczyles[12];
  532. float zpos=-200;
  533. const float fog_color[] = {0.7f, 0.7f, 0.7f, 0.1f};
  534. */
  535. int SprTor[10];
  536. /*
  537. int Z=-200,X=-9,spr=1,zakret=0,Kamera=0,SprKamera=1,Strona;
  538. float km=1000,KatZakret=0,illosc=0,sx=1.0/1.5,sy=1.0/7.5;
  539. int Drzewa[150][3],Ludek[100][3],opoznienie=0,spq=0,stron=1;
  540. int Domek[80];  //[60]ilosc domow, [3]os x, y, z
  541. int Od=-700,Dzialanie=4,reszta,poziom=1;
  542.  
  543. GLfloat walkbias = 0;
  544. GLfloat walkbiasangle = 0;
  545. GLfloat lookupdown = 0.0f;
  546. GLfloat z=0.0f;
  547. int Li,Lip,LiczKtora=0;
  548. float kolor=0.0;
  549. int czas;
  550.          
  551.      */    
  552.          
  553.          
  554.          
  555.          
  556.          
  557.          
  558.          
  559.          
  560.          
  561.          
  562.     glPushMatrix();  
  563.     glMatrixMode(GL_PROJECTION);
  564.     glLoadIdentity();
  565.    
  566.    
  567.    
  568.    
  569.    
  570.          
  571.     int pudlo=0;
  572.    
  573.    
  574.     ifstream plik("Data/dts");
  575.     int licznik=0;
  576.     while (licznik<12)
  577.     {
  578.     plik>>zaliczyles[licznik];
  579.     ++licznik;
  580.     }
  581.    
  582.     int sq=0;
  583.     glDisable(GL_ALPHA_TEST);
  584.     glDisable(GL_BLEND);
  585.     glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
  586.    
  587.     int SprMysz=0;
  588.    
  589.    
  590.     POINT Mysz;
  591.          GetCursorPos(&Mysz);              
  592.          GLfloat X = 2.3;
  593.          GLfloat Y= 2.3;
  594.          
  595.          int przycisk=0;
  596.          int esc=0;
  597.          
  598.          qmenu->reset();
  599.          qmenu->play();
  600.          
  601.          pi:
  602.      while (1)
  603.       {
  604.             glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  605.         glLoadIdentity();    
  606.  
  607.        
  608.        
  609.         if (!key[KEY_ESC])
  610.         esc=0;
  611.        
  612.         if (key[KEY_ESC]&&esc==0)
  613.         return 0;
  614.        
  615.         glDisable(GL_BLEND);
  616.        
  617.         glBindTexture(GL_TEXTURE_2D,tlo);
  618.         glBegin(GL_QUADS);
  619.         glTexCoord2f(0,0); glVertex3f(-1,-1,0.1);
  620.         glTexCoord2f(1,0); glVertex3f(1,-1,0.1);
  621.         glTexCoord2f(1,1); glVertex3f(1,1,0.1);
  622.         glTexCoord2f(0,1); glVertex3f(-1,1,0.1);
  623.         glEnd();
  624.        
  625.        
  626.        
  627.        
  628.         POINT Mysz;
  629.          X = (float)Mysz.x/90.0f-5;
  630.          Y= (float)Mysz.y/90.0f-3;
  631.          
  632.          X/=3,Y/=3;
  633.          GetCursorPos(&Mysz);
  634.          przycisk=1;
  635.          
  636.          if (Mysz.x<156)
  637.          Mysz.x=155;
  638.          if (Mysz.x>680)
  639.          Mysz.x=679;
  640.          if (Mysz.y<49)
  641.          Mysz.y=50;
  642.          if (Mysz.y>562)
  643.          Mysz.y=561;
  644.  
  645.          
  646.          
  647.          glEnable(GL_ALPHA_TEST);
  648.          glAlphaFunc(GL_GREATER, 0.1);
  649.          
  650.          
  651.          glBindTexture(GL_TEXTURE_2D,kursor);
  652.          glBegin(GL_QUADS);                
  653.          glTexCoord2f(1,0); glVertex3f( 0.25f+X, 0.0f-Y, 0.0f);      
  654.          glTexCoord2f(0,0); glVertex3f( 0.0f+X, 0.0f-Y, 0.0f);      
  655.          glTexCoord2f(0,1); glVertex3f( 0.0f+X, 0.25f-Y, 0.0f);
  656.          glTexCoord2f(1,1); glVertex3f( 0.25f+X, 0.25f-Y, 0.0f);  
  657.          glEnd();
  658.          
  659.          
  660.          glBindTexture(GL_TEXTURE_2D,tytul);
  661.          glBegin(GL_QUADS);
  662.          glTexCoord2f(0,0); glVertex3f(-0.9,0.4,0);
  663.          glTexCoord2f(1,0); glVertex3f(1.0,0.4,0);
  664.          glTexCoord2f(1,1); glVertex3f(1.0,1.1,0);
  665.          glTexCoord2f(0,1); glVertex3f(-0.9,1.1,0);
  666.          glEnd();
  667.          
  668.          
  669.          glDisable(GL_ALPHA_TEST);
  670.          
  671.          
  672.          glDisable(GL_BLEND);
  673.          
  674.          if (Mysz.x<264||Mysz.x>588||Mysz.y>351||Mysz.y<240)
  675.          {
  676.          glEnable(GL_BLEND);
  677.          glColor4f(1,1,1,0.6);
  678.          przycisk=0;
  679.          }
  680.          
  681.          if (mouse_b==1&&przycisk==1)
  682.          {
  683.          SprMysz=1;
  684.          goto gra;
  685.          }
  686.          
  687.          if (przycisk!=0)
  688.          glColor4f(1,1,1,1);
  689.          
  690.              glBindTexture(GL_TEXTURE_2D, ng);
  691.          glBegin(GL_QUADS);
  692.          glTexCoord2f(0,1); glVertex3f(-0.6,0.3,0);
  693.          glTexCoord2f(1,1); glVertex3f(0.6,0.3,0);
  694.          glTexCoord2f(1,0); glVertex3f(0.6,-0.1,0);
  695.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.1,0);
  696.          glEnd();
  697.          
  698.          
  699.          glDisable(GL_ALPHA_TEST);
  700.          
  701.          
  702.          if (Mysz.x<264||Mysz.x>588||Mysz.y>539||Mysz.y<428)
  703.          {
  704.          glEnable(GL_BLEND);
  705.          glColor4f(1,1,1,0.6);
  706.          przycisk=2;
  707.          }
  708.          
  709.          if (mouse_b==1&&przycisk!=2)
  710.          return 0;
  711.          
  712.          
  713.          
  714.          if (przycisk!=2)
  715.          {
  716.          glColor4f(1,1,1,1);                
  717.          }
  718.          
  719.          glBindTexture(GL_TEXTURE_2D, wzg);
  720.          glBegin(GL_QUADS);
  721.          glTexCoord2f(0,1); glVertex3f(-0.6,-0.4,0);
  722.          glTexCoord2f(1,1); glVertex3f(0.6,-0.4,0);
  723.          glTexCoord2f(1,0); glVertex3f(0.6,-0.8,0);
  724.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.8,0);
  725.          glEnd();
  726.        
  727.          allegro_gl_flip();
  728.          }
  729.          
  730.          
  731.          
  732.          //--------------------------------------------------------------
  733.          //##############################################################
  734.          //--------------------------------------------------------------
  735.          gra:
  736.          
  737.          
  738.          
  739.          
  740.          
  741.          dr:
  742.          while (1)
  743.          {
  744.             glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  745.         glLoadIdentity();    
  746.        
  747.         if (mouse_b!=1)
  748.         SprMysz=0;
  749.        
  750.         if (!key[KEY_ESC])
  751.         esc=0;
  752.        
  753.         if (key[KEY_ESC]&&esc==0)
  754.         {
  755.         esc=1;
  756.         goto pi;
  757.         }
  758.        
  759.         glBindTexture(GL_TEXTURE_2D,tlo);
  760.         glBegin(GL_QUADS);
  761.         glTexCoord2f(0,0); glVertex3f(-1,-1,0.1);  
  762.         glTexCoord2f(1,0); glVertex3f(1,-1,0.1);
  763.         glTexCoord2f(1,1); glVertex3f(1,1,0.1);
  764.         glTexCoord2f(0,1); glVertex3f(-1,1,0.1);
  765.         glEnd();
  766.        
  767.         POINT Mysz;
  768.          X = (float)Mysz.x/90.0f-5;
  769.          Y= (float)Mysz.y/90.0f-3;
  770.          
  771.          X/=3,Y/=3;
  772.          GetCursorPos(&Mysz);
  773.          przycisk=1;
  774.          
  775.          if (Mysz.x<156)
  776.          Mysz.x=155;
  777.          if (Mysz.x>680)
  778.          Mysz.x=679;
  779.          if (Mysz.y<49)
  780.          Mysz.y=50;
  781.          if (Mysz.y>562)
  782.          Mysz.y=561;
  783.  
  784.          
  785.          
  786.          glEnable(GL_ALPHA_TEST);
  787.          glAlphaFunc(GL_GREATER, 0.1);
  788.          
  789.          
  790.          glBindTexture(GL_TEXTURE_2D,kursor);
  791.          glBegin(GL_QUADS);                
  792.          glTexCoord2f(1,0); glVertex3f( 0.25f+X, 0.0f-Y, 0.0f);      
  793.          glTexCoord2f(0,0); glVertex3f( 0.0f+X, 0.0f-Y, 0.0f);      
  794.          glTexCoord2f(0,1); glVertex3f( 0.0f+X, 0.25f-Y, 0.0f);
  795.          glTexCoord2f(1,1); glVertex3f( 0.25f+X, 0.25f-Y, 0.0f);  
  796.          glEnd();
  797.          
  798.  
  799.          glDisable(GL_ALPHA_TEST);
  800.          
  801.          przycisk=1;
  802.          
  803.          
  804.          
  805.          if (Mysz.x<264||Mysz.x>588||Mysz.y>187||Mysz.y<108)
  806.          {
  807.          glEnable(GL_BLEND);
  808.          glColor4f(1,1,1,0.6);
  809.          przycisk=2;
  810.          }
  811.          
  812.          if (mouse_b==1&&przycisk!=2&&SprMysz==0)
  813.          {
  814.          SprMysz=1;
  815.          Dzialanie=1;
  816.          goto ggra;
  817.          }
  818.          
  819.          
  820.          
  821.          if (przycisk!=2)
  822.          {
  823.          glColor4f(1,1,1,1);                
  824.          }
  825.          
  826.          glBindTexture(GL_TEXTURE_2D,DO);
  827.          glBegin(GL_QUADS);
  828.          glTexCoord2f(0,0); glVertex3f(-0.6,0.5,0);
  829.          glTexCoord2f(1,0); glVertex3f(0.6,0.5,0);
  830.          glTexCoord2f(1,1); glVertex3f(0.6,0.8,0);
  831.          glTexCoord2f(0,1); glVertex3f(-0.6,0.8,0);
  832.          glEnd();
  833.          
  834.          glDisable(GL_BLEND);
  835.          
  836.          
  837.          
  838.          
  839.          
  840.          if (Mysz.x<264||Mysz.x>588||Mysz.y>321||Mysz.y<243)
  841.          {
  842.          glEnable(GL_BLEND);
  843.          glColor4f(1,1,1,0.6);
  844.          przycisk=3;
  845.          }
  846.          
  847.          if (mouse_b==1&&przycisk!=3&&SprMysz==0)
  848.          {
  849.          SprMysz=1;
  850.          Dzialanie=2;
  851.          goto ggra;
  852.          }
  853.          
  854.          
  855.          
  856.          if (przycisk!=3)
  857.          {
  858.          glColor4f(1,1,1,1);                
  859.          }
  860.          
  861.          
  862.          glBindTexture(GL_TEXTURE_2D,OD);
  863.          glBegin(GL_QUADS);
  864.          glTexCoord2f(0,0); glVertex3f(-0.6,0.0,0);
  865.          glTexCoord2f(1,0); glVertex3f(0.6,0.0,0);
  866.          glTexCoord2f(1,1); glVertex3f(0.6,0.3,0);
  867.          glTexCoord2f(0,1); glVertex3f(-0.6,0.3,0);
  868.          glEnd();
  869.          
  870.          
  871.          glDisable(GL_BLEND);
  872.          
  873.          
  874.          
  875.          
  876.          if (Mysz.x<264||Mysz.x>588||Mysz.y>456||Mysz.y<378)
  877.          {
  878.          glEnable(GL_BLEND);
  879.          glColor4f(1,1,1,0.6);
  880.          przycisk=4;
  881.          }
  882.          
  883.          if (mouse_b==1&&przycisk!=4&&SprMysz==0)
  884.          {
  885.          SprMysz=1;
  886.          Dzialanie=3;
  887.          goto ggra;
  888.          }
  889.          
  890.          
  891.          
  892.          if (przycisk!=4)
  893.          {
  894.          glColor4f(1,1,1,1);                
  895.          }
  896.          
  897.          
  898.          glBindTexture(GL_TEXTURE_2D,MN);
  899.          glBegin(GL_QUADS);
  900.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.5,0);
  901.          glTexCoord2f(1,0); glVertex3f(0.6,-0.5,0);
  902.          glTexCoord2f(1,1); glVertex3f(0.6,-0.2,0);
  903.          glTexCoord2f(0,1); glVertex3f(-0.6,-0.2,0);
  904.          glEnd();
  905.          
  906.          glDisable(GL_BLEND);
  907.          
  908.          
  909.          
  910.          
  911.          if (Mysz.x<264||Mysz.x>588||Mysz.y>561||Mysz.y<487)
  912.          {
  913.          glEnable(GL_BLEND);
  914.          glColor4f(1,1,1,0.6);
  915.          przycisk=5;
  916.          }
  917.          
  918.          if (mouse_b==1&&przycisk!=5&&SprMysz==0)
  919.          {
  920.          SprMysz=1;
  921.          Dzialanie=4;
  922.          goto ggra;
  923.          }
  924.          
  925.          
  926.          
  927.          if (przycisk!=5)
  928.          {
  929.          glColor4f(1,1,1,1);                
  930.          }
  931.          
  932.          
  933.          
  934.          
  935.          glBindTexture(GL_TEXTURE_2D,DZ);
  936.          glBegin(GL_QUADS);
  937.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.9,0);
  938.          glTexCoord2f(1,0); glVertex3f(0.6,-0.9,0);
  939.          glTexCoord2f(1,1); glVertex3f(0.6,-0.6,0);
  940.          glTexCoord2f(0,1); glVertex3f(-0.6,-0.6,0);
  941.          glEnd();
  942.          
  943.          
  944.          
  945.          glDisable(GL_BLEND);
  946.          OdswierzFPS();
  947.          
  948.  
  949.          
  950.          
  951.          
  952.          
  953.          allegro_gl_flip();
  954.          
  955.          }
  956.          
  957.          
  958.          
  959.          
  960.          
  961.          
  962.          
  963.          
  964.          
  965.          
  966.          
  967.          
  968.          
  969.          ggra:
  970.          
  971.          while (1)
  972.          {
  973.             glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  974.         glLoadIdentity();    
  975.        
  976.        
  977.        
  978.         if (mouse_b!=1)
  979.         SprMysz=0;
  980.        
  981.        
  982.         int tor=2;
  983.        
  984.         if (key[KEY_ESC])
  985.         {
  986.         esc=1;
  987.         goto dr;
  988.         }
  989.        
  990.        
  991.         glBindTexture(GL_TEXTURE_2D,tlo);
  992.         glBegin(GL_QUADS);
  993.         glTexCoord2f(0,0); glVertex3f(-1,-1,0.1);  
  994.         glTexCoord2f(1,0); glVertex3f(1,-1,0.1);
  995.         glTexCoord2f(1,1); glVertex3f(1,1,0.1);
  996.         glTexCoord2f(0,1); glVertex3f(-1,1,0.1);
  997.         glEnd();
  998.        
  999.         POINT Mysz;
  1000.          X = (float)Mysz.x/90.0f-5;
  1001.          Y= (float)Mysz.y/90.0f-3;
  1002.          
  1003.          X/=3,Y/=3;
  1004.          GetCursorPos(&Mysz);
  1005.          przycisk=1;
  1006.          
  1007.          if (Mysz.x<156)
  1008.          Mysz.x=155;
  1009.          if (Mysz.x>680)
  1010.          Mysz.x=679;
  1011.          if (Mysz.y<49)
  1012.          Mysz.y=50;
  1013.          if (Mysz.y>562)
  1014.          Mysz.y=561;
  1015.  
  1016.          
  1017.          
  1018.          glEnable(GL_ALPHA_TEST);
  1019.          glAlphaFunc(GL_GREATER, 0.1);
  1020.          
  1021.          
  1022.          glBindTexture(GL_TEXTURE_2D,kursor);
  1023.          glBegin(GL_QUADS);                
  1024.          glTexCoord2f(1,0); glVertex3f( 0.25f+X, 0.0f-Y, 0.0f);      
  1025.          glTexCoord2f(0,0); glVertex3f( 0.0f+X, 0.0f-Y, 0.0f);      
  1026.          glTexCoord2f(0,1); glVertex3f( 0.0f+X, 0.25f-Y, 0.0f);
  1027.          glTexCoord2f(1,1); glVertex3f( 0.25f+X, 0.25f-Y, 0.0f);  
  1028.          glEnd();
  1029.          
  1030.  
  1031.          glDisable(GL_ALPHA_TEST);
  1032.          
  1033.          przycisk=1;
  1034.          
  1035.          
  1036.          if (demo==false||Dzialanie<3)
  1037.          {
  1038.          if (Mysz.x<264||Mysz.x>588||Mysz.y>239||Mysz.y<162)
  1039.          {
  1040.          glEnable(GL_BLEND);
  1041.          glColor4f(1,1,1,0.6);
  1042.          przycisk=2;
  1043.          }
  1044.          
  1045.          if (mouse_b==1&&przycisk!=2&&SprMysz==0)
  1046.          {
  1047.          SprMysz=1;
  1048.          poziom=1;
  1049.          goto wgra;
  1050.          }
  1051.          }
  1052.          
  1053.          if (przycisk!=2)
  1054.          {
  1055.          glColor4f(1,1,1,1);                
  1056.          }
  1057.          
  1058.          glBindTexture(GL_TEXTURE_2D,LA);
  1059.          if (demo==true&&Dzialanie>2)
  1060.          glBindTexture(GL_TEXTURE_2D,LA1);
  1061.          
  1062.          glBegin(GL_QUADS);
  1063.          glTexCoord2f(0,0); glVertex3f(-0.6,0.3,0);
  1064.          glTexCoord2f(1,0); glVertex3f(0.6,0.3,0);
  1065.          glTexCoord2f(1,1); glVertex3f(0.6,0.6,0);
  1066.          glTexCoord2f(0,1); glVertex3f(-0.6,0.6,0);
  1067.          glEnd();
  1068.          
  1069.          
  1070.          
  1071.          
  1072.          
  1073.          
  1074.          glDisable(GL_BLEND);
  1075.          glEnable(GL_ALPHA_TEST);
  1076.          
  1077.          
  1078.          
  1079.          
  1080.          
  1081.          
  1082.          
  1083.          
  1084.          
  1085.          
  1086.          
  1087.          
  1088.          
  1089.          
  1090.          
  1091.          
  1092.          
  1093.          
  1094.          
  1095.          
  1096.          
  1097.          
  1098.          
  1099.          
  1100.          
  1101.          
  1102.          if (Dzialanie==1)
  1103.          {
  1104.                          
  1105.                          
  1106.                          
  1107.                          
  1108.                          
  1109.                          
  1110.                          
  1111.                          
  1112.                          
  1113.                          
  1114.                          
  1115.                          
  1116.          if (zaliczyles[0]==1)                
  1117.          glBindTexture(GL_TEXTURE_2D, ok);
  1118.          if (zaliczyles[0]==0)
  1119.          glBindTexture(GL_TEXTURE_2D, no);
  1120.          
  1121.          glBegin(GL_QUADS);
  1122.          glTexCoord2f(0,0); glVertex3f(-0.9,0.3,0);
  1123.          glTexCoord2f(1,0); glVertex3f(-0.7,0.3,0);
  1124.          glTexCoord2f(1,1); glVertex3f(-0.7,0.6,0);
  1125.          glTexCoord2f(0,1); glVertex3f(-0.9,0.6,0);
  1126.          glEnd();
  1127.          
  1128.          
  1129.          
  1130.          if (zaliczyles[1]==1)                
  1131.          glBindTexture(GL_TEXTURE_2D, ok);
  1132.          if (zaliczyles[1]==0)
  1133.          glBindTexture(GL_TEXTURE_2D, no);
  1134.          
  1135.          glBegin(GL_QUADS);
  1136.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.3,0);
  1137.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.3,0);
  1138.          glTexCoord2f(1,1); glVertex3f(-0.7,0.0,0);
  1139.          glTexCoord2f(0,1); glVertex3f(-0.9,0.0,0);
  1140.          glEnd();
  1141.          
  1142.          
  1143.          
  1144.          
  1145.          if (zaliczyles[2]==1)                
  1146.          glBindTexture(GL_TEXTURE_2D, ok);
  1147.          if (zaliczyles[2]==0)
  1148.          glBindTexture(GL_TEXTURE_2D, no);
  1149.          
  1150.          glBegin(GL_QUADS);
  1151.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.9,0);
  1152.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.9,0);
  1153.          glTexCoord2f(1,1); glVertex3f(-0.7,-0.6,0);
  1154.          glTexCoord2f(0,1); glVertex3f(-0.9,-0.6,0);
  1155.          glEnd();
  1156.          
  1157.          
  1158.          
  1159.          }
  1160.          
  1161.          
  1162.          
  1163.          
  1164.          
  1165.          
  1166.          if (Dzialanie==2)
  1167.          {
  1168.                          
  1169.                          
  1170.                          
  1171.                          
  1172.                          
  1173.                          
  1174.                          
  1175.                          
  1176.                          
  1177.                          
  1178.                          
  1179.                          
  1180.          if (zaliczyles[3]==1)                
  1181.          glBindTexture(GL_TEXTURE_2D, ok);
  1182.          if (zaliczyles[3]==0)
  1183.          glBindTexture(GL_TEXTURE_2D, no);
  1184.          
  1185.          glBegin(GL_QUADS);
  1186.          glTexCoord2f(0,0); glVertex3f(-0.9,0.3,0);
  1187.          glTexCoord2f(1,0); glVertex3f(-0.7,0.3,0);
  1188.          glTexCoord2f(1,1); glVertex3f(-0.7,0.6,0);
  1189.          glTexCoord2f(0,1); glVertex3f(-0.9,0.6,0);
  1190.          glEnd();
  1191.          
  1192.          
  1193.          
  1194.          if (zaliczyles[4]==1)                
  1195.          glBindTexture(GL_TEXTURE_2D, ok);
  1196.          if (zaliczyles[4]==0)
  1197.          glBindTexture(GL_TEXTURE_2D, no);
  1198.          
  1199.          glBegin(GL_QUADS);
  1200.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.3,0);
  1201.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.3,0);
  1202.          glTexCoord2f(1,1); glVertex3f(-0.7,0.0,0);
  1203.          glTexCoord2f(0,1); glVertex3f(-0.9,0.0,0);
  1204.          glEnd();
  1205.          
  1206.          
  1207.          
  1208.          
  1209.          if (zaliczyles[5]==1)                
  1210.          glBindTexture(GL_TEXTURE_2D, ok);
  1211.          if (zaliczyles[5]==0)
  1212.          glBindTexture(GL_TEXTURE_2D, no);
  1213.          
  1214.          glBegin(GL_QUADS);
  1215.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.9,0);
  1216.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.9,0);
  1217.          glTexCoord2f(1,1); glVertex3f(-0.7,-0.6,0);
  1218.          glTexCoord2f(0,1); glVertex3f(-0.9,-0.6,0);
  1219.          glEnd();
  1220.          
  1221.          
  1222.          
  1223.          }
  1224.          
  1225.          
  1226.          
  1227.          
  1228.          
  1229.          
  1230.          
  1231.          if (Dzialanie==3)
  1232.          {
  1233.                          
  1234.                          
  1235.                          
  1236.                          
  1237.                          
  1238.                          
  1239.                          
  1240.                          
  1241.                          
  1242.                          
  1243.                          
  1244.                          
  1245.          if (zaliczyles[6]==1)                
  1246.          glBindTexture(GL_TEXTURE_2D, ok);
  1247.          if (zaliczyles[6]==0)
  1248.          glBindTexture(GL_TEXTURE_2D, no);
  1249.          if (demo==true)
  1250.          glBindTexture(GL_TEXTURE_2D, demoO);
  1251.          
  1252.          glBegin(GL_QUADS);
  1253.          glTexCoord2f(0,0); glVertex3f(-0.9,0.3,0);
  1254.          glTexCoord2f(1,0); glVertex3f(-0.7,0.3,0);
  1255.          glTexCoord2f(1,1); glVertex3f(-0.7,0.6,0);
  1256.          glTexCoord2f(0,1); glVertex3f(-0.9,0.6,0);
  1257.          glEnd();
  1258.          
  1259.          
  1260.          
  1261.          if (zaliczyles[7]==1)                
  1262.          glBindTexture(GL_TEXTURE_2D, ok);
  1263.          if (zaliczyles[7]==0)
  1264.          glBindTexture(GL_TEXTURE_2D, no);
  1265.          if (demo==true)
  1266.          glBindTexture(GL_TEXTURE_2D, demoO);
  1267.          
  1268.          glBegin(GL_QUADS);
  1269.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.3,0);
  1270.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.3,0);
  1271.          glTexCoord2f(1,1); glVertex3f(-0.7,0.0,0);
  1272.          glTexCoord2f(0,1); glVertex3f(-0.9,0.0,0);
  1273.          glEnd();
  1274.          
  1275.          
  1276.          
  1277.          
  1278.          if (zaliczyles[8]==1)                
  1279.          glBindTexture(GL_TEXTURE_2D, ok);
  1280.          if (zaliczyles[8]==0)
  1281.          glBindTexture(GL_TEXTURE_2D, no);
  1282.          if (demo==true)
  1283.          glBindTexture(GL_TEXTURE_2D, demoO);
  1284.          
  1285.          glBegin(GL_QUADS);
  1286.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.9,0);
  1287.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.9,0);
  1288.          glTexCoord2f(1,1); glVertex3f(-0.7,-0.6,0);
  1289.          glTexCoord2f(0,1); glVertex3f(-0.9,-0.6,0);
  1290.          glEnd();
  1291.          
  1292.          
  1293.          
  1294.          }
  1295.          
  1296.          
  1297.          
  1298.          
  1299.          if (Dzialanie==4)
  1300.          {
  1301.                          
  1302.                          
  1303.                          
  1304.                          
  1305.                          
  1306.                          
  1307.                          
  1308.                          
  1309.                          
  1310.                          
  1311.                          
  1312.                          
  1313.          if (zaliczyles[9]==1)                
  1314.          glBindTexture(GL_TEXTURE_2D, ok);
  1315.          if (zaliczyles[9]==0)
  1316.          glBindTexture(GL_TEXTURE_2D, no);
  1317.          if (demo==true)
  1318.          glBindTexture(GL_TEXTURE_2D, demoO);
  1319.          
  1320.          glBegin(GL_QUADS);
  1321.          glTexCoord2f(0,0); glVertex3f(-0.9,0.3,0);
  1322.          glTexCoord2f(1,0); glVertex3f(-0.7,0.3,0);
  1323.          glTexCoord2f(1,1); glVertex3f(-0.7,0.6,0);
  1324.          glTexCoord2f(0,1); glVertex3f(-0.9,0.6,0);
  1325.          glEnd();
  1326.          
  1327.          
  1328.          
  1329.          if (zaliczyles[10]==1)                
  1330.          glBindTexture(GL_TEXTURE_2D, ok);
  1331.          if (zaliczyles[10]==0)
  1332.          glBindTexture(GL_TEXTURE_2D, no);
  1333.          if (demo==true)
  1334.          glBindTexture(GL_TEXTURE_2D, demoO);
  1335.          
  1336.          glBegin(GL_QUADS);
  1337.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.3,0);
  1338.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.3,0);
  1339.          glTexCoord2f(1,1); glVertex3f(-0.7,0.0,0);
  1340.          glTexCoord2f(0,1); glVertex3f(-0.9,0.0,0);
  1341.          glEnd();
  1342.          
  1343.          
  1344.          
  1345.          
  1346.          if (zaliczyles[11]==1)                
  1347.          glBindTexture(GL_TEXTURE_2D, ok);
  1348.          if (zaliczyles[11]==0)
  1349.          glBindTexture(GL_TEXTURE_2D, no);
  1350.          if (demo==true)
  1351.          glBindTexture(GL_TEXTURE_2D, demoO);
  1352.          
  1353.          glBegin(GL_QUADS);
  1354.          glTexCoord2f(0,0); glVertex3f(-0.9,-0.9,0);
  1355.          glTexCoord2f(1,0); glVertex3f(-0.7,-0.9,0);
  1356.          glTexCoord2f(1,1); glVertex3f(-0.7,-0.6,0);
  1357.          glTexCoord2f(0,1); glVertex3f(-0.9,-0.6,0);
  1358.          glEnd();
  1359.          
  1360.          
  1361.          
  1362.          }
  1363.          
  1364.          
  1365.          
  1366.          
  1367.          
  1368.          
  1369.          
  1370.          glDisable(GL_ALPHA_TEST);
  1371.          
  1372.          
  1373.          
  1374.          if (Dzialanie<3||demo==false)
  1375.          {
  1376.          if (Mysz.x<264||Mysz.x>588||Mysz.y>402||Mysz.y<325)
  1377.          {
  1378.          glEnable(GL_BLEND);
  1379.          glColor4f(1,1,1,0.6);
  1380.          przycisk=3;
  1381.          }
  1382.          
  1383.          if (mouse_b==1&&przycisk!=3&&SprMysz==0)
  1384.          {
  1385.          SprMysz=1;
  1386.          poziom=2;
  1387.          goto wgra;
  1388.          }
  1389.          }
  1390.          
  1391.          
  1392.          if (przycisk!=3)
  1393.          {
  1394.          glColor4f(1,1,1,1);                
  1395.          }
  1396.          
  1397.          
  1398.          glBindTexture(GL_TEXTURE_2D,SR);
  1399.          if (demo==true&&Dzialanie>2)
  1400.          glBindTexture(GL_TEXTURE_2D,SR1);
  1401.          
  1402.          glBegin(GL_QUADS);
  1403.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.3,0);
  1404.          glTexCoord2f(1,0); glVertex3f(0.6,-0.3,0);
  1405.          glTexCoord2f(1,1); glVertex3f(0.6,0.0,0);
  1406.          glTexCoord2f(0,1); glVertex3f(-0.6,0.0,0);
  1407.          glEnd();
  1408.          
  1409.          
  1410.          
  1411.          
  1412.          
  1413.          glDisable(GL_BLEND);
  1414.          
  1415.          
  1416.          
  1417.          
  1418.          if (Dzialanie<3||demo==false)
  1419.          {
  1420.          if (Mysz.x<264||Mysz.x>588||Mysz.y>561||Mysz.y<487)
  1421.          {
  1422.          glEnable(GL_BLEND);
  1423.          glColor4f(1,1,1,0.6);
  1424.          przycisk=4;
  1425.          }
  1426.          
  1427.          if (mouse_b==1&&przycisk!=4&&SprMysz==0)
  1428.          {
  1429.          SprMysz=1;
  1430.          poziom=3;
  1431.          goto wgra;
  1432.          }
  1433.          }
  1434.          
  1435.          
  1436.          if (przycisk!=4)
  1437.          {
  1438.          glColor4f(1,1,1,1);                
  1439.          }
  1440.          
  1441.          glBindTexture(GL_TEXTURE_2D,TR);
  1442.          if (demo==true&&Dzialanie>2)
  1443.          glBindTexture(GL_TEXTURE_2D,TR1);
  1444.          
  1445.          glBegin(GL_QUADS);
  1446.          glTexCoord2f(0,0); glVertex3f(-0.6,-0.9,0);
  1447.          glTexCoord2f(1,0); glVertex3f(0.6,-0.9,0);
  1448.          glTexCoord2f(1,1); glVertex3f(0.6,-0.6,0);
  1449.          glTexCoord2f(0,1); glVertex3f(-0.6,-0.6,0);
  1450.          glEnd();
  1451.          
  1452.          glDisable(GL_BLEND);
  1453.          
  1454.          OdswierzFPS();
  1455.          if (key[KEY_W])
  1456.          allegro_message("fps=%d",(int)FPS);
  1457.          
  1458.          
  1459.          allegro_gl_flip();
  1460.          
  1461.          }
  1462.          
  1463.          
  1464.          
  1465.          
  1466.          
  1467.          
  1468.          
  1469.          
  1470.          
  1471.          
  1472.          
  1473.          
  1474.          
  1475.          
  1476.          
  1477.          
  1478.          
  1479.          
  1480.          
  1481.          
  1482.          
  1483.          
  1484.          
  1485.          
  1486.          wgra:
  1487.              
  1488.              
  1489.              
  1490.              
  1491.              
  1492.              
  1493.              
  1494.              
  1495.              
  1496.              
  1497.              
  1498.              
  1499.              
  1500.              
  1501.              
  1502.              
  1503.              
  1504.              
  1505.              
  1506.              
  1507.              
  1508.              
  1509.               glDisable(GL_BLEND);
  1510.          glEnable(GL_ALPHA_TEST);
  1511.          glAlphaFunc(GL_GREATER, 0.2);
  1512.          
  1513.          
  1514.     glMatrixMode(GL_PROJECTION);
  1515.     glLoadIdentity();
  1516.     gluPerspective(40, 1, 1, 500);  
  1517.    
  1518.    
  1519.     glMatrixMode(GL_MODELVIEW);
  1520.     glLoadIdentity();
  1521.    
  1522.  
  1523.     if (Dzialanie==1)
  1524.     {
  1525.     losowanie1:
  1526.     if (poziom==1)
  1527.     prze=10;
  1528.     if (poziom==2)
  1529.     prze=30;
  1530.     if (poziom==3)
  1531.     prze=70;
  1532.    
  1533.     Li=0;
  1534.     while(Li==0)
  1535.     Li=rand()%prze;
  1536.     Lip=prze+1;
  1537.     while (Li+Lip>prze||Lip==0)
  1538.     Lip=rand()%prze;
  1539.    
  1540.     if (poziom==2)
  1541.     if (Li+Lip<=10)
  1542.     goto losowanie1;
  1543.    
  1544.     if (poziom==3)
  1545.     if (Li+Lip<=25)
  1546.     goto losowanie1;
  1547.     }
  1548.    
  1549.     if (Dzialanie==2)
  1550.     {
  1551.     losowanie2:
  1552.     if (poziom==1)
  1553.     prze=10;
  1554.     if (poziom==2)
  1555.     prze=30;
  1556.     if (poziom==3)
  1557.     prze=70;
  1558.    
  1559.     Li=0;
  1560.     while (Li==0)
  1561.     Li=rand()%prze;
  1562.     Lip=Li+1;
  1563.     while (Li-Lip<=0)
  1564.     Lip=rand()%prze;
  1565.    
  1566.     if (poziom==2)
  1567.     if (Li-Lip<=10)
  1568.     goto losowanie2;
  1569.    
  1570.     if (poziom==3)
  1571.     if (Li-Lip<=25)
  1572.     goto losowanie2;
  1573.     }
  1574.    
  1575.     if (Dzialanie==3)
  1576.     {
  1577.     losowanie3:
  1578.     if (poziom==1)
  1579.     prze=20;
  1580.     if (poziom==2)
  1581.     prze=40;
  1582.     if (poziom==3)
  1583.     prze=80;
  1584.    
  1585.    
  1586.     Li=11;
  1587.     while (Li>=10||Li==0||Li==1)
  1588.     Li=rand()%prze;
  1589.     Lip=prze+1;
  1590.     while (Li*Lip>prze-2||Lip==0||Lip==1)
  1591.     Lip=rand()%prze;
  1592.    
  1593.     if (poziom==2)
  1594.     if (Li*Lip<=20)
  1595.     goto losowanie3;
  1596.    
  1597.     if (poziom==3)
  1598.     if (Li*Lip<=35)
  1599.     goto losowanie3;
  1600.     }
  1601.    
  1602.     if (Dzialanie==4)
  1603.     {
  1604.     if (poziom==1)
  1605.     prze=20;
  1606.     if (poziom==2)
  1607.     prze=40;
  1608.     if (poziom==3)
  1609.     prze=80;
  1610.    
  1611.     Lip=11;
  1612.     while (Lip>=10||Lip==0||Lip==1)
  1613.     Lip=rand()%prze;
  1614.     Li=prze+1;
  1615.     while (Li*Lip>prze-2||Li==0||Li==1)
  1616.     Li=rand()%prze;
  1617.    
  1618.     Li=Li*Lip;
  1619.     }
  1620.    
  1621.     //allegro_message("Li = %d, Lip = %d",Li,Lip);
  1622.    
  1623.     for (int a=0;a<150;++a)
  1624.     {
  1625.     TypDrzewa[a]=rand()%4;
  1626.     Drzewa[a][0]=10;
  1627.     while (Drzewa[a][0]<55&&Drzewa[a][0]>-55)
  1628.     Drzewa[a][0]=rand()%190,Drzewa[a][1]=8,Drzewa[a][2]=rand()%9200;
  1629.    
  1630.     Drzewa[a][2]-=Drzewa[a][2]*2;
  1631.     if (Drzewa[a][0]>95)
  1632.     Drzewa[a][0]-=Drzewa[a][0]*2;
  1633.     }
  1634.    
  1635.    
  1636.     for (int a=0;a<100;++a)
  1637.     {
  1638.     Ludek[a][0]=10;
  1639.     TypLudka[a]=rand()%4;
  1640.     while (Ludek[a][0]<11&&Ludek[a][0]>-11)
  1641.     Ludek[a][0]=rand()%30,Ludek[a][1]=6,Ludek[a][2]=rand()%9200;
  1642.     Ludek[a][2]-=Ludek[a][2]*2;
  1643.     if (Ludek[a][0]>15)
  1644.     Ludek[a][0]-=Ludek[a][0]*2;
  1645.     }
  1646.    
  1647.     for (int a=0;a<80;++a)
  1648.     {
  1649.     TypDomu[a]=rand()%7;
  1650.     Dachowki[a]=rand()%3;
  1651.     }
  1652.    
  1653.     for (int a=0;a<80;++a)
  1654.     {
  1655.     Domek[a]=rand()%9200;
  1656.     Domek[a]-=Domek[a]*2;
  1657.     }
  1658.    
  1659.  
  1660.    
  1661.     SprTor[0]=0;
  1662.     for (int a=0;a<10;++a)
  1663.     {
  1664.     SprTor[a]=0;
  1665.     while (SprTor[a]==0)
  1666.     SprTor[a]=rand()%4;
  1667.     }
  1668.     int tor=2;
  1669.     int SprKol=0;
  1670.    
  1671.     int SpKame=0;
  1672.          //LiczKtora=8;
  1673.          
  1674.          kolor=0.0;
  1675.          
  1676.          
  1677.          
  1678.          
  1679.          
  1680.          
  1681.          
  1682.          
  1683.          
  1684.          
  1685.          
  1686.          
  1687.          
  1688.          
  1689.          
  1690.          
  1691.          
  1692.          
  1693.          
  1694.          
  1695.          
  1696.          
  1697.          
  1698.          
  1699.          
  1700.          
  1701.          
  1702.          
  1703.          
  1704.          
  1705.          
  1706.          
  1707.          
  1708.          
  1709.          
  1710.          qgra->stop();
  1711.          qmenu->stop();
  1712.          
  1713.          qgra->reset();
  1714.          
  1715.          qgra->play();
  1716.          
  1717.          glPopMatrix();
  1718.          
  1719.          Od=-700;
  1720.          
  1721.          SprTor[0]=0;
  1722.     for (int a=0;a<10;++a)
  1723.     {
  1724.     SprTor[a]=0;
  1725.     while (SprTor[a]==0)
  1726.     SprTor[a]=rand()%4;
  1727.     }
  1728.     tor=2;
  1729.     SprKol=0;
  1730.    
  1731.     SpKame=0;
  1732.    
  1733.    
  1734.    
  1735.     //-------------------------------------------------------------------
  1736.     tor=2;
  1737.     xpos=0;
  1738.     LiczKtora=0;
  1739.     zpos=-200;
  1740.     zakret=0;
  1741.     SpR=0;
  1742.     pudlo=0;
  1743.     int loss=0;
  1744.     int stop=0;
  1745.    
  1746.     os_a=Li,os_b=Lip;
  1747.    
  1748.     while (1)
  1749.     {
  1750.         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  1751.         glLoadIdentity();                
  1752.        
  1753.        
  1754.         if (key[KEY_ESC])
  1755.         {
  1756.         pudlo=1;
  1757.         qprzegrana->play();
  1758.         }
  1759.        
  1760.      //---------------------------------------
  1761.      
  1762.     GLfloat xtrans = -xpos;
  1763.     GLfloat ztrans = -zpos;
  1764.     GLfloat ytrans =-0.25f;
  1765.     GLfloat sceneroty = 360.0f - yrot;
  1766.  
  1767.  
  1768.  Mysz.y=1000;
  1769.  
  1770.  
  1771.     if (SprKol==200)
  1772.     SprKol=0;
  1773.    
  1774.     if (SprKol!=0)
  1775.     ++SprKol;
  1776.    
  1777.    
  1778.    
  1779.    
  1780.    
  1781.     Sleep(1);
  1782.     ++czas;
  1783.     if (czas==3)
  1784.     {
  1785.     czas=0;
  1786.    
  1787.    
  1788.    
  1789.     glPushMatrix();
  1790.    
  1791.  
  1792.    
  1793.     if (loss>0)
  1794.     {
  1795.     if (Dzialanie==1)
  1796.     {
  1797.     if (poziom==1)
  1798.     prze=10;
  1799.     if (poziom==2)
  1800.     prze=30;
  1801.     if (poziom==3)
  1802.     prze=70;
  1803.    
  1804.     Li=0;
  1805.     while(Li==0)
  1806.     Li=rand()%prze;
  1807.     Lip=prze+1;
  1808.     while (Li+Lip>prze||Lip==0)
  1809.     Lip=rand()%prze;
  1810.     }
  1811.    
  1812.     if (Dzialanie==2)
  1813.     {
  1814.     if (poziom==1)
  1815.     prze=10;
  1816.     if (poziom==2)
  1817.     prze=30;
  1818.     if (poziom==3)
  1819.     prze=70;
  1820.    
  1821.     Li=0;
  1822.     while (Li==0)
  1823.     Li=rand()%prze;
  1824.     Lip=Li+1;
  1825.     while (Li-Lip<=0)
  1826.     Lip=rand()%prze;
  1827.     }
  1828.    
  1829.     if (Dzialanie==3)
  1830.     {
  1831.     if (poziom==1)
  1832.     prze=20;
  1833.     if (poziom==2)
  1834.     prze=40;
  1835.     if (poziom==3)
  1836.     prze=80;
  1837.    
  1838.    
  1839.     Li=11;
  1840.     while (Li>=10||Li==0||Li==1)
  1841.     Li=rand()%prze;
  1842.     Lip=prze+1;
  1843.     while (Li*Lip>prze-2||Lip==0||Lip==1)
  1844.     Lip=rand()%prze;
  1845.     }
  1846.    
  1847.     if (Dzialanie==4)
  1848.     {
  1849.     if (poziom==1)
  1850.     prze=20;
  1851.     if (poziom==2)
  1852.     prze=40;
  1853.     if (poziom==3)
  1854.     prze=80;
  1855.    
  1856.     Lip=11;
  1857.     while (Lip>=10||Lip==0||Lip==1)
  1858.     Lip=rand()%prze;
  1859.     Li=prze+1;
  1860.     while (Li*Lip>prze-2||Li==0||Li==1)
  1861.     Li=rand()%prze;
  1862.    
  1863.     Li=Li*Lip;
  1864.     }
  1865.     ++loss;
  1866.     if (os_a==Li&&os_b==Lip)
  1867.     --loss;
  1868.     os_a=Li,os_b=Lip;
  1869.     if (loss>=60)
  1870.     loss=0;
  1871.     }
  1872.    
  1873.    
  1874.    
  1875.     if (key[KEY_K])
  1876.     kaat-=0.1;
  1877.     if (key[KEY_L])
  1878.     kaat+=0.1;
  1879.     if (key[KEY_H])
  1880.     aat-=0.1;
  1881.     if (key[KEY_J])
  1882.     aat+=0.1;
  1883.     if (key[KEY_N])
  1884.     kaat1-=0.1;
  1885.     if (key[KEY_M])
  1886.     kaat1+=0.1;
  1887.     if (key[KEY_V])
  1888.     aat1-=0.1;
  1889.     if (key[KEY_B])
  1890.     aat1+=0.1;
  1891.     if (key[KEY_O])
  1892.     kaat2-=0.1;
  1893.     if (key[KEY_P])
  1894.     kaat2+=0.1;
  1895.     if (key[KEY_U])
  1896.     aat2-=0.1;
  1897.     if (key[KEY_I])
  1898.     aat2+=0.1;
  1899.  
  1900.     if (!key[KEY_SPACE])
  1901.     SprKamera=1;
  1902.    
  1903.     //if (key[KEY_SPACE]&&SprKamera==1)
  1904.     //++Kamera,SprKamera=0;
  1905.  
  1906.     if (Kamera>2)
  1907.     Kamera=0;
  1908.     if (Kamera==1)
  1909.     {
  1910.     glRotatef(kaat,1,0,0);
  1911.     glRotatef(kaat1,0,1,0);
  1912.     glRotatef(kaat2,0,0,1);
  1913.     glTranslatef(aat,aat1,aat2);
  1914.     }
  1915.     if (Kamera==2)
  1916.     {
  1917.     glRotatef(kaat,1,0,0);
  1918.     glRotatef(-kaat1,0,1,0);
  1919.     glRotatef(kaat2,0,0,1);
  1920.     glTranslatef(-aat,aat1,aat2+2);
  1921.     }
  1922.     if (Kamera==3)
  1923.     {
  1924.     glTranslatef(0,1.3,13);
  1925.     }
  1926.    
  1927.  
  1928.     glTranslatef(0.3,-2.6,-7.0);
  1929.  
  1930.  
  1931.     if (opoznienie!=0)
  1932.     ++opoznienie;
  1933.     if (opoznienie==40)
  1934.     {
  1935.     opoznienie=0;
  1936.     if (Kamera!=3)
  1937.     Kamera=0;
  1938.     }
  1939.    
  1940.    
  1941.    
  1942.     glPushMatrix();
  1943.     glBindTexture(GL_TEXTURE_2D,colt);
  1944.     glBegin(GL_QUADS);
  1945.     glTexCoord2f(0,0); glVertex3f(-1.5,0,0);
  1946.     glTexCoord2f(1,0); glVertex3f(1.5,0,0);
  1947.     glTexCoord2f(1,1); glVertex3f(1.5,2,0);
  1948.     glTexCoord2f(0,1); glVertex3f(-1.5,2,0);
  1949.     glEnd();
  1950.     glPopMatrix();
  1951.    
  1952.    
  1953.    
  1954.    
  1955.     if (stronka==-1)
  1956.     {
  1957.     if (illosc<35)
  1958.     KatZakret-=0.4;
  1959.     if (illosc>=35)
  1960.     KatZakret+=0.4;
  1961.    
  1962.     if (illosc>=69)
  1963.     KatZakret=0,stronka=0,opoznienie=1;
  1964.     glRotatef(KatZakret,0,1,0);  
  1965.     }
  1966.     if (stronka==1)
  1967.     {
  1968.     if (illosc<35)
  1969.     KatZakret+=0.4;
  1970.     if (illosc>=35)
  1971.     KatZakret-=0.4;
  1972.    
  1973.     if (illosc>=69)
  1974.     KatZakret=0,stronka=0,opoznienie=1;
  1975.     glRotatef(KatZakret,0,1,0);    
  1976.     }
  1977.    
  1978.    
  1979.     glRotatef(sceneroty,0,1.0f,0);
  1980.     glTranslatef(xtrans,0,0);
  1981.     //SkyBox
  1982.     //-----------------------------------------------------
  1983.          
  1984.    
  1985.     //SkyBox za mna
  1986.     glBindTexture(GL_TEXTURE_2D, SkyBoxZa);
  1987.     glCallList(zSkyBox);
  1988.    
  1989.     //SkyBox na przeciwko
  1990.     glBindTexture(GL_TEXTURE_2D, SkyBoxPrzed);
  1991.     glCallList(xSkyBox);
  1992.    
  1993.     //SkyBox z lewej
  1994.     glBindTexture(GL_TEXTURE_2D, SkyBoxLewo);
  1995.     glCallList(cSkyBox);
  1996.    
  1997.     //SkyBox z prawej
  1998.     glBindTexture(GL_TEXTURE_2D, SkyBoxPrawo);
  1999.     glCallList(vSkyBox);
  2000.    
  2001.     //SkyBox z gory
  2002.     glBindTexture(GL_TEXTURE_2D, SkyBoxNiebo);
  2003.     glCallList(bSkyBox);
  2004.  
  2005.  
  2006.                 OdswierzFPS();
  2007.     char fs[20];
  2008.     sprintf(fs,"FPS = %d",(int)FPS);
  2009.     output(0,30,fs);
  2010.  
  2011.  
  2012.     glPushMatrix();
  2013.     if (stron==1)
  2014.     ++spq;
  2015.    
  2016.     if (spq>60)
  2017.     stron=0;
  2018.    
  2019.     if (stron==0)
  2020.     --spq;
  2021.    
  2022.     if (spq==-60)
  2023.     stron=1;
  2024.  
  2025.    
  2026.    
  2027.     glRotatef(spq,0,0,1);
  2028.     char string[100];
  2029.     //allegro_message("lok");
  2030.    
  2031.     if (Dzialanie==1)
  2032.     sprintf (string,"%d + %d", Li,Lip);
  2033.     if (Dzialanie==2)
  2034.     sprintf (string,"%d - %d", Li,Lip);
  2035.     if (Dzialanie==3)
  2036.     sprintf (string,"%d * %d", Li,Lip);
  2037.     if (Dzialanie==4)
  2038.     sprintf (string,"%d : %d", Li,Lip);
  2039.    
  2040.     if (LiczKtora<10)
  2041.     output(-2,7,string);
  2042.    
  2043.     glPopMatrix();
  2044.    
  2045.    
  2046.     //---------------------------------------------------------
  2047.    
  2048.     glTranslatef(xtrans,ytrans, ztrans);
  2049.  
  2050.     //Drzewa
  2051.     glBindTexture(GL_TEXTURE_2D, drzewo);
  2052.     glBegin(GL_QUADS);
  2053.     for (int a=0;a<150;++a)
  2054.     {
  2055.     glTexCoord2f(0,1); glVertex3f(Drzewa[a][0],Drzewa[a][1],Drzewa[a][2]);
  2056.     if (Drzewa[a][0]>0)
  2057.     {
  2058.     glTexCoord2f(1,1); glVertex3f(Drzewa[a][0]+6,Drzewa[a][1],Drzewa[a][2]+15);
  2059.     glTexCoord2f(1,0); glVertex3f(Drzewa[a][0]+6,Drzewa[a][1]-8,Drzewa[a][2]+15);
  2060.     }
  2061.     if (Drzewa[a][0]<0)
  2062.     {
  2063.     glTexCoord2f(1,1); glVertex3f(Drzewa[a][0]+6,Drzewa[a][1],Drzewa[a][2]-15);
  2064.     glTexCoord2f(1,0); glVertex3f(Drzewa[a][0]+6,Drzewa[a][1]-8,Drzewa[a][2]-15);
  2065.     }
  2066.     glTexCoord2f(0,0); glVertex3f(Drzewa[a][0],Drzewa[a][1]-8,Drzewa[a][2]);
  2067.     }
  2068.     glEnd();
  2069.    
  2070.    
  2071.     //Domki
  2072.     for (int a=0;a<40;++a)
  2073.     {
  2074.    
  2075.     glBindTexture(GL_TEXTURE_2D, s1);
  2076.     glBegin(GL_QUADS);
  2077.     glTexCoord2f(0,1); glVertex3f(-40,10,Domek[a]+15);
  2078.     glTexCoord2f(1,1); glVertex3f(-30,10,Domek[a]+15);
  2079.     glTexCoord2f(1,0); glVertex3f(-30,0.0,Domek[a]+15);
  2080.     glTexCoord2f(0,0); glVertex3f(-40,0.0,Domek[a]+15);
  2081.     glEnd();
  2082.    
  2083.     glBindTexture(GL_TEXTURE_2D, s2);
  2084.     glBegin(GL_QUADS);
  2085.     glTexCoord2f(0,1); glVertex3f(-30,10,Domek[a]+15);
  2086.     glTexCoord2f(0,0); glVertex3f(-30,0.0,Domek[a]+15);
  2087.     glTexCoord2f(1,0); glVertex3f(-30,0.0,Domek[a]);
  2088.     glTexCoord2f(1,1); glVertex3f(-30,10,Domek[a]);
  2089.     glEnd();
  2090.    
  2091.     glBindTexture(GL_TEXTURE_2D, s3);
  2092.     glBegin(GL_TRIANGLES);
  2093.     glTexCoord2f(0,0); glVertex3f(-40,10,Domek[a]+15);
  2094.     glTexCoord2f(1,0); glVertex3f(-30,10,Domek[a]+15);
  2095.     glTexCoord2f(0,1); glVertex3f(-35,15,Domek[a]+10);
  2096.     glEnd();
  2097.    
  2098.     glBegin(GL_QUADS);
  2099.     glTexCoord2f(0,1); glVertex3f(-35,15,Domek[a]+10);
  2100.     glTexCoord2f(1,1); glVertex3f(-35,15,Domek[a]+5);
  2101.     glTexCoord2f(0,1); glVertex3f(-30,10,Domek[a]);
  2102.     glTexCoord2f(0,0); glVertex3f(-30,10,Domek[a]+15);
  2103.     glEnd();
  2104.    
  2105.     }
  2106.    
  2107.    
  2108.    
  2109.    
  2110.     for (int a=40;a<80;++a)
  2111.     {
  2112.     glBindTexture(GL_TEXTURE_2D, s1);
  2113.     glBegin(GL_QUADS);
  2114.     glTexCoord2f(0,1); glVertex3f(40,10,Domek[a]+15);
  2115.     glTexCoord2f(1,1); glVertex3f(30,10,Domek[a]+15);
  2116.     glTexCoord2f(1,0); glVertex3f(30,0.0,Domek[a]+15);
  2117.     glTexCoord2f(0,0); glVertex3f(40,0.0,Domek[a]+15);
  2118.     glEnd();
  2119.    
  2120.     glBindTexture(GL_TEXTURE_2D, s2);
  2121.     glBegin(GL_QUADS);
  2122.     glTexCoord2f(0,1); glVertex3f(30,10,Domek[a]+15);
  2123.     glTexCoord2f(0,0); glVertex3f(30,0.0,Domek[a]+15);
  2124.     glTexCoord2f(1,0); glVertex3f(30,0.0,Domek[a]);
  2125.     glTexCoord2f(1,1); glVertex3f(30,10,Domek[a]);
  2126.     glEnd();
  2127.    
  2128.     glBindTexture(GL_TEXTURE_2D, s3);
  2129.     glBegin(GL_TRIANGLES);
  2130.     glTexCoord2f(0,0); glVertex3f(40,10,Domek[a]+15);
  2131.     glTexCoord2f(1,0); glVertex3f(30,10,Domek[a]+15);
  2132.     glTexCoord2f(0,1); glVertex3f(35,15,Domek[a]+10);
  2133.     glEnd();
  2134.    
  2135.     glBegin(GL_QUADS);
  2136.     glTexCoord2f(0,1); glVertex3f(35,15,Domek[a]+10);
  2137.     glTexCoord2f(1,1); glVertex3f(35,15,Domek[a]+5);
  2138.     glTexCoord2f(0,1); glVertex3f(30,10,Domek[a]);
  2139.     glTexCoord2f(0,0); glVertex3f(30,10,Domek[a]+15);
  2140.     glEnd();
  2141.     }
  2142.    
  2143.    
  2144.    
  2145.     //Ludki
  2146.     glBindTexture(GL_TEXTURE_2D,ludek);
  2147.     glPushMatrix();
  2148.     glBegin(GL_QUADS);
  2149.     for (int a=0;a<100;++a)
  2150.     {
  2151.     glTexCoord2f(0,1); glVertex3f(Ludek[a][0],Ludek[a][1],Ludek[a][2]);
  2152.     if (Ludek[a][0]>0)
  2153.     {
  2154.     glTexCoord2f(1,1); glVertex3f(Ludek[a][0],Ludek[a][1],Ludek[a][2]+10);
  2155.     glTexCoord2f(1,0); glVertex3f(Ludek[a][0],Ludek[a][1]-6,Ludek[a][2]+10);
  2156.     }
  2157.     if (Ludek[a][0]<0)
  2158.     {
  2159.     glTexCoord2f(1,1); glVertex3f(Ludek[a][0],Ludek[a][1],Ludek[a][2]-10);
  2160.     glTexCoord2f(1,0); glVertex3f(Ludek[a][0],Ludek[a][1]-6,Ludek[a][2]-10);
  2161.     }
  2162.    
  2163.     glTexCoord2f(0,0); glVertex3f(Ludek[a][0],Ludek[a][1]-6,Ludek[a][2]);
  2164.     }
  2165.     glEnd();
  2166.     glPopMatrix();
  2167.    
  2168.  
  2169.    
  2170.     //Chorągiewki
  2171.     glBindTexture(GL_TEXTURE_2D, choro);
  2172.     glCallList(horo);
  2173.    
  2174.    
  2175.    
  2176.     glPushMatrix();
  2177.     if (Dzialanie==1)
  2178.     wynik=Li+Lip;
  2179.     if (Dzialanie==2)
  2180.     wynik=Li-Lip;
  2181.     if (Dzialanie==3)
  2182.     wynik=Li*Lip;
  2183.     if (Dzialanie==4)
  2184.     wynik=Li/Lip;
  2185.  
  2186.     glTranslatef(0,0,Od+1);
  2187.    
  2188.     if (SprTor[LiczKtora]==2)
  2189.     {
  2190.     char str[100] = "%d";
  2191.     sprintf (str,"%d",wynik);
  2192.     output(-1,0,str);
  2193.    
  2194.     char star[100];
  2195.     sprintf (star,"%d",wynik+1);
  2196.     output(-10,0,star);
  2197.    
  2198.     char sar[100] = "%d";
  2199.     sprintf (sar,"%d",wynik-1);
  2200.     output(5,0,sar);
  2201.     }
  2202.    
  2203.     if (SprTor[LiczKtora]==1)
  2204.     {
  2205.     char str[100] = "%d";
  2206.     sprintf (str,"%d",wynik+1);
  2207.     output(-1,0,str);
  2208.    
  2209.     char star[100] = "%d";
  2210.     sprintf (star,"%d",wynik);
  2211.     output(-10,0,star);
  2212.    
  2213.     char sar[100] = "%d";
  2214.     sprintf (sar,"%d",wynik+2);
  2215.     output(5,0,sar);
  2216.     }
  2217.    
  2218.     if (SprTor[LiczKtora]==3)
  2219.     {
  2220.     char str[100] = "%d";
  2221.     sprintf (str,"%d",wynik+1);
  2222.     output(-1,0,str);
  2223.    
  2224.     char star[100] = "%d";
  2225.     sprintf (star,"%d",wynik-1);
  2226.     output(-10,0,star);
  2227.    
  2228.     char sar[100] = "%d";
  2229.     sprintf (sar,"%d",wynik);
  2230.     output(5,0,sar);
  2231.     }
  2232.    
  2233.    
  2234.     if (zpos<Od-200&&zpos>Od-204&&tor==SprTor[LiczKtora])
  2235.     {
  2236.     ++LiczKtora;
  2237.     if (LiczKtora<10)
  2238.     Od-=700;
  2239.     if (LiczKtora!=10)
  2240.     qokej->play();
  2241.    
  2242.     loss=1;
  2243.    
  2244.  
  2245.     if (Dzialanie==1)
  2246.     {
  2247.     if (poziom==1)
  2248.     prze=10;
  2249.     if (poziom==2)
  2250.     prze=30;
  2251.     if (poziom==3)
  2252.     prze=70;
  2253.    
  2254.     Li=0;
  2255.     while(Li==0)
  2256.     Li=rand()%prze;
  2257.     Lip=prze+1;
  2258.     while (Li+Lip>prze||Lip==0)
  2259.     Lip=rand()%prze;
  2260.     }
  2261.    
  2262.     if (Dzialanie==2)
  2263.     {
  2264.     if (poziom==1)
  2265.     prze=10;
  2266.     if (poziom==2)
  2267.     prze=30;
  2268.     if (poziom==3)
  2269.     prze=70;
  2270.    
  2271.     Li=0;
  2272.     while (Li==0)
  2273.     Li=rand()%prze;
  2274.     Lip=Li+1;
  2275.     while (Li-Lip<=0)
  2276.     Lip=rand()%prze;
  2277.     }
  2278.    
  2279.     if (Dzialanie==3)
  2280.     {
  2281.     if (poziom==1)
  2282.     prze=20;
  2283.     if (poziom==2)
  2284.     prze=40;
  2285.     if (poziom==3)
  2286.     prze=80;
  2287.    
  2288.    
  2289.     Li=11;
  2290.     while (Li>=10||Li==0||Li==1)
  2291.     Li=rand()%prze;
  2292.     Lip=prze+1;
  2293.     while (Li*Lip>prze-2||Lip==0||Lip==1)
  2294.     Lip=rand()%prze;
  2295.     }
  2296.    
  2297.     if (Dzialanie==4)
  2298.     {
  2299.     if (poziom==1)
  2300.     prze=20;
  2301.     if (poziom==2)
  2302.     prze=40;
  2303.     if (poziom==3)
  2304.     prze=80;
  2305.    
  2306.     Lip=11;
  2307.     while (Lip>=10||Lip==0||Lip==1)
  2308.     Lip=rand()%prze;
  2309.     Li=prze+1;
  2310.     while (Li*Lip>prze-2||Li==0||Li==1)
  2311.     Li=rand()%prze;
  2312.    
  2313.     Li=Li*Lip;
  2314.     }
  2315.    
  2316.     }
  2317.    
  2318.    
  2319.     if (zpos<Od-200&&zpos>Od-204&&tor!=SprTor[LiczKtora]&&LiczKtora!=10)
  2320.     {
  2321.     qprzegrana->play();
  2322.     pudlo=1;
  2323.     }
  2324.    
  2325.    
  2326.     glPopMatrix();
  2327.    
  2328.     glBegin(GL_QUADS);
  2329.     glVertex3f(-2,-1,Od);
  2330.     glVertex3f(2,-1,Od);
  2331.     glVertex3f(2,3,Od);
  2332.     glVertex3f(-2,3,Od);
  2333.  
  2334.     glVertex3f(-2,-1,Od);
  2335.     glVertex3f(-2,3,Od);
  2336.     glVertex3f(-2,3,Od-10);
  2337.     glVertex3f(-2,-1,Od-10);
  2338.    
  2339.     glVertex3f(2,-1,Od);
  2340.     glVertex3f(2,3,Od);
  2341.     glVertex3f(2,3,Od-10);
  2342.     glVertex3f(2,-1,Od-10);
  2343.    
  2344.     glVertex3f(-2,3,Od);
  2345.     glVertex3f(2,3,Od);
  2346.     glVertex3f(2,3,Od-10);
  2347.     glVertex3f(-2,3,Od-10);
  2348.     glEnd();
  2349.    
  2350.    
  2351.    
  2352.     glBegin(GL_QUADS);
  2353.     glVertex3f(-10,-1,Od);
  2354.     glVertex3f(-6,-1,Od);
  2355.     glVertex3f(-6,3,Od);
  2356.     glVertex3f(-10,3,Od);
  2357.  
  2358.     glVertex3f(-10,-1,Od);
  2359.     glVertex3f(-10,3,Od);
  2360.     glVertex3f(-10,3,Od-10);
  2361.     glVertex3f(-10,-1,Od-10);
  2362.    
  2363.     glVertex3f(-6,-1,Od);
  2364.     glVertex3f(-6,3,Od);
  2365.     glVertex3f(-6,3,Od-10);
  2366.     glVertex3f(-6,-1,Od-10);
  2367.    
  2368.     glVertex3f(-10,3,Od);
  2369.     glVertex3f(-6,3,Od);
  2370.     glVertex3f(-6,3,Od-10);
  2371.     glVertex3f(-10,3,Od-10);
  2372.    
  2373.     glEnd();
  2374.    
  2375.    
  2376.    
  2377.     glBegin(GL_QUADS);
  2378.     glVertex3f(10,-1,Od);
  2379.     glVertex3f(6,-1,Od);
  2380.     glVertex3f(6,3,Od);
  2381.     glVertex3f(10,3,Od);
  2382.  
  2383.     glVertex3f(10,-1,Od);
  2384.     glVertex3f(10,3,Od);
  2385.     glVertex3f(10,3,Od-10);
  2386.     glVertex3f(10,-1,Od-10);
  2387.    
  2388.     glVertex3f(6,-1,Od);
  2389.     glVertex3f(6,3,Od);
  2390.     glVertex3f(6,3,Od-10);
  2391.     glVertex3f(6,-1,Od-10);
  2392.    
  2393.     glVertex3f(10,3,Od);
  2394.     glVertex3f(6,3,Od);
  2395.     glVertex3f(6,3,Od-10);
  2396.     glVertex3f(10,3,Od-10);
  2397.    
  2398.     glEnd();
  2399.    
  2400.    
  2401.    
  2402.    
  2403.         //Droga
  2404.     glBindTexture(GL_TEXTURE_2D, droga);
  2405.     glBegin(GL_QUADS);
  2406.     glTexCoord2f(0,100); glVertex3f(-10.5,-0.9,-9200.0);
  2407.     glTexCoord2f(1,100); glVertex3f(10.5,-0.9,-9200.0);
  2408.     glTexCoord2f(1,0); glVertex3f(10.5,-0.9,0.0);
  2409.     glTexCoord2f(0,0); glVertex3f(-10.5,-0.9,0.0);
  2410.     glEnd();
  2411.    
  2412.    
  2413.     //Trawa po lewej
  2414.     glBindTexture(GL_TEXTURE_2D, teks);
  2415.     glBegin(GL_QUADS);
  2416.     glTexCoord2f(0,1); glVertex3f(-300,2.5,-9200);
  2417.     glTexCoord2f(1,1); glVertex3f(-10.5,-0.9,-9200);
  2418.     glTexCoord2f(1,0); glVertex3f(-10.5,-0.9,0.0);
  2419.     glTexCoord2f(0,0); glVertex3f(-300,2.5,0.0);
  2420.     glEnd();
  2421.    
  2422.    
  2423.    
  2424.     //Trawa po prawej
  2425.     glBindTexture(GL_TEXTURE_2D, teks);
  2426.     glBegin(GL_QUADS);
  2427.     glTexCoord2f(10,11); glVertex3f(300,2.5,-9200);
  2428.     glTexCoord2f(11,11); glVertex3f(10.5,-0.9,-9200);
  2429.     glTexCoord2f(11,10); glVertex3f(10.5,-0.9,0.0);
  2430.     glTexCoord2f(10,10); glVertex3f(300,2.5,0.0);
  2431.     glEnd();
  2432.        
  2433.     glPopMatrix();
  2434.  
  2435.     if (kolor>=1)
  2436.     break;
  2437.      
  2438.  
  2439.         if (LiczKtora==10||pudlo==1)
  2440.         {
  2441.         if (SpR==0)
  2442.         {
  2443.         qgra->stop();
  2444.         if (pudlo!=1)
  2445.         qwygrana->play();
  2446.        
  2447.        
  2448.        
  2449.        
  2450.        
  2451.        
  2452.        
  2453.        
  2454.        
  2455.        
  2456.        
  2457.        
  2458.         if (LiczKtora==10)
  2459.         {
  2460.        
  2461.         ofstream plikk("Data/dts");
  2462.        
  2463.        
  2464.         if (Dzialanie==1&&poziom==1)
  2465.         {
  2466.         plikk<<"1"<<endl;
  2467.         if (zaliczyles[1]==0)
  2468.         plikk<<"0"<<endl;
  2469.         if (zaliczyles[1]==1)
  2470.         plikk<<"1"<<endl;
  2471.         if (zaliczyles[2]==0)
  2472.         plikk<<"0"<<endl;
  2473.         if (zaliczyles[2]==1)
  2474.         plikk<<"1"<<endl;
  2475.         if (zaliczyles[3]==0)
  2476.         plikk<<"0"<<endl;
  2477.         if (zaliczyles[3]==1)
  2478.         plikk<<"1"<<endl;
  2479.         if (zaliczyles[4]==0)
  2480.         plikk<<"0"<<endl;
  2481.         if (zaliczyles[4]==1)
  2482.         plikk<<"1"<<endl;
  2483.         if (zaliczyles[5]==0)
  2484.         plikk<<"0"<<endl;
  2485.         if (zaliczyles[5]==1)
  2486.         plikk<<"1"<<endl;
  2487.         if (zaliczyles[6]==0)
  2488.         plikk<<"0"<<endl;
  2489.         if (zaliczyles[6]==1)
  2490.         plikk<<"1"<<endl;
  2491.         if (zaliczyles[7]==0)
  2492.         plikk<<"0"<<endl;
  2493.         if (zaliczyles[7]==1)
  2494.         plikk<<"1"<<endl;
  2495.         if (zaliczyles[8]==0)
  2496.         plikk<<"0"<<endl;
  2497.         if (zaliczyles[8]==1)
  2498.         plikk<<"1"<<endl;
  2499.         if (zaliczyles[9]==0)
  2500.         plikk<<"0"<<endl;
  2501.         if (zaliczyles[9]==1)
  2502.         plikk<<"1"<<endl;
  2503.         if (zaliczyles[10]==0)
  2504.         plikk<<"0"<<endl;
  2505.         if (zaliczyles[10]==1)
  2506.         plikk<<"1"<<endl;
  2507.         if (zaliczyles[11]==0)
  2508.         plikk<<"0"<<endl;
  2509.         if (zaliczyles[11]==1)
  2510.         plikk<<"1"<<endl;
  2511.         }
  2512.        
  2513.         if (Dzialanie==1&&poziom==2)
  2514.         {
  2515.         if (zaliczyles[0]==0)
  2516.         plikk<<"0"<<endl;
  2517.         if (zaliczyles[0]==1)
  2518.         plikk<<"1"<<endl;
  2519.         plikk<<"1"<<endl;
  2520.         if (zaliczyles[2]==0)
  2521.         plikk<<"0"<<endl;
  2522.         if (zaliczyles[2]==1)
  2523.         plikk<<"1"<<endl;
  2524.         if (zaliczyles[3]==0)
  2525.         plikk<<"0"<<endl;
  2526.         if (zaliczyles[3]==1)
  2527.         plikk<<"1"<<endl;
  2528.         if (zaliczyles[4]==0)
  2529.         plikk<<"0"<<endl;
  2530.         if (zaliczyles[4]==1)
  2531.         plikk<<"1"<<endl;
  2532.         if (zaliczyles[5]==0)
  2533.         plikk<<"0"<<endl;
  2534.         if (zaliczyles[5]==1)
  2535.         plikk<<"1"<<endl;
  2536.         if (zaliczyles[6]==0)
  2537.         plikk<<"0"<<endl;
  2538.         if (zaliczyles[6]==1)
  2539.         plikk<<"1"<<endl;
  2540.         if (zaliczyles[7]==0)
  2541.         plikk<<"0"<<endl;
  2542.         if (zaliczyles[7]==1)
  2543.         plikk<<"1"<<endl;
  2544.         if (zaliczyles[8]==0)
  2545.         plikk<<"0"<<endl;
  2546.         if (zaliczyles[8]==1)
  2547.         plikk<<"1"<<endl;
  2548.         if (zaliczyles[9]==0)
  2549.         plikk<<"0"<<endl;
  2550.         if (zaliczyles[9]==1)
  2551.         plikk<<"1"<<endl;
  2552.         if (zaliczyles[10]==0)
  2553.         plikk<<"0"<<endl;
  2554.         if (zaliczyles[10]==1)
  2555.         plikk<<"1"<<endl;
  2556.         if (zaliczyles[11]==0)
  2557.         plikk<<"0"<<endl;
  2558.         if (zaliczyles[11]==1)
  2559.         plikk<<"1"<<endl;
  2560.         }
  2561.        
  2562.         if (Dzialanie==1&&poziom==3)
  2563.         {
  2564.         if (zaliczyles[0]==0)
  2565.         plikk<<"0"<<endl;
  2566.         if (zaliczyles[0]==1)
  2567.         plikk<<"1"<<endl;
  2568.         if (zaliczyles[1]==0)
  2569.         plikk<<"0"<<endl;
  2570.         if (zaliczyles[1]==1)
  2571.         plikk<<"1"<<endl;
  2572.         plikk<<"1"<<endl;
  2573.         if (zaliczyles[3]==0)
  2574.         plikk<<"0"<<endl;
  2575.         if (zaliczyles[3]==1)
  2576.         plikk<<"1"<<endl;
  2577.         if (zaliczyles[4]==0)
  2578.         plikk<<"0"<<endl;
  2579.         if (zaliczyles[4]==1)
  2580.         plikk<<"1"<<endl;
  2581.         if (zaliczyles[5]==0)
  2582.         plikk<<"0"<<endl;
  2583.         if (zaliczyles[5]==1)
  2584.         plikk<<"1"<<endl;
  2585.         if (zaliczyles[6]==0)
  2586.         plikk<<"0"<<endl;
  2587.         if (zaliczyles[6]==1)
  2588.         plikk<<"1"<<endl;
  2589.         if (zaliczyles[7]==0)
  2590.         plikk<<"0"<<endl;
  2591.         if (zaliczyles[7]==1)
  2592.         plikk<<"1"<<endl;
  2593.         if (zaliczyles[8]==0)
  2594.         plikk<<"0"<<endl;
  2595.         if (zaliczyles[8]==1)
  2596.         plikk<<"1"<<endl;
  2597.         if (zaliczyles[9]==0)
  2598.         plikk<<"0"<<endl;
  2599.         if (zaliczyles[9]==1)
  2600.         plikk<<"1"<<endl;
  2601.         if (zaliczyles[10]==0)
  2602.         plikk<<"0"<<endl;
  2603.         if (zaliczyles[10]==1)
  2604.         plikk<<"1"<<endl;
  2605.         if (zaliczyles[11]==0)
  2606.         plikk<<"0"<<endl;
  2607.         if (zaliczyles[11]==1)
  2608.         plikk<<"1"<<endl;
  2609.         }
  2610.        
  2611.         if (Dzialanie==2&&poziom==1)
  2612.         {
  2613.         if (zaliczyles[0]==0)
  2614.         plikk<<"0"<<endl;
  2615.         if (zaliczyles[0]==1)
  2616.         plikk<<"1"<<endl;
  2617.         if (zaliczyles[1]==0)
  2618.         plikk<<"0"<<endl;
  2619.         if (zaliczyles[1]==1)
  2620.         plikk<<"1"<<endl;
  2621.         if (zaliczyles[2]==0)
  2622.         plikk<<"0"<<endl;
  2623.         if (zaliczyles[2]==1)
  2624.         plikk<<"1"<<endl;
  2625.         plikk<<"1"<<endl;
  2626.         if (zaliczyles[4]==0)
  2627.         plikk<<"0"<<endl;
  2628.         if (zaliczyles[4]==1)
  2629.         plikk<<"1"<<endl;
  2630.         if (zaliczyles[5]==0)
  2631.         plikk<<"0"<<endl;
  2632.         if (zaliczyles[5]==1)
  2633.         plikk<<"1"<<endl;
  2634.         if (zaliczyles[6]==0)
  2635.         plikk<<"0"<<endl;
  2636.         if (zaliczyles[6]==1)
  2637.         plikk<<"1"<<endl;
  2638.         if (zaliczyles[7]==0)
  2639.         plikk<<"0"<<endl;
  2640.         if (zaliczyles[7]==1)
  2641.         plikk<<"1"<<endl;
  2642.         if (zaliczyles[8]==0)
  2643.         plikk<<"0"<<endl;
  2644.         if (zaliczyles[8]==1)
  2645.         plikk<<"1"<<endl;
  2646.         if (zaliczyles[9]==0)
  2647.         plikk<<"0"<<endl;
  2648.         if (zaliczyles[9]==1)
  2649.         plikk<<"1"<<endl;
  2650.         if (zaliczyles[10]==0)
  2651.         plikk<<"0"<<endl;
  2652.         if (zaliczyles[10]==1)
  2653.         plikk<<"1"<<endl;
  2654.         if (zaliczyles[11]==0)
  2655.         plikk<<"0"<<endl;
  2656.         if (zaliczyles[11]==1)
  2657.         plikk<<"1"<<endl;
  2658.         }
  2659.        
  2660.         if (Dzialanie==2&&poziom==2)
  2661.         {
  2662.         if (zaliczyles[0]==0)
  2663.         plikk<<"0"<<endl;
  2664.         if (zaliczyles[0]==1)
  2665.         plikk<<"1"<<endl;
  2666.         if (zaliczyles[1]==0)
  2667.         plikk<<"0"<<endl;
  2668.         if (zaliczyles[1]==1)
  2669.         plikk<<"1"<<endl;
  2670.         if (zaliczyles[2]==0)
  2671.         plikk<<"0"<<endl;
  2672.         if (zaliczyles[2]==1)
  2673.         plikk<<"1"<<endl;
  2674.         if (zaliczyles[3]==0)
  2675.         plikk<<"0"<<endl;
  2676.         if (zaliczyles[3]==1)
  2677.         plikk<<"1"<<endl;
  2678.         plikk<<"1"<<endl;
  2679.         if (zaliczyles[5]==0)
  2680.         plikk<<"0"<<endl;
  2681.         if (zaliczyles[5]==1)
  2682.         plikk<<"1"<<endl;
  2683.         if (zaliczyles[6]==0)
  2684.         plikk<<"0"<<endl;
  2685.         if (zaliczyles[6]==1)
  2686.         plikk<<"1"<<endl;
  2687.         if (zaliczyles[7]==0)
  2688.         plikk<<"0"<<endl;
  2689.         if (zaliczyles[7]==1)
  2690.         plikk<<"1"<<endl;
  2691.         if (zaliczyles[8]==0)
  2692.         plikk<<"0"<<endl;
  2693.         if (zaliczyles[8]==1)
  2694.         plikk<<"1"<<endl;
  2695.         if (zaliczyles[9]==0)
  2696.         plikk<<"0"<<endl;
  2697.         if (zaliczyles[9]==1)
  2698.         plikk<<"1"<<endl;
  2699.         if (zaliczyles[10]==0)
  2700.         plikk<<"0"<<endl;
  2701.         if (zaliczyles[10]==1)
  2702.         plikk<<"1"<<endl;
  2703.         if (zaliczyles[11]==0)
  2704.         plikk<<"0"<<endl;
  2705.         if (zaliczyles[11]==1)
  2706.         plikk<<"1"<<endl;
  2707.         }
  2708.        
  2709.         if (Dzialanie==2&&poziom==3)
  2710.         {
  2711.         if (zaliczyles[0]==0)
  2712.         plikk<<"0"<<endl;
  2713.         if (zaliczyles[0]==1)
  2714.         plikk<<"1"<<endl;
  2715.         if (zaliczyles[1]==0)
  2716.         plikk<<"0"<<endl;
  2717.         if (zaliczyles[1]==1)
  2718.         plikk<<"1"<<endl;
  2719.         if (zaliczyles[2]==0)
  2720.         plikk<<"0"<<endl;
  2721.         if (zaliczyles[2]==1)
  2722.         plikk<<"1"<<endl;
  2723.         if (zaliczyles[3]==0)
  2724.         plikk<<"0"<<endl;
  2725.         if (zaliczyles[3]==1)
  2726.         plikk<<"1"<<endl;
  2727.         if (zaliczyles[4]==0)
  2728.         plikk<<"0"<<endl;
  2729.         if (zaliczyles[4]==1)
  2730.         plikk<<"1"<<endl;
  2731.         plikk<<"1"<<endl;
  2732.         if (zaliczyles[6]==0)
  2733.         plikk<<"0"<<endl;
  2734.         if (zaliczyles[6]==1)
  2735.         plikk<<"1"<<endl;
  2736.         if (zaliczyles[7]==0)
  2737.         plikk<<"0"<<endl;
  2738.         if (zaliczyles[7]==1)
  2739.         plikk<<"1"<<endl;
  2740.         if (zaliczyles[8]==0)
  2741.         plikk<<"0"<<endl;
  2742.         if (zaliczyles[8]==1)
  2743.         plikk<<"1"<<endl;
  2744.         if (zaliczyles[9]==0)
  2745.         plikk<<"0"<<endl;
  2746.         if (zaliczyles[9]==1)
  2747.         plikk<<"1"<<endl;
  2748.         if (zaliczyles[10]==0)
  2749.         plikk<<"0"<<endl;
  2750.         if (zaliczyles[10]==1)
  2751.         plikk<<"1"<<endl;
  2752.         if (zaliczyles[11]==0)
  2753.         plikk<<"0"<<endl;
  2754.         if (zaliczyles[11]==1)
  2755.         plikk<<"1"<<endl;
  2756.         }
  2757.        
  2758.         if (Dzialanie==3&&poziom==1)
  2759.         {
  2760.         if (zaliczyles[0]==0)
  2761.         plikk<<"0"<<endl;
  2762.         if (zaliczyles[0]==1)
  2763.         plikk<<"1"<<endl;
  2764.         if (zaliczyles[1]==0)
  2765.         plikk<<"0"<<endl;
  2766.         if (zaliczyles[1]==1)
  2767.         plikk<<"1"<<endl;
  2768.         if (zaliczyles[2]==0)
  2769.         plikk<<"0"<<endl;
  2770.         if (zaliczyles[2]==1)
  2771.         plikk<<"1"<<endl;
  2772.         if (zaliczyles[3]==0)
  2773.         plikk<<"0"<<endl;
  2774.         if (zaliczyles[3]==1)
  2775.         plikk<<"1"<<endl;
  2776.         if (zaliczyles[4]==0)
  2777.         plikk<<"0"<<endl;
  2778.         if (zaliczyles[4]==1)
  2779.         plikk<<"1"<<endl;
  2780.         if (zaliczyles[5]==0)
  2781.         plikk<<"0"<<endl;
  2782.         if (zaliczyles[5]==1)
  2783.         plikk<<"1"<<endl;
  2784.         plikk<<"1"<<endl;
  2785.         if (zaliczyles[7]==0)
  2786.         plikk<<"0"<<endl;
  2787.         if (zaliczyles[7]==1)
  2788.         plikk<<"1"<<endl;
  2789.         if (zaliczyles[8]==0)
  2790.         plikk<<"0"<<endl;
  2791.         if (zaliczyles[8]==1)
  2792.         plikk<<"1"<<endl;
  2793.         if (zaliczyles[9]==0)
  2794.         plikk<<"0"<<endl;
  2795.         if (zaliczyles[9]==1)
  2796.         plikk<<"1"<<endl;
  2797.         if (zaliczyles[10]==0)
  2798.         plikk<<"0"<<endl;
  2799.         if (zaliczyles[10]==1)
  2800.         plikk<<"1"<<endl;
  2801.         if (zaliczyles[11]==0)
  2802.         plikk<<"0"<<endl;
  2803.         if (zaliczyles[11]==1)
  2804.         plikk<<"1"<<endl;
  2805.         }
  2806.        
  2807.         if (Dzialanie==3&&poziom==2)
  2808.         {
  2809.         if (zaliczyles[0]==0)
  2810.         plikk<<"0"<<endl;
  2811.         if (zaliczyles[0]==1)
  2812.         plikk<<"1"<<endl;
  2813.         if (zaliczyles[1]==0)
  2814.         plikk<<"0"<<endl;
  2815.         if (zaliczyles[1]==1)
  2816.         plikk<<"1"<<endl;
  2817.         if (zaliczyles[2]==0)
  2818.         plikk<<"0"<<endl;
  2819.         if (zaliczyles[2]==1)
  2820.         plikk<<"1"<<endl;
  2821.         if (zaliczyles[3]==0)
  2822.         plikk<<"0"<<endl;
  2823.         if (zaliczyles[3]==1)
  2824.         plikk<<"1"<<endl;
  2825.         if (zaliczyles[4]==0)
  2826.         plikk<<"0"<<endl;
  2827.         if (zaliczyles[4]==1)
  2828.         plikk<<"1"<<endl;
  2829.         if (zaliczyles[5]==0)
  2830.         plikk<<"0"<<endl;
  2831.         if (zaliczyles[5]==1)
  2832.         plikk<<"1"<<endl;
  2833.         if (zaliczyles[6]==0)
  2834.         plikk<<"0"<<endl;
  2835.         if (zaliczyles[6]==1)
  2836.         plikk<<"1"<<endl;
  2837.         plikk<<"1"<<endl;
  2838.         if (zaliczyles[8]==0)
  2839.         plikk<<"0"<<endl;
  2840.         if (zaliczyles[8]==1)
  2841.         plikk<<"1"<<endl;
  2842.         if (zaliczyles[9]==0)
  2843.         plikk<<"0"<<endl;
  2844.         if (zaliczyles[9]==1)
  2845.         plikk<<"1"<<endl;
  2846.         if (zaliczyles[10]==0)
  2847.         plikk<<"0"<<endl;
  2848.         if (zaliczyles[10]==1)
  2849.         plikk<<"1"<<endl;
  2850.         if (zaliczyles[11]==0)
  2851.         plikk<<"0"<<endl;
  2852.         if (zaliczyles[11]==1)
  2853.         plikk<<"1"<<endl;
  2854.         }
  2855.        
  2856.         if (Dzialanie==3&&poziom==3)
  2857.         {
  2858.         if (zaliczyles[0]==0)
  2859.         plikk<<"0"<<endl;
  2860.         if (zaliczyles[0]==1)
  2861.         plikk<<"1"<<endl;
  2862.         if (zaliczyles[1]==0)
  2863.         plikk<<"0"<<endl;
  2864.         if (zaliczyles[1]==1)
  2865.         plikk<<"1"<<endl;
  2866.         if (zaliczyles[2]==0)
  2867.         plikk<<"0"<<endl;
  2868.         if (zaliczyles[2]==1)
  2869.         plikk<<"1"<<endl;
  2870.         if (zaliczyles[3]==0)
  2871.         plikk<<"0"<<endl;
  2872.         if (zaliczyles[3]==1)
  2873.         plikk<<"1"<<endl;
  2874.         if (zaliczyles[4]==0)
  2875.         plikk<<"0"<<endl;
  2876.         if (zaliczyles[4]==1)
  2877.         plikk<<"1"<<endl;
  2878.         if (zaliczyles[5]==0)
  2879.         plikk<<"0"<<endl;
  2880.         if (zaliczyles[5]==1)
  2881.         plikk<<"1"<<endl;
  2882.         if (zaliczyles[6]==0)
  2883.         plikk<<"0"<<endl;
  2884.         if (zaliczyles[6]==1)
  2885.         plikk<<"1"<<endl;
  2886.         if (zaliczyles[7]==0)
  2887.         plikk<<"0"<<endl;
  2888.         if (zaliczyles[7]==1)
  2889.         plikk<<"1"<<endl;
  2890.         plikk<<"1"<<endl;
  2891.         if (zaliczyles[9]==0)
  2892.         plikk<<"0"<<endl;
  2893.         if (zaliczyles[9]==1)
  2894.         plikk<<"1"<<endl;
  2895.         if (zaliczyles[10]==0)
  2896.         plikk<<"0"<<endl;
  2897.         if (zaliczyles[10]==1)
  2898.         plikk<<"1"<<endl;
  2899.         if (zaliczyles[11]==0)
  2900.         plikk<<"0"<<endl;
  2901.         if (zaliczyles[11]==1)
  2902.         plikk<<"1"<<endl;
  2903.         }
  2904.        
  2905.         if (Dzialanie==4&&poziom==1)
  2906.         {
  2907.         if (zaliczyles[0]==0)
  2908.         plikk<<"0"<<endl;
  2909.         if (zaliczyles[0]==1)
  2910.         plikk<<"1"<<endl;
  2911.         if (zaliczyles[1]==0)
  2912.         plikk<<"0"<<endl;
  2913.         if (zaliczyles[1]==1)
  2914.         plikk<<"1"<<endl;
  2915.         if (zaliczyles[2]==0)
  2916.         plikk<<"0"<<endl;
  2917.         if (zaliczyles[2]==1)
  2918.         plikk<<"1"<<endl;
  2919.         if (zaliczyles[3]==0)
  2920.         plikk<<"0"<<endl;
  2921.         if (zaliczyles[3]==1)
  2922.         plikk<<"1"<<endl;
  2923.         if (zaliczyles[4]==0)
  2924.         plikk<<"0"<<endl;
  2925.         if (zaliczyles[4]==1)
  2926.         plikk<<"1"<<endl;
  2927.         if (zaliczyles[5]==0)
  2928.         plikk<<"0"<<endl;
  2929.         if (zaliczyles[5]==1)
  2930.         plikk<<"1"<<endl;
  2931.         if (zaliczyles[6]==0)
  2932.         plikk<<"0"<<endl;
  2933.         if (zaliczyles[6]==1)
  2934.         plikk<<"1"<<endl;
  2935.         if (zaliczyles[7]==0)
  2936.         plikk<<"0"<<endl;
  2937.         if (zaliczyles[7]==1)
  2938.         plikk<<"1"<<endl;
  2939.         if (zaliczyles[8]==0)
  2940.         plikk<<"0"<<endl;
  2941.         if (zaliczyles[8]==1)
  2942.         plikk<<"1"<<endl;
  2943.         plikk<<"1"<<endl;
  2944.         if (zaliczyles[10]==0)
  2945.         plikk<<"0"<<endl;
  2946.         if (zaliczyles[10]==1)
  2947.         plikk<<"1"<<endl;
  2948.         if (zaliczyles[11]==0)
  2949.         plikk<<"0"<<endl;
  2950.         if (zaliczyles[11]==1)
  2951.         plikk<<"1"<<endl;
  2952.         }
  2953.        
  2954.         if (Dzialanie==4&&poziom==2)
  2955.         {
  2956.         if (zaliczyles[0]==0)
  2957.         plikk<<"0"<<endl;
  2958.         if (zaliczyles[0]==1)
  2959.         plikk<<"1"<<endl;
  2960.         if (zaliczyles[1]==0)
  2961.         plikk<<"0"<<endl;
  2962.         if (zaliczyles[1]==1)
  2963.         plikk<<"1"<<endl;
  2964.         if (zaliczyles[2]==0)
  2965.         plikk<<"0"<<endl;
  2966.         if (zaliczyles[2]==1)
  2967.         plikk<<"1"<<endl;
  2968.         if (zaliczyles[3]==0)
  2969.         plikk<<"0"<<endl;
  2970.         if (zaliczyles[3]==1)
  2971.         plikk<<"1"<<endl;
  2972.         if (zaliczyles[4]==0)
  2973.         plikk<<"0"<<endl;
  2974.         if (zaliczyles[4]==1)
  2975.         plikk<<"1"<<endl;
  2976.         if (zaliczyles[5]==0)
  2977.         plikk<<"0"<<endl;
  2978.         if (zaliczyles[5]==1)
  2979.         plikk<<"1"<<endl;
  2980.         if (zaliczyles[6]==0)
  2981.         plikk<<"0"<<endl;
  2982.         if (zaliczyles[6]==1)
  2983.         plikk<<"1"<<endl;
  2984.         if (zaliczyles[7]==0)
  2985.         plikk<<"0"<<endl;
  2986.         if (zaliczyles[7]==1)
  2987.         plikk<<"1"<<endl;
  2988.         if (zaliczyles[8]==0)
  2989.         plikk<<"0"<<endl;
  2990.         if (zaliczyles[8]==1)
  2991.         plikk<<"1"<<endl;
  2992.         if (zaliczyles[9]==0)
  2993.         plikk<<"0"<<endl;
  2994.         if (zaliczyles[9]==1)
  2995.         plikk<<"1"<<endl;
  2996.         plikk<<"1"<<endl;
  2997.         if (zaliczyles[11]==0)
  2998.         plikk<<"0"<<endl;
  2999.         if (zaliczyles[11]==1)
  3000.         plikk<<"1"<<endl;
  3001.         }
  3002.        
  3003.         if (Dzialanie==4&&poziom==3)
  3004.         {
  3005.         if (zaliczyles[0]==0)
  3006.         plikk<<"0"<<endl;
  3007.         if (zaliczyles[0]==1)
  3008.         plikk<<"1"<<endl;
  3009.         if (zaliczyles[1]==0)
  3010.         plikk<<"0"<<endl;
  3011.         if (zaliczyles[1]==1)
  3012.         plikk<<"1"<<endl;
  3013.         if (zaliczyles[2]==0)
  3014.         plikk<<"0"<<endl;
  3015.         if (zaliczyles[2]==1)
  3016.         plikk<<"1"<<endl;
  3017.         if (zaliczyles[3]==0)
  3018.         plikk<<"0"<<endl;
  3019.         if (zaliczyles[3]==1)
  3020.         plikk<<"1"<<endl;
  3021.         if (zaliczyles[4]==0)
  3022.         plikk<<"0"<<endl;
  3023.         if (zaliczyles[4]==1)
  3024.         plikk<<"1"<<endl;
  3025.         if (zaliczyles[5]==0)
  3026.         plikk<<"0"<<endl;
  3027.         if (zaliczyles[5]==1)
  3028.         plikk<<"1"<<endl;
  3029.         if (zaliczyles[6]==0)
  3030.         plikk<<"0"<<endl;
  3031.         if (zaliczyles[6]==1)
  3032.         plikk<<"1"<<endl;
  3033.         if (zaliczyles[7]==0)
  3034.         plikk<<"0"<<endl;
  3035.         if (zaliczyles[7]==1)
  3036.         plikk<<"1"<<endl;
  3037.         if (zaliczyles[8]==0)
  3038.         plikk<<"0"<<endl;
  3039.         if (zaliczyles[8]==1)
  3040.         plikk<<"1"<<endl;
  3041.         if (zaliczyles[9]==0)
  3042.         plikk<<"0"<<endl;
  3043.         if (zaliczyles[9]==1)
  3044.         plikk<<"1"<<endl;
  3045.         if (zaliczyles[10]==0)
  3046.         plikk<<"0"<<endl;
  3047.         if (zaliczyles[10]==1)
  3048.         plikk<<"1"<<endl;
  3049.         plikk<<"1"<<endl;
  3050.         }
  3051.        
  3052.        
  3053.        
  3054.        
  3055.        
  3056.        
  3057.        
  3058.        
  3059.        
  3060.        
  3061.        
  3062.        
  3063.        
  3064.        
  3065.        
  3066.        
  3067.        
  3068.        
  3069.        
  3070.        
  3071.        
  3072.        
  3073.        
  3074.        
  3075.        
  3076.        
  3077.        
  3078.        
  3079.        
  3080.        
  3081.        
  3082.        
  3083.        
  3084.        
  3085.        
  3086.        
  3087.        
  3088.        
  3089.        
  3090.        
  3091.        
  3092.        
  3093.        
  3094.         }
  3095.         }
  3096.         SpR=1;
  3097.         glDisable(GL_ALPHA_TEST);
  3098.         glEnable(GL_BLEND);
  3099.        
  3100.        
  3101.         kolor+=0.004;
  3102.        
  3103.        
  3104.         glBindTexture(GL_TEXTURE_2D,czar);
  3105.         glColor4f(1,1,1,kolor);
  3106.         glBegin(GL_QUADS);
  3107.         glTexCoord2f(0,0); glVertex3f(-1,-1,-1);
  3108.         glTexCoord2f(1,0); glVertex3f(1,-1,-1);
  3109.         glTexCoord2f(1,1); glVertex3f(1,1,-1);
  3110.         glTexCoord2f(0,1); glVertex3f(-1,1,-1);
  3111.         glEnd();
  3112.        
  3113.         glDisable(GL_BLEND);
  3114.         glEnable(GL_ALPHA_TEST);
  3115.         }
  3116.        
  3117.        
  3118.        
  3119.        
  3120.        
  3121.         //Poruszanie sie
  3122.  
  3123.         if (key[KEY_A]&&spr==1&&zakret>-1&&zak==0)
  3124.         {
  3125.         stronka=-1;
  3126.         --tor;
  3127.         zak=-1,spr=0,--zakret;
  3128.         //Kamera=1;
  3129.         }
  3130.      
  3131.        
  3132.         if (key[KEY_D]&&spr==1&&zakret<1&&zak==0)
  3133.         {
  3134.         ++tor;
  3135.         stronka=1;
  3136.         zak=1,spr=0,++zakret;
  3137.         ///Kamera=2;
  3138.         }
  3139.        
  3140.         if (!key[KEY_A]&&!key[KEY_D])
  3141.         spr=1;
  3142.        
  3143.         if (illosc>=69)
  3144.         illosc=0,zak=0;
  3145.        
  3146.  
  3147.         if (zak==-1)
  3148.         xpos-=0.05,illosc+=0.8;
  3149.         if (zak==1)
  3150.         xpos+=0.05,illosc+=0.8;
  3151.        
  3152.  
  3153.  
  3154.         km=1000;
  3155.  
  3156.         if (key[KEY_V])
  3157.         stop=1;
  3158.         if (key[KEY_B])
  3159.         stop=0;
  3160.         if (stop==0)        
  3161.         {
  3162.         xpos -= (float)sin(heading*piover180) * km/1300;
  3163.         zpos -= (float)cos(heading*piover180) * km/1300;
  3164.         }
  3165.        
  3166.         //--------------------------------------
  3167.        
  3168.        
  3169.        
  3170.         allegro_gl_flip();
  3171.         }
  3172.        
  3173.     }
  3174.     }
  3175.    
  3176.  
  3177. return 0;
  3178. }
  3179. END_OF_MAIN();
Add Comment
Please, Sign In to add comment