]> code.bitgloo.com Git - clyne/gamedev.git/commitdiff
good merge
authorClyne Sullivan <tullivan99@gmail.com>
Fri, 11 Sep 2015 21:40:56 +0000 (17:40 -0400)
committerClyne Sullivan <tullivan99@gmail.com>
Fri, 11 Sep 2015 21:40:56 +0000 (17:40 -0400)
include/common.h
include/entities.h
src/World.cpp
src/main.cpp

index df5b6ac12410c0480d2208582dc631afef87605d..2a6d66b696cefcaf96c467d3691043f07f41fe66 100644 (file)
@@ -15,8 +15,8 @@ typedef struct{float x; float y;}vec2;
 #include <World.h>
 
 #define SCREEN_WIDTH  1280
-#define SCREEN_HEIGHT 720
-//#define FULLSCREEN
+#define SCREEN_HEIGHT 800
+#define FULLSCREEN
 
 #define HLINE (2.0f / (SCREEN_WIDTH / 4))
 
@@ -28,4 +28,6 @@ extern SDL_GLContext  mainGLContext;
 //WINDOW VARIABLES
 extern bool gameRunning;
 
+extern int grand(void);
+
 #endif // COMMON_H
index 5f0c9ee6635ca5463820c86b871b9ba795b17612..5deaa00ab1d7fe8557968c3c87ef5f70c91cf583 100644 (file)
@@ -13,10 +13,7 @@ public:
        vec2 loci;
        vec2 vel;
        vec2 velg;
-
        void spawn(float, float);
