1
0
mirror of https://github.com/JohnBreaux/Boat-Battle.git synced 2025-02-04 12:28:35 +00:00
tommy-l-ngo 06b8711a08
Game logic (#14)
* Create game classes

* Pushing what I've done of the game logic.

* Commented my code

Deals with ship placement on board and ship rotation on board

* Comment game logic code, and edit for style.

* Added Clear board button and Confirm Placement button

* Fix up some stuff

* Pass

* I accidentally the buttons + Fix some hitbox mistakes.

* Improve hitbox leniency, and don't allow ships to rotate into each other.

* Fixed Dialog Box that pops up for Confirm Placement

* Update Gameplay.tscn

* Partial fire functionality added.

Currently hides all ship placement UI and makes visible all fire functionality. The crosshair currently does not snap to a grid. The ships are saved in an area of location objects holding the length, orientation, and coordinates of the ship.

* Crosshair now snaps into place

* Created Sprites for 2Ship and 3ShipA

* Created Sprite for Ship3B

* Created Sprite for Ship4

* Created Sprite for Ship5

* Created Sprite for "Hit"

* Created Sprites for Ship2 Destroyed and Ship3A Destroyed

* Created Sprite for Ship3B Destroyed

* Created Sprite for Ship4 Destroyed

* Created Sprite for Ship5 Destroyed

* Created Sprite for "Miss"

* Fixed blurry pixel art

Changed texture rendering

* Added temporary title screen text

* Major restructuring to better support object-oriented design of the main game logic and UI. This was necessary, I swear.

* Accidentally offset the Setup menu by a handful of pixels. Whoops.

* Setup: remove unused signal

* Comment on which parts of Game are only there for testing purposes.

* Fixed up the Title Screen text

imported font

* Fixed Crosshair pixel rendering

* Consolidate backgrounds

* Added more SFX sounds

* Created Sprite for Light Mode

* Fix null deref when entering singleplayer after exiting multiplayer

* Hien's work

* Revert "Hien's work"

This reverts commit f099ed6c80175f597a5a1a71bef1d634c6d932c7.

* Stuff

* Make git happy by pushing gdengine imports

* Put Background in main

* Removed option background

* Added Confirmation Dialog for Forfeit

* Revert "Merge branch 'game-logic' of https://github.com/StatewideInk/Group12 into game-logic"

This reverts commit 104ffaab0a49438cf29722578d47e7637dce58fb, reversing
changes made to 63dec75688ca8a81becafa8b9805a2bc030e1414.

* Fix title screen never going (whoops

* Oops I made the background invisible

* removed option background again

* Added dark/light mode functionality

* Added signal for audio SFX

* Load the theme on startup

* Added Confirmation dialog for Forfeit

* Fixed Texture Rendering for Light Mode Background

* Sounds no longer scale linearly

* Remove unused resourse main.tres

* 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.

* restart button is invisible

Co-authored-by: John Breaux <JohnBreaux@my.unt.edu>
Co-authored-by: JohnBreaux <89870642+JohnBreaux@users.noreply.github.com>
Co-authored-by: hpham474 <HienPham@my.unt.edu>
Co-authored-by: Chance Atkinson <chancewatkinson@gmail.com>
2021-11-14 00:43:05 -06:00

109 lines
3.0 KiB
Plaintext

[gd_scene load_steps=8 format=2]
[ext_resource path="res://assets/game/board_blue.png" type="Texture" id=1]
[ext_resource path="res://scenes/ships/3ShipB.tscn" type="PackedScene" id=4]
[ext_resource path="res://scenes/ships/3shipA.tscn" type="PackedScene" id=5]
[ext_resource path="res://scenes/ships/4Ship.tscn" type="PackedScene" id=6]
[ext_resource path="res://scenes/ships/5Ship.tscn" type="PackedScene" id=7]
[ext_resource path="res://scenes/ships/2Ship.tscn" type="PackedScene" id=8]
[ext_resource path="res://script/game/Setup.gd" type="Script" id=10]
[node name="Setup" type="Control"]
anchor_top = 0.00123732
anchor_right = 1.0
anchor_bottom = 0.890237
margin_top = -0.445435
margin_bottom = 39.5145
mouse_filter = 2
script = ExtResource( 10 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="board_blue" type="Sprite" parent="."]
position = Vector2( 18, 18 )
texture = ExtResource( 1 )
centered = false
__meta__ = {
"_edit_lock_": true
}
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."]
margin_left = 199.156
margin_top = 155.6
margin_right = 458.156
margin_bottom = 225.6
rect_min_size = Vector2( 150, 52.5 )
window_title = "Are you sure you'd like to forfeit?"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="2Ship" parent="." instance=ExtResource( 8 )]
position = Vector2( 490.802, 90.7151 )
collision_layer = 3
contacts_reported = 1
contact_monitor = true
[node name="3ShipA" parent="." instance=ExtResource( 5 )]
position = Vector2( 429.236, 124.21 )
collision_layer = 3
contacts_reported = 1
contact_monitor = true
[node name="3ShipB" parent="." instance=ExtResource( 4 )]
position = Vector2( 427.216, 248.865 )
collision_layer = 3
contacts_reported = 1
contact_monitor = true
[node name="4Ship" parent="." instance=ExtResource( 6 )]
position = Vector2( 491.911, 217.599 )
collision_layer = 3
contacts_reported = 1
contact_monitor = true
[node name="5Ship" parent="." instance=ExtResource( 7 )]
position = Vector2( 557.096, 213.864 )
collision_layer = 3
contacts_reported = 1
contact_monitor = true
[node name="Confirm Placement" type="Button" parent="."]
margin_left = 409.0
margin_top = 331.0
margin_right = 543.0
margin_bottom = 351.0
text = "Confirm Placement"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Clear" type="Button" parent="."]
margin_left = 353.0
margin_top = 331.0
margin_right = 406.0
margin_bottom = 351.0
text = "Clear"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="PlaceShipDialog" type="AcceptDialog" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -179.0
margin_top = -29.0
margin_right = 179.0
margin_bottom = 29.0
dialog_text = "You can't confirm placement until all ships are placed"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="about_to_show" from="ConfirmationDialog" to="." method="_on_ConfirmationDialog_about_to_show"]
[connection signal="pressed" from="Confirm Placement" to="." method="_on_Confirm_Placement_pressed"]
[connection signal="pressed" from="Clear" to="." method="_on_Clear_pressed"]