From 0bb92ced351b7fbba6e2e7036eae92037d08facf Mon Sep 17 00:00:00 2001 From: Comment Date: Sat, 8 Dec 2012 00:38:32 +0000 Subject: working on game logic --- vfg/src/music.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'vfg/src/music.cpp') diff --git a/vfg/src/music.cpp b/vfg/src/music.cpp index a2e7020..c920a02 100755 --- a/vfg/src/music.cpp +++ b/vfg/src/music.cpp @@ -301,6 +301,7 @@ void song::preRoll(long preroll) { notes.start(startTime); isPreroll=true; isPlaying=true; + gameover=false; } void song::drawNotes(float hOffs){ notes.drawNotes(hOffs,&levels); @@ -315,8 +316,11 @@ string song::getName(){ int song::getLength(){ return levels.length; } -bool song::isFinished(){ - return (getCurrentTime()>=getLength()); +bool song::isGameover(){ + return gameover; +} +bool song::isFinished(){ + return (ofGetElapsedTimeMillis()-startTime>=levels.length); } void song::draw(float hOffs,float scale){ int songTime=ofGetElapsedTimeMillis()-startTime; @@ -334,7 +338,8 @@ void song::draw(float hOffs,float scale){ if (levels.getLives(songTime)) { if (notes.missedFlakes>levels.getLives(songTime)) { //work out score - stop(); + //stop(); + gameover=true; } } } @@ -342,9 +347,13 @@ void song::draw(float hOffs,float scale){ if (!isPractice) lyrics.draw(hOffs); if (songTime>levels.length) { printf("stopping: %i (%i)\n",songTime,levels.length); - stop(); + //stop(); + gameover=true; } } + else { + //fade out song + melody :: clean up + } } void song::playerControl(int key){ notes.playerControl(key); -- cgit v1.2.3