aboutsummaryrefslogtreecommitdiffstats
path: root/godot/scenes/Game.gd
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--godot/scenes/Game.gd42
1 files changed, 40 insertions, 2 deletions
diff --git a/godot/scenes/Game.gd b/godot/scenes/Game.gd
index 56456c0..fef2cc8 100644
--- a/godot/scenes/Game.gd
+++ b/godot/scenes/Game.gd
@@ -1,7 +1,7 @@
extends Spatial
const NUM_LEVELS = 9
-const PAR = [1,2,3,4,5,6,7,8,9]
+const PAR = [5,2,3,4,5,6,7,8,9]
# level control
var current_level_id = 0
@@ -19,6 +19,8 @@ func _ready():
current_strokes = 0
levels[0].show()
+
+ $JinglePlayer.stream.loop_mode = AudioStreamSample.LOOP_DISABLED
# Called every frame. 'delta' is the elapsed time since the previous frame.
@@ -47,7 +49,10 @@ func _on_MainMenuButton_pressed():
func end_level():
- open_scoreboard()
+ open_scoreboard()
+ evaluate_player(current_strokes, PAR[current_level_id])
+ $BGMPLayer.stream_paused = true
+ $JinglePlayer.play()
post_game = true
@@ -89,3 +94,36 @@ func next_level():
levels[current_level_id].show()
close_scoreboard()
+ $Evaluation.hide()
+
+ $BGMPLayer.stream_paused = false
+ $JinglePlayer.stop()
+
+
+func evaluate_player(strokes, par):
+ if strokes <= 1:
+ $Evaluation/EvaluationLabel.text = "HOLE IN ONE"
+ $Evaluation.show()
+ return
+
+ var diff = strokes - par
+ if diff < -2:
+ $Evaluation/EvaluationLabel.text = "%d" % diff
+ elif diff == -2:
+ $Evaluation/EvaluationLabel.text = "EAGLE"
+ elif diff == -1:
+ $Evaluation/EvaluationLabel.text = "BIRDIE"
+ elif diff == 0:
+ $Evaluation/EvaluationLabel.text = "PAR"
+ elif diff == 1:
+ $Evaluation/EvaluationLabel.text = "BOGEY"
+ elif diff == 2:
+ $Evaluation/EvaluationLabel.text = "DOUBLE BOGEY"
+ else:
+ $Evaluation/EvaluationLabel.text = "+ %d" % diff
+
+ $Evaluation.show()
+
+
+func _on_JinglePlayer_finished():
+ $BGMPLayer.stream_paused = false