diff --git a/Project.xml b/Project.xml
index 12f749f18..2260a76d2 100644
--- a/Project.xml
+++ b/Project.xml
@@ -27,7 +27,9 @@
-
+
+
+
@@ -36,7 +38,7 @@
-
+
diff --git a/source/Note.hx b/source/Note.hx
index d5f729494..43328e312 100644
--- a/source/Note.hx
+++ b/source/Note.hx
@@ -14,6 +14,8 @@ class Note extends FlxSprite
public var wasGoodHit:Bool = false;
public var prevNote:Note;
+ public var noteScore:Float = 1;
+
public function new(strumTime:Float, noteData:Int)
{
super();
@@ -43,7 +45,10 @@ class Note extends FlxSprite
}
if (noteData < 0)
+ {
+ noteScore * 0.2;
alpha = 0.6;
+ }
}
override function update(elapsed:Float)
diff --git a/source/PlayState.hx b/source/PlayState.hx
index 58fa28264..e252acfb1 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -6,6 +6,8 @@ import flixel.FlxState;
import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.system.FlxSound;
import flixel.text.FlxText;
+import flixel.tweens.FlxTween;
+import flixel.util.FlxTimer;
import haxe.Json;
import lime.utils.Assets;
@@ -26,6 +28,9 @@ class PlayState extends FlxState
private var notes:FlxTypedGroup;
private var strumLine:FlxSprite;
+ private var curSection:Int = 0;
+
+ private var sectionScores:Array = [[], []];
override public function create()
{
@@ -42,6 +47,8 @@ class PlayState extends FlxState
strumLine = new FlxSprite(0, 50).makeGraphic(FlxG.width, 10);
add(strumLine);
+ FlxG.worldBounds.set(0, 0, FlxG.width, FlxG.height);
+
super.create();
}
@@ -70,6 +77,9 @@ class PlayState extends FlxState
for (songNotes in dumbassSection)
{
+ sectionScores[0].push(0);
+ sectionScores[1].push(0);
+
if (songNotes != 0)
{
var daStrumTime:Float = (((daStep * Conductor.stepCrochet) + (Conductor.crochet * 8 * daBeats))
@@ -83,14 +93,16 @@ class PlayState extends FlxState
{
swagNote.mustPress = true;
}
+ else
+ {
+ sectionScores[0][daBeats] += swagNote.noteScore;
+ }
if (notes.members.length > 0)
swagNote.prevNote = notes.members[notes.members.length - 1];
else
swagNote.prevNote = swagNote;
- trace(notes.members.length - 1);
-
notes.add(swagNote);
}
@@ -106,6 +118,8 @@ class PlayState extends FlxState
var bouncingSprite:FlxSprite;
+ var sectionScored:Bool = false;
+
override public function update(elapsed:Float)
{
super.update(elapsed);
@@ -113,8 +127,17 @@ class PlayState extends FlxState
Conductor.songPosition = FlxG.sound.music.time;
var playerTurn:Int = totalBeats % 8;
+ if (playerTurn == 7 && !sectionScored)
+ {
+ popUpScore();
+ sectionScored = true;
+ }
+
if (playerTurn < 4)
+ {
bouncingSprite = dad;
+ sectionScored = false;
+ }
else
bouncingSprite = boyfriend;
@@ -139,6 +162,25 @@ class PlayState extends FlxState
keyShit();
}
+ private function popUpScore():Void
+ {
+ var placement:String = sectionScores[1][curSection] + '/' + sectionScores[0][curSection];
+ var coolText:FlxText = new FlxText(0, 0, 0, placement, 32);
+ coolText.screenCenter();
+ coolText.x = FlxG.width * 0.75;
+ add(coolText);
+
+ FlxTween.tween(coolText, {alpha: 0}, 0.2, {
+ onComplete: function(tween:FlxTween)
+ {
+ coolText.kill();
+ },
+ startDelay: Conductor.crochet * 0.001
+ });
+
+ curSection += 1;
+ }
+
function keyShit():Void
{
// HOLDING
@@ -162,19 +204,15 @@ class PlayState extends FlxState
{
// NOTES YOU ARE HOLDING
case -1:
- trace(daNote.prevNote.wasGoodHit);
if (up && daNote.prevNote.wasGoodHit)
goodNoteHit(daNote);
case -2:
- trace(daNote.prevNote.wasGoodHit);
if (right && daNote.prevNote.wasGoodHit)
goodNoteHit(daNote);
case -3:
- trace(daNote.prevNote.wasGoodHit);
if (down && daNote.prevNote.wasGoodHit)
goodNoteHit(daNote);
case -4:
- trace(daNote.prevNote.wasGoodHit);
if (left && daNote.prevNote.wasGoodHit)
goodNoteHit(daNote);
case 1: // NOTES YOU JUST PRESSED
@@ -202,7 +240,11 @@ class PlayState extends FlxState
function goodNoteHit(note:Note):Void
{
- note.wasGoodHit = true;
+ if (!note.wasGoodHit)
+ {
+ sectionScores[1][curSection] += note.noteScore;
+ note.wasGoodHit = true;
+ }
}
function everyBeat():Void