static void Level3( double* r ) { double t; char o; Level4( r ); while( (o = *token) == '*' || o == '/' || o == '%' ) { Parse(); Level4( &t ); if( o == '*' ) *r = *r * t; else if( o == '/' ) { if( t == 0 ) ERR( E_DIVZERO ); *r = *r / t; } else if( o == '%' ) { if( t == 0 ) ERR( E_DIVZERO ); *r = fmod( *r, t ); } } }
////////////////////////////////////// // Save Levels Function ////////////////////////////////////// void SaveLevels(void) { Level1(); Level2(); Level3(); Level4(); Level5(); Level6(); Level7(); Level8(); // LevelLast(); FILE *fp; char S[MAXARRAY] = GAMEDIR; strcat(S, LEVELSFILE); fp = fopen(S, "w"); for(int i = 0; i < CL; i++) { error = fwrite(&(level[i]->midi), sizeof(MIDIFILE), 1, fp); if(error == 1) error = fwrite(&(level[i]->waveNum), sizeof(UINT), 1, fp); else return; if(error == 1) error = fwrite(&(level[i]->bitmapNum),sizeof(UINT), 1, fp); else return; if(error == 1) error = fwrite(&(level[i]->spriteNum),sizeof(UINT), 1, fp); else return; if(error == 1) error = fwrite(&(level[i]->zoneNum), sizeof(UINT), 1, fp); else return; if(error == 1) error = fwrite(&(level[i]->lWaveA), sizeof(UINT), level[i]->waveNum, fp); else return; if(error == level[i]->waveNum) error = fwrite(&(level[i]->lBitmapA), sizeof(BITMAPARRAY), level[i]->bitmapNum, fp); else return; if(error == level[i]->bitmapNum) error = fwrite(&(level[i]->lSpriteA), sizeof(SPRITEARRAY), level[i]->spriteNum, fp); else return; if(error == level[i]->spriteNum) error = fwrite(&(level[i]->lZoneA), sizeof(ZONEARRAY), level[i]->zoneNum, fp); else return; } fclose(fp); }