diff --git a/FlashText.gd b/FlashText.gd index f54042b..07f4077 100644 --- a/FlashText.gd +++ b/FlashText.gd @@ -4,7 +4,7 @@ var texts = PoolStringArray() func print(text): texts.append(text) - if texts.size() > 5: + if texts.size() > 4: texts.remove(0) $Label.text = texts.join("\n") $AnimationPlayer.play("Flash") diff --git a/Main.gd b/Main.gd index 2cf59cb..98a7b8d 100644 --- a/Main.gd +++ b/Main.gd @@ -21,7 +21,7 @@ const movements = { var random_bag = [] -var next_piece = random_piece() +var next_piece var current_piece var held_piece var current_piece_held = false @@ -50,10 +50,10 @@ func _ready(): func new_game(): $Stats.visible = true - $Stats.new_game() + next_piece = random_piece() new_piece() + $Stats.new_game() resume() - $Stats.new_level() func new_piece(): current_piece = next_piece @@ -173,7 +173,6 @@ func resume(): current_piece.visible = true if held_piece: held_piece.visible = true - $FlashText.print("GO!") func pause(text = "PAUSE"): playing = false diff --git a/Main.tscn b/Main.tscn index 4ebacef..d84b2d7 100644 --- a/Main.tscn +++ b/Main.tscn @@ -373,7 +373,9 @@ autostart = false [node name="MidiPlayer" parent="." index="10" instance=ExtResource( 5 )] script = ExtResource( 6 ) +file = "res://midi/Tetris - Song A.mid" loop_start = 1.81 +soundfont = "res://midi/TimGM6mb.sf2" [node name="LineCLearTimer" type="Timer" parent="MidiPlayer" index="1"] diff --git a/MidiPlayer.gd b/MidiPlayer.gd index 883c34f..8d6eb54 100644 --- a/MidiPlayer.gd +++ b/MidiPlayer.gd @@ -16,4 +16,4 @@ func _on_Main_piece_locked(lines, t_spin): $LineCLearTimer.start() func _on_LineCLearTimer_timeout(): - mute_channels(LINE_CLEAR_MIDI_CHANNELS + mute_channels(LINE_CLEAR_MIDI_CHANNELS) diff --git a/Stats.gd b/Stats.gd index 69d2cba..ffd6b7f 100644 --- a/Stats.gd +++ b/Stats.gd @@ -38,13 +38,14 @@ func new_game(): score = 0 time = 0 combos = -1 + new_level() func new_level(): level += 1 goal += 5 * level $HBC/VBC1/Level.text = str(level) $HBC/VBC1/Goal.text = str(goal) - emit_signal("flash_text", "Level\n%d"%$level) + emit_signal("flash_text", "Level\n%d"%level) emit_signal("level_up") func _on_Clock_timeout(): @@ -63,17 +64,18 @@ func _notification(what): save_game.close() get_tree().quit() -func _on_Main_piece_dropped(score): - score += lines +func _on_Main_piece_dropped(ds): + score += ds $HBC/VBC1/Score.text = str(score) func _on_Main_piece_locked(lines, t_spin): + var ds if lines or t_spin: if t_spin: - $FlashText.print(T_SPIN_NAMES[current_piece.t_spin]) + emit_signal("flash_text", T_SPIN_NAMES[t_spin]) if lines: - $FlashText.print(LINES_CLEARED_NAMES[lines_cleared]) - var ds = SCORES[lines_cleared][current_piece.t_spin] + emit_signal("flash_text", LINES_CLEARED_NAMES[lines]) + ds = SCORES[lines][t_spin] goal -= ds $HBC/VBC1/Goal.text = str(goal) ds *= 100 @@ -87,13 +89,15 @@ func _on_Main_piece_locked(lines, t_spin): if lines: combos += 1 if combos > 0: - score += (20 if lines==1 else 50) * combos * level - $HBC/VBC1/Score.text = str(score) - if $Stats.combos == 1: + if combos == 1: emit_signal("flash_text", "COMBO") else: - emit_signal("flash_text", "COMBO x%d"%$Stats.combos) + emit_signal("flash_text", "COMBO x%d"%combos) + ds = (20 if lines==1 else 50) * combos * level + emit_signal("flash_text", str(ds)) + score += ds + $HBC/VBC1/Score.text = str(score) else: - $Stats.combos = -1 - if $Stats.goal <= 0: + combos = -1 + if goal <= 0: new_level() diff --git a/midi/MidiPlayer.gd b/midi/MidiPlayer.gd index c229db0..e0fb259 100644 --- a/midi/MidiPlayer.gd +++ b/midi/MidiPlayer.gd @@ -421,4 +421,4 @@ func unmute_channels(channels): for channel_id in channels: channel_mute[channel_id] = false for note in muted_events[channel_id]: - _process_track_event_note_on(channel_status[channel_id], muted_events[channel_id][note])) + _process_track_event_note_on(channel_status[channel_id], muted_events[channel_id][note])