-
-
 };
 
 class Player : public Entities{
index 9b9a2c3e7fd50d9034cd31fe4be96a7bf9f21fc2..c2dc62dc92720eee084dad520108d5bf93708810 100644 (file)
@@ -9,7 +9,7 @@ World::World(void){
 World::World(const float width,World *l,World *r){\r
        unsigned int i;\r
        double f;\r
-       lineCount=width/HLINE+1;\r
+       lineCount=width/HLINE+11;\r
        if((line=(struct line_t *)calloc(lineCount,sizeof(struct line_t)))==NULL){\r
                std::cout<<"Failed to allocate memory!"<<std::endl;\r
                abort();\r
@@ -32,10 +32,10 @@ World::World(const float width,World *l,World *r){
                        toRight->toLeft=this;\r
                }\r
        }\r
-       line[0].start=(rand()%100)/100.0f-0.8f; // lazy\r
+       line[0].start=(grand()%100)/100.0f-0.8f; // lazy\r
        if(line[0].start>-0.5f)line[0].start=-0.7f;\r
        for(i=10;i<lineCount;i+=10){ \r
-               line[i].start=((double)(rand()%40+200))/1000.0f-1;\r
+               line[i].start=((double)(grand()%40+200))/1000.0f-1;\r
        }\r
        for(i=0;i<lineCount;i++){\r
                if(!(i%10)||!i){\r
@@ -49,7 +49,7 @@ World::World(const float width,World *l,World *r){
 void World::draw(void){\r
        unsigned int i;\r
        glBegin(GL_QUADS);\r
-               for(i=0;i<lineCount;i++){\r
+               for(i=0;i<lineCount-10;i++){\r
                        glColor3ub(0,255,0);\r
                        glVertex2f((HLINE*i)-1      ,line[i].start);\r
                        glVertex2f((HLINE*i)-1+HLINE,line[i].start);\r
@@ -65,22 +65,24 @@ void World::draw(void){
 }\r
 void World::detect(vec2 *v,const float width){\r
        unsigned int i;\r
-       for(i=0;i<lineCount;i++){\r
+       for(i=0;i<lineCount-10;i++){\r
                if(v->y<line[i].start){\r
                        if(v->x>(HLINE*i)-1&&v->x<(HLINE*i)-1+HLINE){\r
-                               v->x=(HLINE*i)-1+HLINE;\r
+                               v->y=line[i].start;\r
+                               return;\r
+                               //v->x=(HLINE*i)-1+HLINE;\r
                        }else if(v->x+width>(HLINE*i)-1&&v->x+width<(HLINE*i)-1+HLINE){\r
-                               v->x=(HLINE*i)-1-width;\r
-                       }else{\r
-                               v->y=line[i].start+HLINE/4;\r
+                               v->y=line[i].start;\r
+                               return;\r
+                               //v->x=(HLINE*i)-1-width;\r
                        }\r
                }else if(v->y>line[i].start+HLINE/4){\r
-                       //v->y-=HLINE/8;\r
+                       v->y-=HLINE/8;\r
                }\r
        }\r
 }\r
 float World::getWidth(void){\r
-       return (lineCount-1)*HLINE;\r
+       return (lineCount-11)*HLINE;\r
 }\r
 void World::saveToFile(FILE *f,World *parent){\r
        fwrite(&lineCount,sizeof(unsigned int) ,1        ,f);\r
index 8da775ca753fc537e7a858e61f15229064bc1e25..357541902cc4a05e9670229b548e6f1a048257a9 100644 (file)
@@ -21,6 +21,16 @@ Player player;
 UIClass ui;
 World *currentWorld;
 
+//static int randNext=1;
+
+void irand(unsigned int seed){
+       srand(seed);
+}
+
+int grand(void){
+       return rand();
+}
+
 unsigned int logic(unsigned int interval,void *param);
 
 float interpolate(float goal, float current, float dt){
@@ -65,7 +75,6 @@ int main(int argc,char **argv){
                std::cout << "SDL was not able to initialize! Error: " << SDL_GetError() << std::endl;
                return -1;
        }
-       srand(time(NULL));
        SDL_AddTimer(MSEC_PER_TICK,logic,NULL);
        glClearColor(.3,.5,.8,0);
        glEnable(GL_BLEND);
@@ -86,19 +95,21 @@ int main(int argc,char **argv){
        currentWorld=w;
        
        // Save the world if necessary
-       /*static FILE *f=fopen("world.dat","r");
-       if(f==NULL){
+       /*FILE *f=fopen("world.dat","r");
+       unsigned int fSave;
+       if(!f){
                f=fopen("world.dat","w");
-               if(f!=NULL){
-                       currentWorld->saveToFile(f,currentWorld);
+               if(f){
+                       fSave=time(NULL);
+                       fwrite(&fSave,sizeof(unsigned int),1,f);
                        fclose(f);
-               }else{
-                       std::cout<<"Error! Couldn\'t save the world!"<<std::endl;
                }
        }else{
-               currentWorld->loadFromFile(f,currentWorld);
+               fread(&fSave,sizeof(unsigned int),1,f);
                fclose(f);
        }*/
+       irand(time(NULL));
+>>>>>>> Stashed changes
        
        float gw;
        
@@ -106,11 +117,6 @@ int main(int argc,char **argv){
                prevTime = currentTime;
                currentTime = tickCount;
                deltaTime = currentTime - prevTime;
-                                                                                                                       //DO ALL RENDERING HERE         
-               player.vel.x = interpolate(player.velg.x, player.vel.x, deltaTime) * .005;
-               if(player.vel.x > .05) player.vel.x = .05;
-               if(player.vel.x < -.05) player.vel.x = -.05;
-               player.loci.x += player.vel.x;
 
                gw=currentWorld->getWidth();
                if(player.loci.x+player.width>-1+gw){
@@ -130,6 +136,10 @@ int main(int argc,char **argv){
                        }
                }
 
+               player.vel.x = interpolate(player.velg.x, player.vel.x, deltaTime) * .005;
+               if(player.vel.x > .05) player.vel.x = .05;
+               if(player.vel.x < -.05) player.vel.x = -.05;
+               player.loci.x += player.vel.x;
                render();
        }
        
@@ -162,7 +172,7 @@ void render(){
                **************************/
                 
                currentWorld->draw();
-               glColor3ub(0,0,0);
+               glColor3ub(120,30,30);
                glRectf(player.loci.x, player.loci.y, player.loci.x + player.width, player.loci.y + player.height);
                
                /**************************
@@ -176,7 +186,7 @@ void render(){
 unsigned int logic(unsigned int interval,void *param){
        ui.handleEvents();                                                              // Handle events
 
-       player.vel.x = 0;
+       player.vel.x=0;
        currentWorld->detect(&player.loci,player.width);
 
        //std::cout << player.vel.x << std::endl;
@@ -185,4 +195,4 @@ unsigned int logic(unsigned int interval,void *param){
 
        tickCount++;
        return interval;
-}
+}