From 18f4858a48174eab79d786f74b3431490630d117 Mon Sep 17 00:00:00 2001 From: Alan <alanjfogel@gmail.com> Date: Sun, 9 Feb 2025 12:18:40 -0600 Subject: [PATCH] Added upgrade implementation for other pieces. --- .godot/editor/editor_layout.cfg | 8 +++--- .godot/editor/filesystem_cache8 | 36 +++++++++++++-------------- .godot/editor/filesystem_update4 | 24 ++++++++++-------- .godot/editor/script_editor_cache.cfg | 18 +++++++------- scripts/Assassin.gd | 5 ++-- scripts/Bishop.gd | 5 ++-- scripts/King.gd | 5 ++-- scripts/Knight.gd | 5 ++-- scripts/Mage.gd | 5 ++-- scripts/Pawn.gd | 3 +-- scripts/Queen.gd | 5 ++-- scripts/Rook.gd | 5 ++-- scripts/Shop.gd | 14 +++++------ scripts/Upgrade.gd | 9 +++++++ scripts/Wizard.gd | 5 ++-- scripts/game.gd | 6 ++--- 16 files changed, 80 insertions(+), 78 deletions(-) create mode 100644 scripts/Upgrade.gd diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg index fcd5562..a47f3a7 100644 --- a/.godot/editor/editor_layout.cfg +++ b/.godot/editor/editor_layout.cfg @@ -19,7 +19,7 @@ dock_filesystem_display_mode=0 dock_filesystem_file_sort=0 dock_filesystem_file_list_display_mode=1 dock_filesystem_selected_paths=PackedStringArray("res://scripts/scene_manager.gd") -dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/ui/") +dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scripts/", "res://scenes/ui/") dock_3="Scene,Import" dock_4="FileSystem" dock_5="Inspector,Node,History" @@ -27,8 +27,8 @@ dock_5="Inspector,Node,History" [EditorNode] open_scenes=PackedStringArray("res://scenes/game.tscn", "res://main.tscn", "res://scenes/Shop.tscn", "res://scenes/ShopItem.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn") -current_scene="res://scenes/Shop.tscn" -center_split_offset=-453 +current_scene="res://scenes/Rook.tscn" +center_split_offset=-398 selected_default_debugger_tab_idx=0 selected_main_editor_idx=2 selected_bottom_panel_item=0 @@ -36,7 +36,7 @@ selected_bottom_panel_item=0 [ScriptEditor] open_scripts=["res://scripts/game.gd", "res://scripts/Pawn.gd", "res://scripts/Queen.gd", "res://README.md", "res://scripts/Rook.gd", "res://scripts/scene_manager.gd", "res://scripts/Shop.gd", "res://scenes/shop_item.gd"] -selected_script="res://scripts/game.gd" +selected_script="res://scripts/Pawn.gd" open_help=[] script_split_offset=70 list_split_offset=0 diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8 index d725d24..e4a287a 100644 --- a/.godot/editor/filesystem_cache8 +++ b/.godot/editor/filesystem_cache8 @@ -1,14 +1,14 @@ ea4bc82a6ad023ab7ee23ee620429895 -::res://::1739053829 +::res://::1739123350 export_presets.cfg::TextFile::-1::1738780181::0::1::::<><>:: icon.svg::CompressedTexture2D::6378281210119878262::1737912187::1738338716::1::::<><>:: -main.tscn::PackedScene::5692118487183161714::1739053825::0::1::::<><>::uid://cu7lkx15lmfww::::res://scenes/scene_manager.tscn +main.tscn::PackedScene::5692118487183161714::1739063296::0::1::::<><>::uid://cu7lkx15lmfww::::res://scenes/scene_manager.tscn README.md::TextFile::-1::1737912187::0::1::::<><>:: ::res://assets/::1738358720 -::res://assets/noise/::1739050551 -noise2.tres::NoiseTexture2D::5054739835828921764::1739050551::0::1::::<><>:: -noise3.tres::NoiseTexture2D::906885015046579772::1739050551::0::1::::<><>:: -noise.tres::NoiseTexture2D::1693764769519573005::1739050551::0::1::::<><>:: +::res://assets/noise/::1739053832 +noise2.tres::NoiseTexture2D::5054739835828921764::1739053832::0::1::::<><>:: +noise3.tres::NoiseTexture2D::906885015046579772::1739053832::0::1::::<><>:: +noise.tres::NoiseTexture2D::1693764769519573005::1739053832::0::1::::<><>:: ::res://assets/Original size Chess pieces/::1738707284 Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738358720::1738707284::1::::<><>:: Black knight piece.png::CompressedTexture2D::4196515762256027844::1738358720::1738707284::1::::<><>:: @@ -39,9 +39,9 @@ White_Pawn.png::CompressedTexture2D::919180529085242722::1738358720::1738707285: White_Queen.png::CompressedTexture2D::4902137832695542513::1738358720::1738707285::1::::<><>:: White_rook.png::CompressedTexture2D::4194129281780453908::1738358720::1738707285::1::::<><>:: White_wizard.png::CompressedTexture2D::8734158881343267537::1738707261::1738707285::1::::<><>:: -::res://assets/shaders/::1739050551 +::res://assets/shaders/::1739053832 3d_effect.gdshader::Shader::-1::1738707261::0::1::::<><>:: -bg.gdshader::Shader::-1::1739050551::0::1::::<><>:: +bg.gdshader::Shader::-1::1739053832::0::1::::<><>:: color.gdshader::Shader::-1::1738378229::0::1::::<><>:: shadow.gdshader::Shader::-1::1738378229::0::1::::<><>:: ::res://assets/sprites/::1738707284 @@ -78,39 +78,39 @@ Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738358720::17 play_button.png::CompressedTexture2D::5896995890187459238::1738707261::1738707284::1::::<><>:: quit_button.png::CompressedTexture2D::5172428563227279585::1738707261::1738707284::1::::<><>:: rules_button.png::CompressedTexture2D::8060955005205795067::1738707261::1738707284::1::::<><>:: -::res://scenes/::1739053825 +::res://scenes/::1739063296 Assassin.tscn::PackedScene::1241611789899982875::1738377694::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png Bishop.tscn::PackedScene::2789588702038144760::1738377693::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png explosion.tscn::PackedScene::69466253159940830::1738377693::0::1::::<><>:: -game.tscn::PackedScene::8577524005707705072::1739053825::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres +game.tscn::PackedScene::8577524005707705072::1739063296::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres King.tscn::PackedScene::8277830396459966414::1738377693::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png Knight.tscn::PackedScene::5270730075267457303::1738377694::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png Mage.tscn::PackedScene::10334063134713649::1738377694::0::1::::<><>::res://scripts/Mage.gd<>uid://b7iyt4iwjbtd0::::res://assets/temp_assets/mage.png -Pawn.tscn::PackedScene::3675784333675896641::1739053825::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png +Pawn.tscn::PackedScene::3675784333675896641::1739063296::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png Queen.tscn::PackedScene::7495869360053814603::1738377693::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png -Rook.tscn::PackedScene::9162401199636684468::1739053825::0::1::::<><>::res://scripts/Rook.gd<>uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png +Rook.tscn::PackedScene::9162401199636684468::1739063296::0::1::::<><>::res://scripts/Rook.gd<>uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png scene_manager.tscn::PackedScene::6243365322716451430::1738707261::0::1::::<><>::res://scripts/scene_manager.gd -Shop.tscn::PackedScene::6176556733226555776::1739053825::0::1::::<><>::res://scripts/Shop.gd -ShopItem.tscn::PackedScene::5426615772503019706::1739053825::0::1::::<><>::res://scenes/shop_item.gd +Shop.tscn::PackedScene::6176556733226555776::1739063296::0::1::::<><>::res://scripts/Shop.gd +ShopItem.tscn::PackedScene::5426615772503019706::1739063296::0::1::::<><>::res://scenes/shop_item.gd shop_item.gd::GDScript::-1::1739035004::0::1::::<>PanelContainer<>:: texture_holder.tscn::PackedScene::594714386286134588::1738358720::0::1::::<><>:: title_screen.tscn::PackedScene::8154710134031658440::1738707261::0::1::::<><>::res://scripts/title_screen/title_screen.gd<>uid://bm8sv1itwm467::::res://scenes/ui/menu_button.tscn Wizard.tscn::PackedScene::6352212773395470747::1738377694::0::1::::<><>::res://scripts/Wizard.gd<>uid://bfk1j3brcknkp::::res://assets/temp_assets/wizard.png ::res://scenes/ui/::1738707261 menu_button.tscn::PackedScene::3297943059633979218::1738707261::0::1::::<><>::res://assets/shaders/3d_effect.gdshader<>res://scripts/title_screen/menu_button.gd -::res://scripts/::1739053658 +::res://scripts/::1739061871 Assassin.gd::GDScript::-1::1739051721::0::1::::Assassin<>Piece<>:: Bishop.gd::GDScript::-1::1739051721::0::1::::Bishop<>Piece<>:: -game.gd::GDScript::-1::1739053658::0::1::::game<>Node<>:: +game.gd::GDScript::-1::1739063315::0::1::::game<>Node<>:: King.gd::GDScript::-1::1739051721::0::1::::King<>Piece<>:: Knight.gd::GDScript::-1::1739051721::0::1::::Knight<>Piece<>:: Mage.gd::GDScript::-1::1739051721::0::1::::Mage<>Piece<>:: -Pawn.gd::GDScript::-1::1739051769::0::1::::Pawn<>Piece<>:: +Pawn.gd::GDScript::-1::1739057192::0::1::::Pawn<>Piece<>:: Piece.gd::GDScript::-1::1739051735::0::1::::Piece<>Node2D<>:: Queen.gd::GDScript::-1::1739051721::0::1::::Queen<>Piece<>:: Rook.gd::GDScript::-1::1739051721::0::1::::Rook<>Piece<>:: scene_manager.gd::GDScript::-1::1738707261::0::1::::<>Node<>:: -Shop.gd::GDScript::-1::1739035862::0::1::::<>Node2D<>:: +Shop.gd::GDScript::-1::1739063460::0::1::::<>Node2D<>:: Wizard.gd::GDScript::-1::1739051721::0::1::::Wizard<>Piece<>:: ::res://scripts/title_screen/::1738707261 menu_button.gd::GDScript::-1::1738707261::0::1::::TitleButton<>Button<>:: diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4 index c4e02b3..8f86c77 100644 --- a/.godot/editor/filesystem_update4 +++ b/.godot/editor/filesystem_update4 @@ -1,3 +1,15 @@ +res://scripts/Shop.gd +res://scripts/Pawn.gd +res://scripts/Rook.gd +res://scripts/Assassin.gd +res://scripts/Bishop.gd +res://scripts/King.gd +res://scripts/Knight.gd +res://scripts/Mage.gd +res://scripts/Queen.gd +res://scripts/Wizard.gd +res://scripts/game.gd +res://scripts/Piece.gd res://scenes/game.tscn res://assets/shaders/bg.gdshader res://assets/noise/noise.tres @@ -8,14 +20,4 @@ res://scenes/Shop.tscn res://scenes/ShopItem.tscn res://scenes/Pawn.tscn res://scenes/Rook.tscn -res://scripts/Shop.gd -res://scripts/Pawn.gd -res://scripts/game.gd -res://scripts/Queen.gd -res://scripts/Rook.gd -res://scripts/Bishop.gd -res://scripts/King.gd -res://scripts/Knight.gd -res://scripts/Mage.gd -res://scripts/Assassin.gd -res://scripts/Wizard.gd +res://scripts/Upgrade.gd diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg index a4321f1..330e568 100644 --- a/.godot/editor/script_editor_cache.cfg +++ b/.godot/editor/script_editor_cache.cfg @@ -17,11 +17,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 23, +"column": 20, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 3, -"scroll_position": 0.0, +"row": 428, +"scroll_position": 421.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -87,11 +87,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 38, +"column": 23, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 18, -"scroll_position": 33.0, +"row": 50, +"scroll_position": 38.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -101,11 +101,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 52, +"column": 3, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 11, -"scroll_position": 0.0, +"row": 66, +"scroll_position": 56.0, "selection": false, "syntax_highlighter": "GDScript" } diff --git a/scripts/Assassin.gd b/scripts/Assassin.gd index e041ec3..96125cd 100644 --- a/scripts/Assassin.gd +++ b/scripts/Assassin.gd @@ -2,9 +2,8 @@ extends Piece class_name Assassin -enum Upgrade { - # Add any specific upgrades for Assassin here -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade var board_state: Array diff --git a/scripts/Bishop.gd b/scripts/Bishop.gd index b4555c0..becb9b1 100644 --- a/scripts/Bishop.gd +++ b/scripts/Bishop.gd @@ -2,9 +2,8 @@ extends Piece class_name Bishop -enum Upgrade { - MOVE_CARDINAL_ONE, -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): diff --git a/scripts/King.gd b/scripts/King.gd index c36d46a..8e8b5c3 100644 --- a/scripts/King.gd +++ b/scripts/King.gd @@ -2,9 +2,8 @@ extends Piece class_name King -enum Upgrade { - # Add any specific upgrades for King here -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): diff --git a/scripts/Knight.gd b/scripts/Knight.gd index c29c464..d80b695 100644 --- a/scripts/Knight.gd +++ b/scripts/Knight.gd @@ -2,9 +2,8 @@ extends Piece class_name Knight -enum Upgrade { - LONGER_L_MOVE, -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): capture_gold_value = 3 diff --git a/scripts/Mage.gd b/scripts/Mage.gd index 9b417b6..a43d8cc 100644 --- a/scripts/Mage.gd +++ b/scripts/Mage.gd @@ -2,9 +2,8 @@ extends Piece class_name Mage -enum Upgrade { - # Add any specific upgrades for Mage here -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): diff --git a/scripts/Pawn.gd b/scripts/Pawn.gd index 1b5f7e7..91c6b71 100644 --- a/scripts/Pawn.gd +++ b/scripts/Pawn.gd @@ -4,7 +4,7 @@ class_name Pawn var Game = preload("res://scripts/game.gd") -enum Upgrade { DOUBLE_MOVE, DIAGONAL_MOVE } +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade var tile_size = 64 # Make this global?... @onready var opponent_shader = load("res://shaders/BlackShader.shader") @@ -25,7 +25,6 @@ func get_valid_moves(board_state: Array, pos: Vector2) -> Array[Vector2]: var x = pos.x var y = pos.y - # TODO: Add En passant move if is_white: # Check if the pawn is at the starting position diff --git a/scripts/Queen.gd b/scripts/Queen.gd index ce75cd5..77b31f9 100644 --- a/scripts/Queen.gd +++ b/scripts/Queen.gd @@ -2,9 +2,8 @@ extends Piece class_name Queen -enum Upgrade { - # Add any specific upgrades for Queen here -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): diff --git a/scripts/Rook.gd b/scripts/Rook.gd index 58a6012..bdeb58f 100644 --- a/scripts/Rook.gd +++ b/scripts/Rook.gd @@ -2,9 +2,8 @@ extends Piece class_name Rook -enum Upgrade { - DIAGONAL_MOVE_ONE, -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): capture_gold_value = 5 diff --git a/scripts/Shop.gd b/scripts/Shop.gd index c385cbe..4b2acf1 100644 --- a/scripts/Shop.gd +++ b/scripts/Shop.gd @@ -4,7 +4,8 @@ extends Node2D signal purchase_attempted(item_data: Dictionary, shop_item: Node) signal next_round_requested -enum Upgrade { DOUBLE_MOVE, DIAGONAL_MOVE } + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade @onready var shop_item_scene = preload("res://scenes/ShopItem.tscn") @@ -19,10 +20,10 @@ var shop_items = { ], "upgrades": [ {"name": "Double Move", "price": 3, "tier": "bronze", "texture": "res://assets/Resized Chess Piece Assets/Black_Pawn.png", "purchased": false, "piece_type": "Pawn", "upgrade_enum": Upgrade.DOUBLE_MOVE}, + {"name": "Diagonal Move", "price": 3, "tier": "bronze", "texture": "res://assets/Resized Chess Piece Assets/Black_Rook.png", "purchased": false, "piece_type": "Rook", "upgrade_enum": Upgrade.DIAGONAL_MOVE_ONE}, + {"name": "Vert/Hor Move", "price": 3, "tier": "bronze", "texture": "res://assets/Resized Chess Piece Assets/Black_Bishop.png", "purchased": false, "piece_type": "Bishop", "upgrade_enum": Upgrade.MOVE_CARDINAL_ONE}, {"name": "Diagonal Move", "price": 5, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/Black_Pawn.png", "purchased": false, "piece_type": "Pawn", "upgrade_enum": Upgrade.DIAGONAL_MOVE}, - # {"name": "Upgrade 3", "price": 5, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/Black_Bishop.png", "purchased": false}, - # {"name": "Upgrade 4", "price": 5, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/Black_Knight.png", "purchased": false}, - # {"name": "Upgrade 5", "price": 5, "tier": "gold", "texture": "res://assets/Resized Chess Piece Assets/Black_Queen.png", "purchased": false} + {"name": "Longer L Move", "price": 5, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/Black_Knight.png", "purchased": false, "piece_type": "Knight", "upgrade_enum": Upgrade.LONGER_L_MOVE}, ] } @@ -160,7 +161,7 @@ func add_item_to_row(item_data: Dictionary, row: HBoxContainer): func _on_buy_button_pressed(item_data: Dictionary, shop_item: Node): if !item_data["purchased"]: - print("Attempting to Purchase: ", item_data["name"]) + # print("Attempting to Purchase: ", item_data["name"]) # Emit signals to let Game.gd handle the purchase emit_signal("purchase_attempted", item_data, shop_item) # Emit the full item data # TODO: Add a sound effect / Animation for purchasing items @@ -169,7 +170,6 @@ func _on_buy_button_pressed(item_data: Dictionary, shop_item: Node): func _on_next_round_button_pressed(): - print("Next Round button pressed!") + # print("Next Round button pressed!") visible = false # Hide the shop emit_signal("next_round_requested") # Notify the main game script - diff --git a/scripts/Upgrade.gd b/scripts/Upgrade.gd new file mode 100644 index 0000000..346052a --- /dev/null +++ b/scripts/Upgrade.gd @@ -0,0 +1,9 @@ +extends Node + +enum Upgrade { + DOUBLE_MOVE, + DIAGONAL_MOVE, + DIAGONAL_MOVE_ONE, + MOVE_CARDINAL_ONE, + LONGER_L_MOVE +} \ No newline at end of file diff --git a/scripts/Wizard.gd b/scripts/Wizard.gd index 1c23966..75f9a04 100644 --- a/scripts/Wizard.gd +++ b/scripts/Wizard.gd @@ -2,9 +2,8 @@ extends Piece class_name Wizard -enum Upgrade { - # Add any specific upgrades for Wizard here -} + +var Upgrade = preload("res://scripts/Upgrade.gd").Upgrade func _ready(): diff --git a/scripts/game.gd b/scripts/game.gd index 680d4e3..0bc3a3b 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -1,7 +1,7 @@ extends Node class_name game -var player_gold: int = 0 +var player_gold: int = 10 var shop_scene = preload("res://scenes/Shop.tscn") var shop: Node2D var purchased_pieces: Array = [] @@ -530,10 +530,10 @@ func _on_purchase_attempted(item_data: Dictionary, shop_item: Node): # checks if the purchased item’s name exists in the list of pieces or upgrades. if item_data["name"] in piece_names: - print("Purchased piece: ", item_data["name"]) + # print("Purchased piece: ", item_data["name"]) purchased_pieces.append(item_data) elif item_data["name"] in upgrade_names: - print("Purchased upgrade: ", item_data["name"]) + # print("Purchased upgrade: ", item_data["name"]) purchased_upgrades.append(item_data) apply_upgrade_to_pieces(item_data) -- GitLab