void gameboard::LoadLevel() { std::ifstream levelfile("levels.txt"); level++; char levelfinder; while (1){ levelfile >> levelfinder; if (levelfinder == ':') { levelfile >> levelfinder; if (levelfinder == level) break; } }
void loadlevel(string file, brick bricks[] ,int level) { ifstream levelfile(file.data()); if(!levelfile.is_open()) { cout << " Could not open " << file << endl; var.quit=1; return; } string line; int levelread=0,brick=0,ch=0; var.numlevels=0; var.scrollInfo.drop = 0; while(!levelfile.eof()) { getline(levelfile,line); //Har vi fundet start? if(levelread == 0) { //Nej, er det nu? if(line.substr(0,11) == "** Start **") { levelread++; } } else if(levelread == 1) { //Do the level stop now? if(line.substr(0,10) == "** Stop **") { levelread=0; var.numlevels++; brick=0; } else { //Reading data from level if(var.numlevels == level) { if(line[0] == '>') { if(line.substr(0,6) == "> down") { var.scrollInfo.dropspeed = atol( line.substr(7,line.length()).data() ); var.scrollInfo.drop = 1; } } else { while(line[ch] != 0) { bricks[brick].powerup = line[ch]; bricks[brick].type = line[ch+1]; if(bricks[brick].type == 'D') { char rgb[3][5]; sprintf(rgb[0], "0x%c%c", line[ch+2], line[ch+3]); sprintf(rgb[1], "0x%c%c", line[ch+4], line[ch+5]); sprintf(rgb[2], "0x%c%c", line[ch+6], line[ch+7]); bricks[brick].tex.prop.glTexColorInfo[0] = 0.003921569*strtol(rgb[0], NULL, 16); bricks[brick].tex.prop.glTexColorInfo[1] = 0.003921569*strtol(rgb[1], NULL, 16); bricks[brick].tex.prop.glTexColorInfo[2] = 0.003921569*strtol(rgb[2], NULL, 16); bricks[brick].tex.prop.glParColorInfo[0] = 0.003921569*strtol(rgb[0], NULL, 16); bricks[brick].tex.prop.glParColorInfo[1] = 0.003921569*strtol(rgb[1], NULL, 16); bricks[brick].tex.prop.glParColorInfo[2] = 0.003921569*strtol(rgb[2], NULL, 16); bricks[brick].tex.prop.glTexColorInfo[3] = 1.0; ch +=6; } //cout << "Level: " << levelnum << " brick: " << brick << " Powerup: " << line[ch] << " Type: " << line[ch+1]<<"\n"; brick++; ch +=2; } ch=0; } //Not a command } //denne level settes op } } } cout << "Read " << var.numlevels << " levels from '"<< file <<"'" << endl; levelfile.close(); }