diff options
author | drumsetmonkey <abelleisle@roadrunner.com> | 2015-11-10 08:38:30 -0500 |
---|---|---|
committer | drumsetmonkey <abelleisle@roadrunner.com> | 2015-11-10 08:38:30 -0500 |
commit | a075f1b6c2c65570ab7b249b12efefcfcc442e95 (patch) | |
tree | 5d8a933505b31e3da8071f15f30240bb5828d925 /src/world.cpp | |
parent | b0f7e8d2caa72ab1fe93fa58dbfa841750d96037 (diff) |
Added spawn world
Diffstat (limited to 'src/world.cpp')
-rw-r--r-- | src/world.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/world.cpp b/src/world.cpp index 63604fe..8c42a81 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -2,11 +2,6 @@ #define getWidth(w) ((w->lineCount-GEN_INC)*HLINE) // Calculates the width of world 'w' -#define GEN_INC 10 // Defines at what interval y values should be calculated for the array 'line'. - // As explained in World(), the last few lines in the array 'line' are incorrectly calculated - // or not calculated at all, so GEN_INC is also used to decrease 'lineCount' in functions like draw() - // and detect(). - #define GEN_MIN 80 #define GEN_MAX 110 #define GEN_INIT 60 @@ -166,13 +161,15 @@ void World::generate(unsigned int width){ // Generates the world and sets all va x_start=0 - getWidth(this) / 2; } -void World::generateFunc(unsigned int width,unsigned int (*func)(unsigned int)){ +void World::generateFunc(unsigned int width,float(*func)(float)){ unsigned int i; if((lineCount = width) <= 0) abort(); line=(struct line_t *)calloc(lineCount,sizeof(struct line_t)); for(i=0;i<lineCount;i++){ line[i].y=func(i); + if(line[i].y<0)line[i].y=0; + if(line[i].y>2000)line[i].y=2000; line[i].color=rand() % 20 + 100; line[i].gh[0]=(getRand() % 16) / 3.5 + 2; line[i].gh[1]=(getRand() % 16) / 3.5 + 2; @@ -584,7 +581,7 @@ void World::addLayer(unsigned int width){ } World *World::goWorldLeft(Player *p){ - if(toLeft&&p->loc.x<x_start+HLINE*10){ + if(toLeft&&p->loc.x<x_start+HLINE*15){ p->loc.x=toLeft->x_start+getWidth(toLeft)-HLINE*10; p->loc.y=toLeft->line[0].y; return toLeft; |