basically done

This commit is contained in:
Tabby 2025-04-20 21:24:12 +10:00
parent 064428adcf
commit 3e6fa5ff78
5 changed files with 51 additions and 7 deletions

View file

@ -1,10 +1,12 @@
[gd_scene load_steps=19 format=3 uid="uid://jo1lu66y1gx6"]
[gd_scene load_steps=21 format=3 uid="uid://jo1lu66y1gx6"]
[ext_resource type="Texture2D" uid="uid://i348o6hqw2dn" path="res://sprites/44389.png" id="1_e2o6t"]
[ext_resource type="Script" uid="uid://5qnvkmmtxsw2" path="res://gameManager.gd" id="1_feb5d"]
[ext_resource type="AudioStream" uid="uid://cyyivtye4ngmt" path="res://music/90. Multiplayer Results - Win.mp3" id="3_eow3j"]
[ext_resource type="AudioStream" uid="uid://ck06glyqpqy3n" path="res://Battle Mode - Mario Kart DS OST Extended.mp3" id="3_feb5d"]
[ext_resource type="AudioStream" uid="uid://igps611ecoc" path="res://0014.wav" id="4_fc0e3"]
[ext_resource type="AudioStream" uid="uid://xnhjht3k7qvd" path="res://music/intro.mp3" id="5_7jktm"]
[ext_resource type="AudioStream" uid="uid://b7v7bcgp3iu8u" path="res://music/85. Battle Flyover.mp3" id="7_j5wjh"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_feb5d"]
size = Vector2(16, 254)
@ -45,7 +47,7 @@ font_color = Color(0.481789, 0.481789, 0.481789, 1)
[sub_resource type="CircleShape2D" id="CircleShape2D_7jktm"]
radius = 3.0
[node name="Game" type="Node2D" node_paths=PackedStringArray("player_spawns_nodes", "starting_shine_nodes", "shine_nodes", "scorecard_container", "elim_timer_label", "game_timer_label", "chime_player", "music_player")]
[node name="Game" type="Node2D" node_paths=PackedStringArray("player_spawns_nodes", "starting_shine_nodes", "shine_nodes", "scorecard_container", "elim_timer_label", "game_timer_label", "chime_player", "music_player", "win_player", "flyover_player", "intro_player", "start_button")]
script = ExtResource("1_feb5d")
max_shinies = 100
player_spawns_nodes = NodePath("PlayerSpawns")
@ -56,6 +58,10 @@ elim_timer_label = NodePath("GameUI/ElimTimer")
game_timer_label = NodePath("GameUI/GameTimer")
chime_player = NodePath("Chimer")
music_player = NodePath("MusicPlayer")
win_player = NodePath("WinMusic")
flyover_player = NodePath("Flyover")
intro_player = NodePath("IntroPlayer")
start_button = NodePath("GameUI/Button")
[node name="Sprite2D" type="Sprite2D" parent="."]
texture_filter = 1
@ -313,6 +319,14 @@ text = "Scoreboard"
[node name="scorecard_container" type="VBoxContainer" parent="GameUI/Scoreboard/VBoxContainer"]
layout_mode = 2
[node name="Button" type="Button" parent="GameUI"]
layout_mode = 0
offset_left = 132.0
offset_top = 97.0
offset_right = 228.0
offset_bottom = 128.0
text = "Start Game"
[node name="PlayerSpawns" type="Node2D" parent="."]
[node name="Point" type="CollisionShape2D" parent="PlayerSpawns"]
@ -439,6 +453,10 @@ position = Vector2(-67, 0)
shape = SubResource("CircleShape2D_7jktm")
debug_color = Color(0.623589, 0.532808, 0, 0.42)
[node name="WinMusic" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_eow3j")
volume_db = -19.083
[node name="MusicPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_feb5d")
volume_db = -20.0
@ -450,6 +468,11 @@ stream = ExtResource("4_fc0e3")
[node name="IntroPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("5_7jktm")
volume_db = -18.128
[node name="Flyover" type="AudioStreamPlayer" parent="."]
stream = ExtResource("7_j5wjh")
volume_db = -20.037
autoplay = true
[connection signal="pressed" from="GameUI/Button" to="." method="_on_start_button_pressed"]
[connection signal="finished" from="IntroPlayer" to="." method="_on_intro_player_finished"]

View file

@ -23,6 +23,10 @@ var players : Array[Player]
@export var game_timer_label : Label
@export var chime_player : AudioStreamPlayer
@export var music_player : AudioStreamPlayer
@export var win_player : AudioStreamPlayer
@export var flyover_player : AudioStreamPlayer
@export var intro_player : AudioStreamPlayer
@export var start_button : Button
var state : State = State.prep
var game_timer : float = 0
@ -92,7 +96,7 @@ func _process(delta: float) -> void:
chime_player.play(0.9)
func elim_players():
var lowestScore : int = 10
var lowestScore : int = 99999
var highestScore : int = 0
for player in players:
if player.score < lowestScore and player.alive:
@ -104,6 +108,16 @@ func elim_players():
player.alive = false
elim_timer = 30
play_next_chime = 5
check_win_con()
func check_win_con():
var gamers : int = 0
for player in players:
if player.alive:
gamers += 1
if gamers == 1:
music_player.stop()
win_player.play()
func update_ui():
elim_timer_label.text = format_time(elim_timer, false)
@ -129,5 +143,12 @@ func _on_intro_player_finished() -> void:
state = State.game
music_player.play()
for player in players:
player.lifetime = 0
player.start_engine()
func _on_start_button_pressed() -> void:
flyover_player.stop()
intro_player.play()
start_button.disabled = true

View file

@ -34,8 +34,8 @@ func _process(delta: float) -> void:
scorecard.score = score
scorecard.alive = alive
lifetime += delta
if(linear_velocity.length() < 35 and lifetime > 10):
linear_velocity *= 1.1
if(linear_velocity.length() < 50 and lifetime > 5):
linear_velocity *= 1.4
if(not alive):
modulate = Color("ffffff42")
contact_monitor = false

View file

@ -17,7 +17,7 @@ config/icon="res://icon.svg"
[display]
window/stretch/mode="viewport"
window/stretch/mode="canvas_items"
[global_group]

View file

@ -4,7 +4,7 @@
[ext_resource type="Texture2D" uid="uid://1ylm3yb3weq8" path="res://sprites/shiny.png" id="1_0iabg"]
[sub_resource type="CircleShape2D" id="CircleShape2D_yl8uo"]
radius = 6.0
radius = 2.0
[sub_resource type="CircleShape2D" id="CircleShape2D_0cndc"]
radius = 7.0