1
0
mirror of https://github.com/JohnBreaux/Boat-Battle.git synced 2024-11-15 13:25:58 +00:00
Boat-Battle/godot_ship/script/game/Gameplay/Game.gd
Chance Atkinson b69cc01be2 Added victory screen
Added a victory screen. Since there is no current way to win, there is a 'win' button added to the top left of the game screen. Once clicked, victory text will appear and the player will be given the option to return to the main menu.
2021-11-14 00:34:51 -06:00

71 lines
2.0 KiB
GDScript

extends Node
class ShipData:
var Coor: Vector2
var Length: int
var Orientation: bool #vertical is true, (Trueship = vertical) (Falseship = horizontal)
# Preloaded assets, to be used later
# TODO: Move Setup into the Player. It's just here, for now, so that it can be tested and the game doesn't appear broken
onready var Setup = preload("res://scenes/Game/Setup.tscn")
# TODO: Move Fire into the Player. See above.
onready var Fire = preload("res://scenes/Game/Fire.tscn")
# Path to Player class, for instantiating new Players in code
onready var Player = preload("res://scenes/Game/Player.tscn")
onready var Victory = preload("res://scenes/Game/Victory.tscn")
# Array of instances of the Player class; stores the Players
var players # = player1, player2, ...
# turn counter
var turn = 0
# Variable transporting hit state between players
var hit = false
# Variable tracking whether a game is multiplayer (so that the correct Player type can be spawned)
# TODO: Multiplayer
var is_multiplayer = false
# Called when the node enters the scene tree for the first time.
func _ready():
# TODO: Move Setup into the Player.
var setup = Setup.instance()
setup.connect("game_ready", self, "game_setup")
add_child(setup)
# TODO: Move Setup into the Player.
func game_setup(_ships):
print_debug("Congrats! Setup complete.")
# TODO: Move Fire into the Player.
add_child(Fire.instance())
# Member functions:
# game_start: starts the game
func game_start():
pass
# victory_screen: display the victory screen
func victory_screen():
# TODO: Create the victory screen, fill it with knowledge
pass
# display_turn(): display which turn it is on the screen
func display_turn():
# TODO: Update the turn display, if there is one?
pass
func _on_Forfeit_pressed():
AudioBus.emit_signal("button_clicked")
end()
func end():
queue_free()
func _on_Button_button_down():
AudioBus.emit_signal("button_clicked")
var victory = Victory.instance()
add_child(victory)
victory.connect("exit_main", self, "end")