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>
@ -0,0 +1,3 @@
|
||||
source_md5="b036b8f385ad112e84a3fc1fd979a64d"
|
||||
dest_md5="011d0a786d919144661c98365d2a2849"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="93d12a91530823316b4ea1a0017d7ffc"
|
||||
dest_md5="96c4f77779707c70d2aade14e588fd60"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="9851fdcd4e3e392cd9108e0ca5cda633"
|
||||
dest_md5="4ef99e0b7c006730df94a3ba8e8b61c4"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="59070c4ec859bac83324d081f7bc7fce"
|
||||
dest_md5="28c2370a63fa10aa2964118063095da0"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="981973bd65846a8aa0b6cdaf90b7d8e7"
|
||||
dest_md5="4fff7820ce95350d0c7eac5e6e5d8310"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="b24ae375fc3e444bb3b893dd4fa081c9"
|
||||
dest_md5="4da9fc0a51c5baaf5ce99f822e2ccf4b"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="611b7d43c6690e48e4f1a7c1b3304738"
|
||||
dest_md5="825663500e46723735569e6cd71245f5"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="1d6228ffb0d2ea2aa0e22c3f58bbe4fa"
|
||||
dest_md5="afaef7c4779eef6d0254b50d8f875dc5"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="dd0aa67efe22d26c04757928ec2b2822"
|
||||
dest_md5="85b500eeadf9068df9f503ca7b8eaef2"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="138929229182774ac17e092717625524"
|
||||
dest_md5="4abf17415a8fd06eeb2ef60cfb9581ba"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="c6a71a262b65376a91110c8262cb5c47"
|
||||
dest_md5="41cb23a281873e90513d7bb692291714"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="a88d669f1f058a347cc4de2244bac64b"
|
||||
dest_md5="1073062c6e594eff250036d7489d44a7"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="def9518adb67248106449930ecafbf56"
|
||||
dest_md5="b1f6910cd5bbb4c510a140a0147c5476"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="d7fa4a808d473904c3043c7892700d02"
|
||||
dest_md5="603497c5e82c90610e6693faacd65c41"
|
||||
|
BIN
godot_ship/.import/Hit.png-17e3984e00632881a34870756ffe8c73.stex
Normal file
@ -0,0 +1,3 @@
|
||||
source_md5="99d0fd86ad7b4b502e9c3b71719fc7c7"
|
||||
dest_md5="1c78fc49829e63a270e971f0d6ec7afd"
|
||||
|
BIN
godot_ship/.import/Hit.png-30856058168b013ca9959912101c2c87.stex
Normal file
@ -0,0 +1,3 @@
|
||||
source_md5="d7fa4a808d473904c3043c7892700d02"
|
||||
dest_md5="603497c5e82c90610e6693faacd65c41"
|
||||
|
BIN
godot_ship/.import/Hit.png-87d7e3b710f3d0b308b047fd65cd9a0a.stex
Normal file
@ -0,0 +1,3 @@
|
||||
source_md5="aa361943427692c39cd21430895a1f89"
|
||||
dest_md5="71290af628a880e44134b3636fc49535"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="7db22073ddecad057e2516a409e715e9"
|
||||
dest_md5="7831bb54cb10c5c9023e7f33bc355eff"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="4121e74ab010d628490c26ed5391a8f1"
|
||||
dest_md5="8556f1ced20c3b073ae4fcb8a300e349"
|
||||
|
@ -1,3 +1,3 @@
|
||||
source_md5="a88d669f1f058a347cc4de2244bac64b"
|
||||
dest_md5="1073062c6e594eff250036d7489d44a7"
|
||||
dest_md5="1ed8fab74f35d40e257776b2eab84c5f"
|
||||
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="f6d6cf59e576f46ace6228c7c6fbcd43"
|
||||
dest_md5="847ce85590ffc54d7107d859e3aedafc"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="d71fa2832e0ad78e94bbd353bc53c2bf"
|
||||
dest_md5="e694209bc2af13019893f9a931b65aae"
|
||||
|
@ -1,3 +1,3 @@
|
||||
source_md5="a88d669f1f058a347cc4de2244bac64b"
|
||||
dest_md5="1073062c6e594eff250036d7489d44a7"
|
||||
dest_md5="1ed8fab74f35d40e257776b2eab84c5f"
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
source_md5="b92638ab580fe79d74bb8107654c3251"
|
||||
dest_md5="63739009bf08a9c44da9311804dd83ec"
|
||||
dest_md5="17edee549d78810f083297a469b16f26"
|
||||
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="a88d669f1f058a347cc4de2244bac64b"
|
||||
dest_md5="1073062c6e594eff250036d7489d44a7"
|
||||
|
@ -0,0 +1,3 @@
|
||||
source_md5="679a219fb184d568adf29ad2c7caa3c2"
|
||||
dest_md5="91aa89d551b22c26e3abc14f2a044464"
|
||||
|
BIN
godot_ship/assets/audio/HitSFX.ogg
Normal file
15
godot_ship/assets/audio/HitSFX.ogg.import
Normal file
@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="ogg_vorbis"
|
||||
type="AudioStreamOGGVorbis"
|
||||
path="res://.import/HitSFX.ogg-93a1e93085ac0a2fc2e723f5d44a2ca9.oggstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/HitSFX.ogg"
|
||||
dest_files=[ "res://.import/HitSFX.ogg-93a1e93085ac0a2fc2e723f5d44a2ca9.oggstr" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
BIN
godot_ship/assets/audio/MissSFX.ogg
Normal file
15
godot_ship/assets/audio/MissSFX.ogg.import
Normal file
@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="ogg_vorbis"
|
||||
type="AudioStreamOGGVorbis"
|
||||
path="res://.import/MissSFX.ogg-d7b93821aa1c2b607fa4dc4bb3561322.oggstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/MissSFX.ogg"
|
||||
dest_files=[ "res://.import/MissSFX.ogg-d7b93821aa1c2b607fa4dc4bb3561322.oggstr" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
BIN
godot_ship/assets/audio/SunkSFX.ogg
Normal file
15
godot_ship/assets/audio/SunkSFX.ogg.import
Normal file
@ -0,0 +1,15 @@
|
||||
[remap]
|
||||
|
||||
importer="ogg_vorbis"
|
||||
type="AudioStreamOGGVorbis"
|
||||
path="res://.import/SunkSFX.ogg-52b6d419298328defecfc61b6c15659d.oggstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/audio/SunkSFX.ogg"
|
||||
dest_files=[ "res://.import/SunkSFX.ogg-52b6d419298328defecfc61b6c15659d.oggstr" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/3longShipBS.png-16d8048d7e635bcebbedc6038f4faaa5.stex"
|
||||
path="res://.import/Background_Dark.png-f04f9416ce96aca35dfd0f16063b0d5b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/3longShipBS.png"
|
||||
dest_files=[ "res://.import/3longShipBS.png-16d8048d7e635bcebbedc6038f4faaa5.stex" ]
|
||||
source_file="res://assets/backgrounds/Background_Dark.png"
|
||||
dest_files=[ "res://.import/Background_Dark.png-f04f9416ce96aca35dfd0f16063b0d5b.stex" ]
|
||||
|
||||
[params]
|
||||
|
BIN
godot_ship/assets/backgrounds/Background_Light.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
34
godot_ship/assets/backgrounds/Background_Light.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Background_Light.png-3684b7dcc3b1fd645e9fff4401113c01.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/backgrounds/Background_Light.png"
|
||||
dest_files=[ "res://.import/Background_Light.png-3684b7dcc3b1fd645e9fff4401113c01.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/font/Minecraft.ttf
Normal file
BIN
godot_ship/assets/game/2Ship.png
Normal file
After Width: | Height: | Size: 968 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/2longShipS.png-801d61680041dba5398a94c57d0e9262.stex"
|
||||
path="res://.import/2Ship.png-f56f600f71c287a0900c4554ec6e9837.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/2longShipS.png"
|
||||
dest_files=[ "res://.import/2longShipS.png-801d61680041dba5398a94c57d0e9262.stex" ]
|
||||
source_file="res://assets/game/2Ship.png"
|
||||
dest_files=[ "res://.import/2Ship.png-f56f600f71c287a0900c4554ec6e9837.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
@ -20,7 +20,7 @@ compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
@ -30,5 +30,5 @@ process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/2Ship_Destroyed.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
34
godot_ship/assets/game/2Ship_Destroyed.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/2Ship_Destroyed.png-3b174719764d2b2b3ae9a0fec7d0ff67.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/2Ship_Destroyed.png"
|
||||
dest_files=[ "res://.import/2Ship_Destroyed.png-3b174719764d2b2b3ae9a0fec7d0ff67.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 8.9 KiB |
BIN
godot_ship/assets/game/3ShipA.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/4longShipS.png-8dc80f51885d7a7242ed523ee285aaa0.stex"
|
||||
path="res://.import/3ShipA.png-1fe0003af4adcd83b8c94b2b9d6e5b6d.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/4longShipS.png"
|
||||
dest_files=[ "res://.import/4longShipS.png-8dc80f51885d7a7242ed523ee285aaa0.stex" ]
|
||||
source_file="res://assets/game/3ShipA.png"
|
||||
dest_files=[ "res://.import/3ShipA.png-1fe0003af4adcd83b8c94b2b9d6e5b6d.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
@ -20,7 +20,7 @@ compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
@ -30,5 +30,5 @@ process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/3ShipA_Destroyed.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
34
godot_ship/assets/game/3ShipA_Destroyed.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/3ShipA_Destroyed.png-95908b7b74da915910232dfaef45af1c.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/3ShipA_Destroyed.png"
|
||||
dest_files=[ "res://.import/3ShipA_Destroyed.png-95908b7b74da915910232dfaef45af1c.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/3ShipB.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/3longShipAS.png-c88b2d866e65fe50f618c22da6c0a5d4.stex"
|
||||
path="res://.import/3ShipB.png-28ed039caa6839d715648812af8f65e4.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/3longShipAS.png"
|
||||
dest_files=[ "res://.import/3longShipAS.png-c88b2d866e65fe50f618c22da6c0a5d4.stex" ]
|
||||
source_file="res://assets/game/3ShipB.png"
|
||||
dest_files=[ "res://.import/3ShipB.png-28ed039caa6839d715648812af8f65e4.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
@ -20,7 +20,7 @@ compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
@ -30,5 +30,5 @@ process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/3ShipB_Destroyed.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
34
godot_ship/assets/game/3ShipB_Destroyed.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/3ShipB_Destroyed.png-78d0de82a039cc20026f662e8052d260.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/3ShipB_Destroyed.png"
|
||||
dest_files=[ "res://.import/3ShipB_Destroyed.png-78d0de82a039cc20026f662e8052d260.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 10 KiB |
BIN
godot_ship/assets/game/4Ship.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
34
godot_ship/assets/game/4Ship.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/4Ship.png-1102455fdea5ccc9870ef475ee45f60a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/4Ship.png"
|
||||
dest_files=[ "res://.import/4Ship.png-1102455fdea5ccc9870ef475ee45f60a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/4Ship_Destroyed.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
34
godot_ship/assets/game/4Ship_Destroyed.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/4Ship_Destroyed.png-acd8cae1448d0240f60f78c6681833bd.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/4Ship_Destroyed.png"
|
||||
dest_files=[ "res://.import/4Ship_Destroyed.png-acd8cae1448d0240f60f78c6681833bd.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 12 KiB |
BIN
godot_ship/assets/game/5Ship.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
34
godot_ship/assets/game/5Ship.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/5Ship.png-78bcea6c287110425f92a7d06eaf0b2b.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/5Ship.png"
|
||||
dest_files=[ "res://.import/5Ship.png-78bcea6c287110425f92a7d06eaf0b2b.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/5Ship_Destroyed.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
34
godot_ship/assets/game/5Ship_Destroyed.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/5Ship_Destroyed.png-26b685facbe48d12dffaa45c142d98de.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/5Ship_Destroyed.png"
|
||||
dest_files=[ "res://.import/5Ship_Destroyed.png-26b685facbe48d12dffaa45c142d98de.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
Before Width: | Height: | Size: 13 KiB |
BIN
godot_ship/assets/game/Hit.png
Normal file
After Width: | Height: | Size: 576 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/5longShipS.png-9d546ec87dabd586e250ea5c5229aa8f.stex"
|
||||
path="res://.import/Hit.png-87d7e3b710f3d0b308b047fd65cd9a0a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/5longShipS.png"
|
||||
dest_files=[ "res://.import/5longShipS.png-9d546ec87dabd586e250ea5c5229aa8f.stex" ]
|
||||
source_file="res://assets/game/Hit.png"
|
||||
dest_files=[ "res://.import/Hit.png-87d7e3b710f3d0b308b047fd65cd9a0a.stex" ]
|
||||
|
||||
[params]
|
||||
|
BIN
godot_ship/assets/game/Miss.png
Normal file
After Width: | Height: | Size: 379 B |
34
godot_ship/assets/game/Miss.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/Miss.png-ddfb2f437f6e39c5895f51ba5ab8423e.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/Miss.png"
|
||||
dest_files=[ "res://.import/Miss.png-ddfb2f437f6e39c5895f51ba5ab8423e.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
BIN
godot_ship/assets/game/RedCrosshair.png
Normal file
After Width: | Height: | Size: 237 B |
34
godot_ship/assets/game/RedCrosshair.png.import
Normal file
@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/RedCrosshair.png-ed59a214d85db7c21233257c8daddbef.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/game/RedCrosshair.png"
|
||||
dest_files=[ "res://.import/RedCrosshair.png-ed59a214d85db7c21233257c8daddbef.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
@ -20,7 +20,7 @@ compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
@ -30,5 +30,5 @@ process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
detect_3d=false
|
||||
svg/scale=1.0
|
||||
|
1252
godot_ship/main.tres
@ -16,8 +16,8 @@ config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
MessageBus="*res://script/game/Message Bus.gd"
|
||||
AudioBus="*res://script/game/Audio Bus.gd"
|
||||
MessageBus="*res://script/Message Bus.gd"
|
||||
AudioBus="*res://script/audio controller/Audio Bus.gd"
|
||||
OptionsController="*res://script/options/OptionsController.gd"
|
||||
AudioController="*res://scenes/AudioController.tscn"
|
||||
|
||||
|
@ -1,8 +1,11 @@
|
||||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://assets/audio/BGM - Captain Scurvy.ogg" type="AudioStream" id=1]
|
||||
[ext_resource path="res://script/audio controller/AudioController.gd" type="Script" id=2]
|
||||
[ext_resource path="res://assets/audio/ButtonSFX.ogg" type="AudioStream" id=3]
|
||||
[ext_resource path="res://assets/audio/HitSFX.ogg" type="AudioStream" id=4]
|
||||
[ext_resource path="res://assets/audio/MissSFX.ogg" type="AudioStream" id=5]
|
||||
[ext_resource path="res://assets/audio/SunkSFX.ogg" type="AudioStream" id=6]
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
anchor_right = 1.0
|
||||
@ -20,3 +23,18 @@ bus = "BGM"
|
||||
[node name="buttonSFX" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 3 )
|
||||
bus = "SFX"
|
||||
|
||||
[node name="shipHitSFX" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 4 )
|
||||
volume_db = -10.0
|
||||
bus = "SFX"
|
||||
|
||||
[node name="shipMissedSFX" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 5 )
|
||||
volume_db = -5.0
|
||||
bus = "SFX"
|
||||
|
||||
[node name="shipSunkSFX" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 6 )
|
||||
volume_db = -10.0
|
||||
bus = "SFX"
|
||||
|
@ -1,6 +1,5 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://main.tres" type="Theme" id=1]
|
||||
[ext_resource path="res://script/debug/debug_menu.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/debug/In.gd" type="Script" id=3]
|
||||
[ext_resource path="res://script/debug/Out.gd" type="Script" id=4]
|
||||
@ -9,7 +8,7 @@
|
||||
[node name="Debug" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
theme = ExtResource( 1 )
|
||||
theme = ExtResource( 5 )
|
||||
script = ExtResource( 2 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
@ -51,6 +50,7 @@ focus_neighbour_right = NodePath(".")
|
||||
focus_neighbour_bottom = NodePath(".")
|
||||
focus_next = NodePath(".")
|
||||
focus_previous = NodePath(".")
|
||||
theme = ExtResource( 5 )
|
||||
max_length = 256
|
||||
placeholder_text = "By your command."
|
||||
caret_blink = true
|
||||
|
46
godot_ship/scenes/Game/Fire.tscn
Normal file
@ -0,0 +1,46 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://assets/game/RedCrosshair.png" type="Texture" id=1]
|
||||
[ext_resource path="res://script/game/Gameplay/Fire.gd" type="Script" id=2]
|
||||
[ext_resource path="res://script/game/Gameplay/Crosshair.gd" type="Script" id=3]
|
||||
[ext_resource path="res://assets/game/board_blue.png" type="Texture" id=4]
|
||||
|
||||
[node name="Fire" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
mouse_filter = 2
|
||||
script = ExtResource( 2 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="board_blue" type="Sprite" parent="."]
|
||||
position = Vector2( 18, 18 )
|
||||
texture = ExtResource( 4 )
|
||||
centered = false
|
||||
__meta__ = {
|
||||
"_edit_lock_": true
|
||||
}
|
||||
|
||||
[node name="Crosshair" type="Sprite" parent="."]
|
||||
texture = ExtResource( 1 )
|
||||
script = ExtResource( 3 )
|
||||
|
||||
[node name="Fire" type="Button" parent="."]
|
||||
margin_left = 443.545
|
||||
margin_top = 264.473
|
||||
margin_right = 528.545
|
||||
margin_bottom = 318.473
|
||||
text = "FIRE"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="FireDialog" type="AcceptDialog" parent="."]
|
||||
pause_mode = 2
|
||||
margin_right = 83.0
|
||||
margin_bottom = 58.0
|
||||
dialog_text = "You can't fire outside the board"
|
||||
|
||||
[connection signal="pressed" from="Fire" to="." method="_on_Fire_pressed"]
|
||||
[connection signal="confirmed" from="FireDialog" to="." method="_on_FireDialog_confirmed"]
|
50
godot_ship/scenes/Game/Game.tscn
Normal file
@ -0,0 +1,50 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://script/game/Gameplay/Game.gd" type="Script" id=3]
|
||||
|
||||
[node name="Game" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
mouse_filter = 2
|
||||
script = ExtResource( 3 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Buttons" type="VBoxContainer" parent="."]
|
||||
anchor_left = 0.912
|
||||
anchor_top = 0.932
|
||||
anchor_right = 0.912
|
||||
anchor_bottom = 0.932
|
||||
margin_left = -3.68005
|
||||
margin_top = -4.52002
|
||||
margin_right = 49.3199
|
||||
margin_bottom = 15.48
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="Forfeit" type="Button" parent="Buttons"]
|
||||
margin_right = 53.0
|
||||
margin_bottom = 20.0
|
||||
text = "Forfeit"
|
||||
|
||||
[node name="ConfirmationDialog" type="ConfirmationDialog" parent="."]
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
margin_left = -111.5
|
||||
margin_top = -29.0
|
||||
margin_right = 111.5
|
||||
margin_bottom = 29.0
|
||||
rect_min_size = Vector2( 150, 52.5 )
|
||||
window_title = "Forfeit Confirmation..."
|
||||
dialog_text = "Are you sure you want to forfeit?"
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false,
|
||||
"_editor_description_": ""
|
||||
}
|
||||
|
||||
[connection signal="pressed" from="Buttons/Forfeit" to="." method="_on_Forfeit_pressed"]
|
||||
[connection signal="confirmed" from="ConfirmationDialog" to="." method="_on_ConfirmationDialog_confirmed"]
|