Access & Check
This commit is contained in:
parent
a59412eb60
commit
ec7b2cbd12
2 changed files with 31 additions and 12 deletions
22
board.tscn
22
board.tscn
|
@ -1,16 +1,18 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://d0qyk6v20uief"]
|
||||
|
||||
[ext_resource type="Script" path="res://generator.gd" id="1_ckrtr"]
|
||||
[ext_resource type="Script" path="res://game.gd" id="1_f1l42"]
|
||||
[ext_resource type="Script" uid="uid://dyqw4lpfqhgmb" path="res://generator.gd" id="1_ckrtr"]
|
||||
[ext_resource type="Script" uid="uid://dysg515hr11cc" path="res://game.gd" id="1_f1l42"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl8ctpb4nx5b4" path="res://ChessScenes/pawn.tscn" id="3_871tv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cu208w2aj6qnh" path="res://ChessScenes/bishop.tscn" id="4_f2vpi"]
|
||||
[ext_resource type="PackedScene" uid="uid://cl7imfd1umhvu" path="res://ChessScenes/rook.tscn" id="5_lwy4i"]
|
||||
[ext_resource type="PackedScene" uid="uid://bgd6ldfcm8hie" path="res://ChessScenes/knight.tscn" id="6_ta68t"]
|
||||
[ext_resource type="PackedScene" uid="uid://1sle88win6dm" path="res://ChessScenes/queen.tscn" id="7_7creb"]
|
||||
[ext_resource type="PackedScene" uid="uid://yqfgmt234xui" path="res://ChessScenes/king.tscn" id="8_vvr6q"]
|
||||
[ext_resource type="Script" path="res://game_win.gd" id="9_ww6wk"]
|
||||
[ext_resource type="Script" uid="uid://bombmbttl3o7n" path="res://game_win.gd" id="9_ww6wk"]
|
||||
|
||||
[node name="Board" type="Control"]
|
||||
accessibility_name = "Root"
|
||||
accessibility_description = "The node that houses everything."
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
|
@ -19,6 +21,8 @@ script = ExtResource("1_f1l42")
|
|||
BoardPath = NodePath("Flow")
|
||||
|
||||
[node name="Flow" type="FlowContainer" parent="."]
|
||||
accessibility_name = "Flow"
|
||||
accessibility_description = "The game board"
|
||||
layout_mode = 0
|
||||
script = ExtResource("1_ckrtr")
|
||||
Pawn = ExtResource("3_871tv")
|
||||
|
@ -29,12 +33,16 @@ Queen = ExtResource("7_7creb")
|
|||
King = ExtResource("8_vvr6q")
|
||||
|
||||
[node name="GameWin" type="Control" parent="."]
|
||||
accessibility_name = "Win"
|
||||
accessibility_description = "Node that houses a script."
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
script = ExtResource("9_ww6wk")
|
||||
|
||||
[node name="Promotion" type="Panel" parent="."]
|
||||
accessibility_name = "Promotion"
|
||||
accessibility_description = "A panel that houses buttons for promoting."
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_left = 531.0
|
||||
|
@ -43,6 +51,8 @@ offset_right = 731.0
|
|||
offset_bottom = 330.0
|
||||
|
||||
[node name="Rook" type="Button" parent="Promotion"]
|
||||
accessibility_name = "Rook"
|
||||
accessibility_description = "Promote a pawn to a rook."
|
||||
layout_mode = 0
|
||||
offset_left = 8.0
|
||||
offset_top = 10.0
|
||||
|
@ -51,6 +61,8 @@ offset_bottom = 41.0
|
|||
text = "Rook"
|
||||
|
||||
[node name="Bishop" type="Button" parent="Promotion"]
|
||||
accessibility_name = "Bishop"
|
||||
accessibility_description = "Promote a pawn to a bishop."
|
||||
layout_mode = 0
|
||||
offset_left = 68.0
|
||||
offset_top = 10.0
|
||||
|
@ -59,6 +71,8 @@ offset_bottom = 41.0
|
|||
text = "Bishop"
|
||||
|
||||
[node name="Knight" type="Button" parent="Promotion"]
|
||||
accessibility_name = "Knight"
|
||||
accessibility_description = "Promote a pawn to a knight."
|
||||
layout_mode = 0
|
||||
offset_left = 9.0
|
||||
offset_top = 50.0
|
||||
|
@ -67,6 +81,8 @@ offset_bottom = 81.0
|
|||
text = "Knight"
|
||||
|
||||
[node name="Queen" type="Button" parent="Promotion"]
|
||||
accessibility_name = "Queen"
|
||||
accessibility_description = "Promote a pawn to a queen."
|
||||
layout_mode = 0
|
||||
offset_left = 79.0
|
||||
offset_top = 52.0
|
||||
|
|
21
game.gd
21
game.gd
|
@ -98,16 +98,14 @@ func _on_flow_send_location(Location: String):
|
|||
|
||||
func UpdateGame(cell):
|
||||
SelectedNode = ""
|
||||
if Turn == 0:
|
||||
Turn = 1
|
||||
else:
|
||||
Turn = 0
|
||||
|
||||
# get the en-passantable pieces and undo them
|
||||
var things = Flow.get_children()
|
||||
# get the en-passantable pieces and undo them
|
||||
for i in things:
|
||||
if i.get_child_count() != 0 && i.get_child(0).name == "Pawn" && i.get_child(0).PieceColor == Turn && i.get_child(0).EnPassant == true:
|
||||
i.get_child(0).EnPassant = false
|
||||
# This changes the color to regular white. For kings.
|
||||
elif i.get_child_count() != 0:
|
||||
i.get_child(0).modulate = Color(1, 1, 1, 1)
|
||||
|
||||
# Remove and add the abilities once they are either used or not used
|
||||
if cell.get_child(0).name == "Pawn":
|
||||
|
@ -122,6 +120,12 @@ func UpdateGame(cell):
|
|||
|
||||
# King checking.
|
||||
CheckKing(things)
|
||||
SelectedNode = ""
|
||||
|
||||
if Turn == 0:
|
||||
Turn = 1
|
||||
else:
|
||||
Turn = 0
|
||||
|
||||
# Below is the movement that is used for the pieces
|
||||
func GetMovableAreas():
|
||||
|
@ -387,13 +391,12 @@ func IsNull(Location):
|
|||
# Checking for a king.
|
||||
func CheckKing(Children):
|
||||
for i in Children:
|
||||
if not IsNull(i.get_path()):
|
||||
if i.get_child_count() != 0:
|
||||
SelectedNode = str(i.name)
|
||||
print(SelectedNode)
|
||||
GetMovableAreas()
|
||||
|
||||
# Helper function
|
||||
func IsKing(Location):
|
||||
var TheNode = Flow.get_node_or_null(Location)
|
||||
if TheNode != null && TheNode.get_child_count() != 0 && TheNode.get_child(0).PieceColor != Turn && TheNode.get_child(0).name == "King":
|
||||
print("Check!");
|
||||
TheNode.get_child(0).modulate = Color(1, 0, 0, 1)
|
||||
|
|
Loading…
Add table
Reference in a new issue