From 9ba2e1af6ba55c9fd0e27832a473e02bb1d89c01 Mon Sep 17 00:00:00 2001
From: ZZY <2450266535@qq.com>
Date: Sat, 15 Jun 2024 18:07:20 +0800
Subject: [PATCH] init basic signal player chinese chess game
---
.gitattributes | 2 +
.gitignore | 4 +
.vscode/settings.json | 3 +
Asserts/Chessboard.tres | 38 +
Asserts/ChesspieceBase.tres | 4 +
Asserts/icon.svg | 1 +
Asserts/icon.svg.import | 37 +
Asserts/pic/base.aseprite | Bin 0 -> 509 bytes
Asserts/pic/base.png | Bin 0 -> 317 bytes
Asserts/pic/base.png.import | 34 +
Asserts/pic/chessboard.png | Bin 0 -> 1052 bytes
Asserts/pic/chessboard.png.import | 34 +
Asserts/pic/col.aseprite | Bin 0 -> 385 bytes
Asserts/pic/col.png | Bin 0 -> 135 bytes
Asserts/pic/col.png.import | 34 +
Asserts/pic/col.svg | 1027 +++++++++++++++++
Asserts/pic/col.svg.import | 37 +
Asserts/pic/cross.aseprite | Bin 0 -> 394 bytes
Asserts/pic/cross.png | Bin 0 -> 154 bytes
Asserts/pic/cross.png.import | 34 +
Asserts/pic/cross_0.aseprite | Bin 0 -> 397 bytes
Asserts/pic/cross_0.png | Bin 0 -> 165 bytes
Asserts/pic/cross_0.png.import | 34 +
Asserts/pic/cross_1.aseprite | Bin 0 -> 383 bytes
Asserts/pic/cross_1.png | Bin 0 -> 150 bytes
Asserts/pic/cross_1.png.import | 34 +
Asserts/pic/cross_1_2.aseprite | Bin 0 -> 388 bytes
Asserts/pic/cross_1_2.png | Bin 0 -> 156 bytes
Asserts/pic/cross_1_2.png.import | 34 +
Asserts/pic/cross_2.aseprite | Bin 0 -> 382 bytes
Asserts/pic/cross_2.png | Bin 0 -> 150 bytes
Asserts/pic/cross_2.png.import | 34 +
Asserts/pic/cross_plus.aseprite | Bin 0 -> 448 bytes
Asserts/pic/cross_plus.png | Bin 0 -> 220 bytes
Asserts/pic/cross_plus.png.import | 34 +
Asserts/pic/cross_plus_1.aseprite | Bin 0 -> 430 bytes
Asserts/pic/cross_plus_1.png | Bin 0 -> 208 bytes
Asserts/pic/cross_plus_1.png.import | 34 +
Asserts/pic/cross_set.aseprite | Bin 0 -> 421 bytes
Asserts/pic/cross_set.png | Bin 0 -> 206 bytes
Asserts/pic/cross_set.png.import | 34 +
Asserts/pic/cross_set_plus.aseprite | Bin 0 -> 400 bytes
Asserts/pic/cross_set_plus.png | Bin 0 -> 177 bytes
Asserts/pic/cross_set_plus.png.import | 34 +
Asserts/pic/eight_cross.aseprite | Bin 0 -> 506 bytes
Asserts/pic/eight_cross.png | Bin 0 -> 309 bytes
Asserts/pic/eight_cross.png.import | 34 +
Asserts/pic/row.aseprite | Bin 0 -> 372 bytes
Asserts/pic/row.png | Bin 0 -> 137 bytes
Asserts/pic/row.png.import | 34 +
Chinese_Chess.csproj | 8 +
Chinese_Chess.sln | 25 +
Main.cs | 42 +
Main.tscn | 30 +
Scenes/Chessboard.tscn | 18 +
Scenes/Chesspiece.tscn | 8 +
Scripts/Entities/ChessBoard.cs | 100 ++
Scripts/Entities/ChessPiece.cs | 77 ++
Scripts/Entities/ChessPieces/ChessAdvisor.cs | 0
Scripts/Entities/ChessPieces/ChessCannon.cs | 0
Scripts/Entities/ChessPieces/ChessChariot.cs | 0
Scripts/Entities/ChessPieces/ChessElephant.cs | 0
Scripts/Entities/ChessPieces/ChessGeneral.cs | 0
Scripts/Entities/ChessPieces/ChessHorse.cs | 0
Scripts/Entities/ChessPieces/ChessPawn.cs | 0
Scripts/Entities/ChessPieces/ChessTypes.cs | 20 +
Scripts/Utilities/MoveRecords.cs | 57 +
Scripts/Utilities/Transforms.cs | 10 +
Scripts/Utilities/VirtualBoard.cs | 316 +++++
export_presets.cfg | 379 ++++++
project.godot | 33 +
71 files changed, 2752 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gitignore
create mode 100644 .vscode/settings.json
create mode 100644 Asserts/Chessboard.tres
create mode 100644 Asserts/ChesspieceBase.tres
create mode 100644 Asserts/icon.svg
create mode 100644 Asserts/icon.svg.import
create mode 100644 Asserts/pic/base.aseprite
create mode 100644 Asserts/pic/base.png
create mode 100644 Asserts/pic/base.png.import
create mode 100644 Asserts/pic/chessboard.png
create mode 100644 Asserts/pic/chessboard.png.import
create mode 100644 Asserts/pic/col.aseprite
create mode 100644 Asserts/pic/col.png
create mode 100644 Asserts/pic/col.png.import
create mode 100644 Asserts/pic/col.svg
create mode 100644 Asserts/pic/col.svg.import
create mode 100644 Asserts/pic/cross.aseprite
create mode 100644 Asserts/pic/cross.png
create mode 100644 Asserts/pic/cross.png.import
create mode 100644 Asserts/pic/cross_0.aseprite
create mode 100644 Asserts/pic/cross_0.png
create mode 100644 Asserts/pic/cross_0.png.import
create mode 100644 Asserts/pic/cross_1.aseprite
create mode 100644 Asserts/pic/cross_1.png
create mode 100644 Asserts/pic/cross_1.png.import
create mode 100644 Asserts/pic/cross_1_2.aseprite
create mode 100644 Asserts/pic/cross_1_2.png
create mode 100644 Asserts/pic/cross_1_2.png.import
create mode 100644 Asserts/pic/cross_2.aseprite
create mode 100644 Asserts/pic/cross_2.png
create mode 100644 Asserts/pic/cross_2.png.import
create mode 100644 Asserts/pic/cross_plus.aseprite
create mode 100644 Asserts/pic/cross_plus.png
create mode 100644 Asserts/pic/cross_plus.png.import
create mode 100644 Asserts/pic/cross_plus_1.aseprite
create mode 100644 Asserts/pic/cross_plus_1.png
create mode 100644 Asserts/pic/cross_plus_1.png.import
create mode 100644 Asserts/pic/cross_set.aseprite
create mode 100644 Asserts/pic/cross_set.png
create mode 100644 Asserts/pic/cross_set.png.import
create mode 100644 Asserts/pic/cross_set_plus.aseprite
create mode 100644 Asserts/pic/cross_set_plus.png
create mode 100644 Asserts/pic/cross_set_plus.png.import
create mode 100644 Asserts/pic/eight_cross.aseprite
create mode 100644 Asserts/pic/eight_cross.png
create mode 100644 Asserts/pic/eight_cross.png.import
create mode 100644 Asserts/pic/row.aseprite
create mode 100644 Asserts/pic/row.png
create mode 100644 Asserts/pic/row.png.import
create mode 100644 Chinese_Chess.csproj
create mode 100644 Chinese_Chess.sln
create mode 100644 Main.cs
create mode 100644 Main.tscn
create mode 100644 Scenes/Chessboard.tscn
create mode 100644 Scenes/Chesspiece.tscn
create mode 100644 Scripts/Entities/ChessBoard.cs
create mode 100644 Scripts/Entities/ChessPiece.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessAdvisor.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessCannon.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessChariot.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessElephant.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessGeneral.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessHorse.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessPawn.cs
create mode 100644 Scripts/Entities/ChessPieces/ChessTypes.cs
create mode 100644 Scripts/Utilities/MoveRecords.cs
create mode 100644 Scripts/Utilities/Transforms.cs
create mode 100644 Scripts/Utilities/VirtualBoard.cs
create mode 100644 export_presets.cfg
create mode 100644 project.godot
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..8ad74f7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..586bfbd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+# Godot 4+ specific ignores
+.godot/
+
+bin/
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..8b1a6d2
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "godotTools.editorPath.godot4": "e:\\GAME_ENGINE\\Godot\\Godot_v4.2.2-stable_mono_win64\\Godot_v4.2.2-stable_mono_win64.exe"
+}
\ No newline at end of file
diff --git a/Asserts/Chessboard.tres b/Asserts/Chessboard.tres
new file mode 100644
index 0000000..94548d6
--- /dev/null
+++ b/Asserts/Chessboard.tres
@@ -0,0 +1,38 @@
+[gd_resource type="TileSet" load_steps=7 format=3 uid="uid://bibjj3ay65ral"]
+
+[ext_resource type="Texture2D" uid="uid://dolq1l3fr7jep" path="res://Asserts/pic/chessboard.png" id="2_5i53i"]
+[ext_resource type="Texture2D" uid="uid://qdt3midw0lwa" path="res://Asserts/pic/cross_set_plus.png" id="3_ouwnc"]
+
+[sub_resource type="TileMapPattern" id="TileMapPattern_s62cf"]
+tile_data = PackedInt32Array(0, 36, 1610612737, 131072, 37, 1073741824, 262144, 196644, 1073741824, 393216, 196644, 1073741824, 524288, 36, 805306369, 2, 196644, 0, 131074, 131108, 0, 262146, 196644, 1, 393218, 131108, 0, 524290, 196644, 536870912, 4, 196644, 0, 131076, 196644, 1, 262148, 131108, 0, 393220, 131108, 0, 524292, 196644, 536870912, 6, 196644, 0, 131078, 131108, 0, 262150, 65572, 1, 393222, 65572, 2, 524294, 131108, 536870913, 8, 196644, 0, 131080, 196644, 1, 262152, 65572, 1342177282, 393224, 262180, 1, 524296, 262180, 536870912, 10, 196644, 0, 131082, 131108, 0, 262154, 65572, 1342177281, 393226, 65572, 268435458, 524298, 131108, 805306369, 12, 196644, 0, 131084, 196644, 1, 262156, 131108, 0, 393228, 131108, 0, 524300, 196644, 536870912, 14, 196644, 0, 131086, 131108, 0, 262158, 196644, 1, 393230, 131108, 0, 524302, 196644, 536870912, 16, 36, 1879048193, 131088, 37, 1342177280, 262160, 196644, 1342177280, 393232, 196644, 1342177280, 524304, 36, 536870913)
+
+[sub_resource type="TileMapPattern" id="TileMapPattern_3yn03"]
+tile_data = PackedInt32Array(0, 36, 268435457, 131072, 196644, 1610612736, 262144, 196644, 1610612736, 393216, 37, 1610612736, 524288, 36, 1073741825, 655360, 36, 1610612737, 786432, 37, 1073741824, 917504, 196644, 1073741824, 1048576, 196644, 1073741824, 1179648, 36, 805306369, 2, 196644, 0, 131074, 131108, 536870912, 262146, 196644, 536870913, 393218, 131108, 536870912, 524290, 196644, 536870912, 655362, 196644, 0, 786434, 131108, 0, 917506, 196644, 1, 1048578, 131108, 0, 1179650, 196644, 536870912, 4, 196644, 0, 131076, 131108, 536870912, 262148, 131108, 536870912, 393220, 196644, 536870913, 524292, 196644, 536870912, 655364, 196644, 0, 786436, 196644, 1, 917508, 131108, 0, 1048580, 131108, 0, 1179652, 196644, 536870912, 6, 131108, 1, 131078, 65572, 536870914, 262150, 65572, 536870913, 393222, 131108, 536870912, 524294, 196644, 536870912, 655366, 196644, 0, 786438, 131108, 0, 917510, 65572, 1, 1048582, 65572, 2, 1179654, 131108, 536870913, 8, 262180, 0, 131080, 262180, 536870913, 262152, 65572, 1879048194, 393224, 196644, 536870913, 524296, 196644, 536870912, 655368, 196644, 0, 786440, 196644, 1, 917512, 65572, 1342177282, 1048584, 262180, 1, 1179656, 262180, 536870912, 10, 131108, 268435457, 131082, 65572, 805306370, 262154, 65572, 1879048193, 393226, 131108, 536870912, 524298, 196644, 536870912, 655370, 196644, 0, 786442, 131108, 0, 917514, 65572, 1342177281, 1048586, 65572, 268435458, 1179658, 131108, 805306369, 12, 196644, 0, 131084, 131108, 536870912, 262156, 131108, 536870912, 393228, 196644, 536870913, 524300, 196644, 536870912, 655372, 196644, 0, 786444, 196644, 1, 917516, 131108, 0, 1048588, 131108, 0, 1179660, 196644, 536870912, 14, 196644, 0, 131086, 131108, 536870912, 262158, 196644, 536870913, 393230, 131108, 536870912, 524302, 196644, 536870912, 655374, 196644, 0, 786446, 131108, 0, 917518, 196644, 1, 1048590, 131108, 0, 1179662, 196644, 536870912, 16, 36, 1, 131088, 196644, 1879048192, 262160, 196644, 1879048192, 393232, 37, 1879048192, 524304, 36, 1342177281, 655376, 36, 1879048193, 786448, 37, 1342177280, 917520, 196644, 1342177280, 1048592, 196644, 1342177280, 1179664, 36, 536870913)
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7ihb1"]
+texture = ExtResource("2_5i53i")
+texture_region_size = Vector2i(32, 32)
+0:0/0 = 0
+1:0/0 = 0
+2:0/0 = 0
+3:0/0 = 0
+4:0/0 = 0
+0:1/0 = 0
+1:1/0 = 0
+2:1/0 = 0
+3:1/0 = 0
+4:1/0 = 0
+0:2/0 = 0
+1:2/0 = 0
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_je1ok"]
+texture = ExtResource("3_ouwnc")
+texture_region_size = Vector2i(32, 32)
+0:0/0 = 0
+
+[resource]
+sources/36 = SubResource("TileSetAtlasSource_7ihb1")
+sources/37 = SubResource("TileSetAtlasSource_je1ok")
+tile_proxies/coords_level = [[0, Vector2i(0, 0)], [10, Vector2i(0, 0)], [0, Vector2i(0, 1)], [10, Vector2i(0, 1)], [0, Vector2i(1, 0)], [10, Vector2i(1, 0)], [0, Vector2i(1, 1)], [10, Vector2i(1, 1)], [1, Vector2i(0, 0)], [10, Vector2i(2, 0)], [1, Vector2i(0, 1)], [10, Vector2i(2, 1)], [1, Vector2i(1, 0)], [10, Vector2i(3, 0)], [1, Vector2i(1, 1)], [10, Vector2i(3, 1)], [2, Vector2i(0, 0)], [10, Vector2i(4, 0)], [2, Vector2i(0, 1)], [10, Vector2i(4, 1)], [2, Vector2i(1, 0)], [10, Vector2i(5, 0)], [2, Vector2i(1, 1)], [10, Vector2i(5, 1)], [3, Vector2i(0, 0)], [10, Vector2i(6, 0)], [3, Vector2i(0, 1)], [10, Vector2i(6, 1)], [3, Vector2i(1, 0)], [10, Vector2i(7, 0)], [3, Vector2i(1, 1)], [10, Vector2i(7, 1)], [4, Vector2i(0, 0)], [10, Vector2i(8, 0)], [4, Vector2i(0, 1)], [10, Vector2i(8, 1)], [4, Vector2i(1, 0)], [10, Vector2i(9, 0)], [4, Vector2i(1, 1)], [10, Vector2i(9, 1)], [5, Vector2i(0, 0)], [10, Vector2i(0, 2)], [5, Vector2i(0, 1)], [10, Vector2i(0, 3)], [5, Vector2i(1, 0)], [10, Vector2i(1, 2)], [5, Vector2i(1, 1)], [10, Vector2i(1, 3)], [6, Vector2i(0, 0)], [10, Vector2i(2, 2)], [6, Vector2i(0, 1)], [10, Vector2i(2, 3)], [6, Vector2i(1, 0)], [10, Vector2i(3, 2)], [6, Vector2i(1, 1)], [10, Vector2i(3, 3)], [8, Vector2i(0, 0)], [10, Vector2i(4, 2)], [8, Vector2i(0, 1)], [10, Vector2i(4, 3)], [8, Vector2i(1, 0)], [10, Vector2i(5, 2)], [8, Vector2i(1, 1)], [10, Vector2i(5, 3)], [9, Vector2i(0, 0)], [10, Vector2i(6, 2)], [9, Vector2i(0, 1)], [10, Vector2i(6, 3)], [9, Vector2i(1, 0)], [10, Vector2i(7, 2)], [9, Vector2i(1, 1)], [10, Vector2i(7, 3)], [11, Vector2i(0, 0)], [22, Vector2i(0, 0)], [11, Vector2i(0, 1)], [22, Vector2i(0, 1)], [11, Vector2i(1, 0)], [22, Vector2i(1, 0)], [11, Vector2i(1, 1)], [22, Vector2i(1, 1)], [12, Vector2i(0, 0)], [22, Vector2i(2, 0)], [12, Vector2i(0, 1)], [22, Vector2i(2, 1)], [12, Vector2i(1, 0)], [22, Vector2i(3, 0)], [12, Vector2i(1, 1)], [22, Vector2i(3, 1)], [13, Vector2i(0, 0)], [22, Vector2i(4, 0)], [13, Vector2i(0, 1)], [22, Vector2i(4, 1)], [13, Vector2i(1, 0)], [22, Vector2i(5, 0)], [13, Vector2i(1, 1)], [22, Vector2i(5, 1)], [14, Vector2i(0, 0)], [22, Vector2i(6, 0)], [14, Vector2i(0, 1)], [22, Vector2i(6, 1)], [14, Vector2i(1, 0)], [22, Vector2i(7, 0)], [14, Vector2i(1, 1)], [22, Vector2i(7, 1)], [15, Vector2i(0, 0)], [22, Vector2i(8, 0)], [15, Vector2i(0, 1)], [22, Vector2i(8, 1)], [15, Vector2i(1, 0)], [22, Vector2i(9, 0)], [15, Vector2i(1, 1)], [22, Vector2i(9, 1)], [16, Vector2i(0, 0)], [22, Vector2i(0, 2)], [16, Vector2i(0, 1)], [22, Vector2i(0, 3)], [16, Vector2i(1, 0)], [22, Vector2i(1, 2)], [16, Vector2i(1, 1)], [22, Vector2i(1, 3)], [17, Vector2i(0, 0)], [22, Vector2i(2, 2)], [17, Vector2i(0, 1)], [22, Vector2i(2, 3)], [17, Vector2i(1, 0)], [22, Vector2i(3, 2)], [17, Vector2i(1, 1)], [22, Vector2i(3, 3)], [18, Vector2i(0, 0)], [22, Vector2i(4, 2)], [18, Vector2i(0, 1)], [22, Vector2i(4, 3)], [18, Vector2i(1, 0)], [22, Vector2i(5, 2)], [18, Vector2i(1, 1)], [22, Vector2i(5, 3)], [19, Vector2i(0, 0)], [22, Vector2i(6, 2)], [19, Vector2i(0, 1)], [22, Vector2i(6, 3)], [19, Vector2i(1, 0)], [22, Vector2i(7, 2)], [19, Vector2i(1, 1)], [22, Vector2i(7, 3)], [20, Vector2i(0, 0)], [22, Vector2i(8, 2)], [20, Vector2i(0, 1)], [22, Vector2i(8, 3)], [20, Vector2i(1, 0)], [22, Vector2i(9, 2)], [20, Vector2i(1, 1)], [22, Vector2i(9, 3)], [21, Vector2i(0, 0)], [22, Vector2i(0, 4)], [21, Vector2i(0, 1)], [22, Vector2i(0, 5)], [21, Vector2i(1, 0)], [22, Vector2i(1, 4)], [21, Vector2i(1, 1)], [22, Vector2i(1, 5)]]
+pattern_0 = SubResource("TileMapPattern_s62cf")
+pattern_1 = SubResource("TileMapPattern_3yn03")
diff --git a/Asserts/ChesspieceBase.tres b/Asserts/ChesspieceBase.tres
new file mode 100644
index 0000000..49cbf6b
--- /dev/null
+++ b/Asserts/ChesspieceBase.tres
@@ -0,0 +1,4 @@
+[gd_resource type="CompressedTexture2D" format=3 uid="uid://bthav6cae4fni"]
+
+[resource]
+load_path = "res://.godot/imported/base.png-b2215abe8c7e720db36c2fb00d361b79.ctex"
diff --git a/Asserts/icon.svg b/Asserts/icon.svg
new file mode 100644
index 0000000..3fe4f4a
--- /dev/null
+++ b/Asserts/icon.svg
@@ -0,0 +1 @@
+
diff --git a/Asserts/icon.svg.import b/Asserts/icon.svg.import
new file mode 100644
index 0000000..54b86da
--- /dev/null
+++ b/Asserts/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dffqd1ao0thh0"
+path="res://.godot/imported/icon.svg-3f95d89ee926850c516495805de0c195.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/icon.svg"
+dest_files=["res://.godot/imported/icon.svg-3f95d89ee926850c516495805de0c195.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Asserts/pic/base.aseprite b/Asserts/pic/base.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..28797c54e6978f1f97fe62a80e84ee4b0eadc9ef
GIT binary patch
literal 509
zcmey%$iVPmDIyADL{+>Y7C4ZK?VUJqy?x2n*Qq}3)of`pao(;%&q{o63Mz6
zAe)5&D5?fzC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_
zy?u#6LQ{0!!{pij7yeNQ(wDH!es@>mrh(*KztGy?-DJS*nBoqmw_fC7i>
z-T#+FtKJChEpP6-e2=$|g=LnAaNeokHKs|~p9#15fY01^4Ju?>1
zaxY$Es;qWt(Z{A$?x);dr~eew`=m6>cJ;ws_b+`Gh_rt0$ReHj!`OaOZ^TjkIyU>?
z|3vNo|NVLB_w2j%6
literal 0
HcmV?d00001
diff --git a/Asserts/pic/base.png b/Asserts/pic/base.png
new file mode 100644
index 0000000000000000000000000000000000000000..2771dd70b170dfcf87ce0149ecc581f8f9bc65a6
GIT binary patch
literal 317
zcmV-D0mA-?P)Px#_en%SR9J=Wm$4DUAPhypmj%+MN}CNbPDaZ(*&wYew;sVMa`=9PBpaO!DflHI
z-bXqc5raYR*K^^GU3OD%=yZFi?06A#0$MN1Q%{Z#lTn
zH=?7X;3!&(ECaRG+(4|E{v>2I&po|q!^2X+?^QKos)UVz`%UX)5S5Q
zV$R#S)a3UlGDflbN@4)Pug(VX+W@Ua>R%zi}#$q`R`R*6*vj^dZ^F-UWHre)lf?FP7{$TW0b6`Xz5$IX5r-v~Jl#VJF7y
zuErLH%sGtZ(Rzz@I22y)Z`iG~*HGuEfbppY22)3e4MibKpO!bIN;sWpNKjoau`si3
zlGb;Ly-sW_+IQ0rn3{IJYq}!#Xfor$Q-RlCO^Nc?TC_S>E7_`@ha*ftU=0sbSY%sd
zonqP)#_y9REDG@up7__{k_Gd-O(L7W91@vqzDRvvNXU^}|1Q{RGV<>VTe;?E
z&_x&dP4agPr!uk!<|(cFkyK?NcR;rIe3SdlfK&HoDa$Y`c={P0iZz?E>HJFp{xnOm
zE1P7SuFoMJ8
z1T>3
zZ2x!N&W%kdu$-S~cqqdA>12TqiYI;sWQT5U5y~s%+1~ZsG-u;skuRLj8xod2`On&a
zL#aAf@_uN@%f9#Xz8{$MIOCPfg}|H9%5|@p`yW5qa`Sb>q5D&hIwfj^*=X*Jv)Ni!@cWuhO
z6ur6i#Y|pxoLO^(pY7Q`ZK=P7*R%Ue8iIZcy*oSWcy{6Z`_JyLX_yqxRQ_k_nyLC%
z%d`IZa%=olEjX^9s{J!4dC9Z;dmz#=+otK8hS~hrgV=R`toiY#$6rTzeWdy$TEio=FYS@jO)
x(Qo>{i=TQ_-3Cd5`1C>yU7F3fvgPAv{!pK13_@BbWr5k9!PC{xWt~$(69DJq+6Mpt
literal 0
HcmV?d00001
diff --git a/Asserts/pic/chessboard.png.import b/Asserts/pic/chessboard.png.import
new file mode 100644
index 0000000..41ada88
--- /dev/null
+++ b/Asserts/pic/chessboard.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dolq1l3fr7jep"
+path="res://.godot/imported/chessboard.png-838556aeae0a8bec2d6765fe801da1f5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/chessboard.png"
+dest_files=["res://.godot/imported/chessboard.png-838556aeae0a8bec2d6765fe801da1f5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/col.aseprite b/Asserts/pic/col.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..b2e3816b0c9c4587fb4523ad4652c0d3aab05f9d
GIT binary patch
literal 385
zcmZoej~%*u)k3o3K!T4Q8%Gd%fv^{)QuUS0VH
zAPZO&n1Lh={0A~P7@p4F_jF^Ef?*(#$EpC4`_BZSLC#WOsF?HitRpXj0uRf<&+C~i
sEmp{Q1YDT%-saoRnYUhF*`Tui<$vk<=bwN6Sz`yL{=|tZFlT%P0O>JVsQ>@~
literal 0
HcmV?d00001
diff --git a/Asserts/pic/col.png b/Asserts/pic/col.png
new file mode 100644
index 0000000000000000000000000000000000000000..72fecb51f1b41b139ca0454b1da6887c3f32f878
GIT binary patch
literal 135
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}j-D=#ArY-_
z&p8S*DDWIP&>$_Nz@9lZn0+dpO1)z4*}Q$iB}Eg~k8
literal 0
HcmV?d00001
diff --git a/Asserts/pic/col.png.import b/Asserts/pic/col.png.import
new file mode 100644
index 0000000..cee18c4
--- /dev/null
+++ b/Asserts/pic/col.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d2evtffkyicvw"
+path="res://.godot/imported/col.png-e153880b8e16fd94ae5361dcaf860c4e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/col.png"
+dest_files=["res://.godot/imported/col.png-e153880b8e16fd94ae5361dcaf860c4e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/col.svg b/Asserts/pic/col.svg
new file mode 100644
index 0000000..56a6d86
--- /dev/null
+++ b/Asserts/pic/col.svg
@@ -0,0 +1,1027 @@
+
+
\ No newline at end of file
diff --git a/Asserts/pic/col.svg.import b/Asserts/pic/col.svg.import
new file mode 100644
index 0000000..8b45920
--- /dev/null
+++ b/Asserts/pic/col.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c0n20m2jiqh0p"
+path="res://.godot/imported/col.svg-0ffee336a198601f21d46ac9370e8b33.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/col.svg"
+dest_files=["res://.godot/imported/col.svg-0ffee336a198601f21d46ac9370e8b33.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/Asserts/pic/cross.aseprite b/Asserts/pic/cross.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..83d94ebc866e297082ae7cb9ac795dae331b14ae
GIT binary patch
literal 394
zcmeBTWMFu(l#xLJ41pYm6d*)}PiDX?C
zkj=sX6jcB+loU){HEhx>4g15a?-#1wT#)we@T}jT%w|3f$l7OMJ|)jPQ$NUC#mL6e
z-oC^jp(#4=Ve;(%@n@f$zWwL_|NpbsZf~h;&&RMxDbTd5pdiAdU>0Vv=
z1|SPq6qtb|4EzT&I2fMJ-uHB4lY(IskjJV3k^9dCp+U}4V5pe0yDsVA|JNx=Y;0@>
rYT@=vE3W(t{O$f$err95(Z1@hfw7yG+=~xT0jSKx40{G$rAJBtL8n}8
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross.png b/Asserts/pic/cross.png
new file mode 100644
index 0000000000000000000000000000000000000000..24f134787c824e7ec8b3a872182222176b8aee78
GIT binary patch
literal 154
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}A)YRdArY-_
zuQ~EEDDt>m^_CE7BSj*4wZPrE6D<4vVSU3a}
y92y#)H!!u_FLaw1|6sSKu$T}d6G&V^nLQ|oXRqd?tFwXTGkCiCxvX)}PiDX?C
zkj=sX6jcB+loU){HEhx>4g15a?-#1wT#)we@T}jT%w|3f$l7OMJ|)jPQ$NUC#mL6e
z-oC^jp(#4=Ve;(%@n@f$zWwL_|NpbsZf~h;&&RMxDbTd5pdiAdU>0Vv=
z1|SPq6qtb|4EzT&I2fMJ-uHB4lY(I^kjJV3k^9dCp+U}4V5pe$_QFP91_KUe$M^QE
zk5ibBDSEjbm>Bfo==5hQMXssFp62QI@9z6>_rpgJxGNp}`)_>>2>i+XcQemt?cF5+
DFEe16
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_0.png b/Asserts/pic/cross_0.png
new file mode 100644
index 0000000000000000000000000000000000000000..15253165d8161c8a4b8c01585b13e2821083cf8c
GIT binary patch
literal 165
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}@t!V@ArY-_
zuQ~D_FyLW1=o@O3C}7bjW|5d+q04SQ>GzG_(Q=WV?1Y*g#RkhK2GpQ*8RN*lv<
z83Ys@8Wr}e
z0muRt1!f=#10WZ2Fg%^T@9D-S1w(%zk5vI8_n!$ugPf(nP%-E2MMqu+1p(%Rzrq`3
qWah{iIQ9uVGkouRYgV!-!v(FA*Zp$Je_Pjrz~Ae?q{Z*3P6hzC2~;Zp
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_1.png b/Asserts/pic/cross_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..19d2bde57376b05d83655c701b9f1a660fcf3150
GIT binary patch
literal 150
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}0iG_7ArY-_
zuR8KFDDt>mJkMrq;c(8&nU8M*v)qFKp}O~T_nldq`NfQLj{c_|42(=H90CQb3XJ*t
tAKO&jj???f{y;@}4)}PiDX?C
zkj=sX6jcB+loU){HEhx>4g15a?-#1wT#)we@T}jT%w|3f$l7OMJ|)jPQ$NUC#mL6e
z-oC^jp(#4=Ve;(%@n@f$zWwL_|NpbsZf~h;&&RMxDbTd5pdiAdU>0Vv=
z1|SPq6qtb|4EzT&I2fMJ-uHB4lY(IgkjJV3k^9dCp+U}4V5pe$_Tolf1_cfV$8Ylw
w72atmG+F1+BNA7rTEk>{+>7DC%8nnmdT*Eh_lpOC{hJoAu1_=n9Hb};0H=XgTL1t6
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_1_2.png b/Asserts/pic/cross_1_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..fdf4fb1f20c5e910feaacb9a9e004d2bd6f43b6f
GIT binary patch
literal 156
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY-_
zuWsZ$puppDkv~b&EJ4OCSq4b1h)~d!(fnU^+doflt)*Gx$%)5VIRq3O8XEi=gg(5t
z(#!5Uet2ss!@V~g{~H(>nOHakCgd-6U9#;QqpU2qJ^L;0+dvx_JYD@<);T3K0RRz2
BFZuug
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_1_2.png.import b/Asserts/pic/cross_1_2.png.import
new file mode 100644
index 0000000..6399a5c
--- /dev/null
+++ b/Asserts/pic/cross_1_2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://detb77vbwc1e0"
+path="res://.godot/imported/cross_1_2.png-e7369aafbf782a84cd02d7b0c4c08fb5.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/cross_1_2.png"
+dest_files=["res://.godot/imported/cross_1_2.png-e7369aafbf782a84cd02d7b0c4c08fb5.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/cross_2.aseprite b/Asserts/pic/cross_2.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..a74e20d6c6c62f019b5502d211a35ebfede72560
GIT binary patch
literal 382
zcmbr}e
z0muRt1!f=#1OI^x4u+?*_dVU%q+sX=^}lFO>iQ
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_2.png.import b/Asserts/pic/cross_2.png.import
new file mode 100644
index 0000000..26eba19
--- /dev/null
+++ b/Asserts/pic/cross_2.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://hpoynvjiavth"
+path="res://.godot/imported/cross_2.png-74689dd00eeb108339596295474720fb.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/cross_2.png"
+dest_files=["res://.godot/imported/cross_2.png-74689dd00eeb108339596295474720fb.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/cross_plus.aseprite b/Asserts/pic/cross_plus.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..01f5c1b12a295392c77440848aa85e71c1e8ccdc
GIT binary patch
literal 448
zcmX@W$iVPmDIyADL{+>3Ji=OK?VUJqy=yQn*Qq}3)of`pao(;%&q{o63MzO
zAe)5&D5?NtC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_
zy?u#6LQ{0!!{pijSlrbBoUB1M7WR|zK`Gh1j-8&AeDzB6=Tc!nG=6y2D`R%WMp}h>j
HHyV2Z&B}Fj
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_plus.png b/Asserts/pic/cross_plus.png
new file mode 100644
index 0000000000000000000000000000000000000000..664743b45f4a8bb57358d79fc8d9751df6069ca8
GIT binary patch
literal 220
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}(>z@qLn2z=
zUOUU%puofWpuJGiygBYvCPMVap>^b7ssuskZ9lKY#H;e_U<=!Avg
zTvM549x$+59ALc6$jBgjT*!1U^XvKNU4BlOlJrgJtpm3a^A&Y@*N)N#*N!;GW`TOv
z#T--9EtmGwUgC&V17$H$K=32Z3d^C)LSwo?kb+SyusC{^RZMRqsD&Yy{Aha
REC;%f!PC{xWt~$(699<2OyADL{+>3Ji=OK?VUJqy^9en*Qq}3)of`pao(;%&q{o63MzO
zAe)5&D5?NtC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_
zy?u#6LQ{0!!{pijZ2QRjMDr0*y^oOr0Y$4=L5kN2T)duf?=E+~_{RI&UEa8x^lY<{PP2~VUCrCy
pHuwInhevX67QEV;^}s?`YKPrhwodQOj;}8M`=58t%x=<=_W-`7Y#;yt
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_plus_1.png b/Asserts/pic/cross_plus_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..17facd8f44674abb70d45dc0e013ba041cbb8c63
GIT binary patch
literal 208
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}U7jwEArY-_
zuioZuP~c&`kQ8%_SLXOdiFRHI_xg!H7Wm4m#r^xiz^D3US=1-L#^f#=8K5o@uw(Ra
z`SRXkUiQgHM^EpX`)tzQ5bX=icNpHD-N~_)%R_LLzk=h6|4e#^o=6u7q}3*fB;M+9
z6L>cF1MkC2UGoLyADL{+>3Ji=OK?VUJqy->E{w&SrIZ;mf(yY|pwrR|M7wv#?MwEqwA
fsaMwh-+!zBwyg5TfAU-FL3&pv+cTV-G|>$J&}wfb
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_set.png b/Asserts/pic/cross_set.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9527fdbafafd32e7a1261f6c037201ff099a552
GIT binary patch
literal 206
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9iA?ZArY-_
zr(NW1FyL`n|Hvrsfkof7!d;HXFY4DfJt%bZdiZYhl9S4wv!~p9#Tj_Jj)9?S^(tV&EJyTCc=8aB1k=nQKA1aPw)Fi{nIYToRrKH
zc~0Fp!Qf+HmT={RoIwN2hmh>As%K_0GD{p_n7NA~I#kWM{NY0fpqm&xUHx3vIVCg!
E04%RgK>z>%
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_set.png.import b/Asserts/pic/cross_set.png.import
new file mode 100644
index 0000000..b7f025a
--- /dev/null
+++ b/Asserts/pic/cross_set.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b7ot4wbjukh3b"
+path="res://.godot/imported/cross_set.png-fe860dfe18afc7f7f6a5db95b380d4f0.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/cross_set.png"
+dest_files=["res://.godot/imported/cross_set.png-fe860dfe18afc7f7f6a5db95b380d4f0.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/cross_set_plus.aseprite b/Asserts/pic/cross_set_plus.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..64294931a5036c081c09b4fe075528af722d2939
GIT binary patch
literal 400
zcmbQh$iVPmDIyADL{+>3Ji=OK?VUJqy-QFn*Qq}3)of`pao(;%&q{o63MzO
zAe)5&D5?NtC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_
zy?u#6LQ{0!!{pijmR&vFFWpV!#eB#ioc7$
N@$>&?%!&Rh1^{^GUwQxl
literal 0
HcmV?d00001
diff --git a/Asserts/pic/cross_set_plus.png b/Asserts/pic/cross_set_plus.png
new file mode 100644
index 0000000000000000000000000000000000000000..99a2ced09a9c1fa6bfa63efcf6e05450708a9475
GIT binary patch
literal 177
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*`6+rArY;~
zd+L%7*0(XT_%LVwT*2%nYw)TekiEw$;R<8(A;uma9vgz9$BGyoAF45+nUxF2?s78SiyXvh+*3fHFI^IvjP&OK)#!-gD(TacYn#c
TIKu`xptTI1u6{1-oD!MyADL{+>3Ji=OK?VUJqy?w~n*Qq}3)of`pao(;%&q{o63MzO
zAe)5&D5?NtC@Gk@YS^S%8uo`--!D|VxghP`;aR^wnaz9}khRaid`g~orhbsOijj?_
zy?u#6LQ{0!!{pijtFs^`{w?s_x;PQqk~gtymWn?)8?VRdHIWomP8W?xu%n84j(kuX|MjIqxgPRS9oby
U;kFs`HrRx^OTJ?@m><6%0CxkIPyhe`
literal 0
HcmV?d00001
diff --git a/Asserts/pic/eight_cross.png b/Asserts/pic/eight_cross.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc5642e2011e474ab6d97888ee78847173347efd
GIT binary patch
literal 309
zcmV-50m}Y~P)Px#?@2^KR9J<@*TE42Aq<7#w~Wo$f#p~l<
literal 0
HcmV?d00001
diff --git a/Asserts/pic/eight_cross.png.import b/Asserts/pic/eight_cross.png.import
new file mode 100644
index 0000000..1ac8eb8
--- /dev/null
+++ b/Asserts/pic/eight_cross.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnf7mbjy0dnof"
+path="res://.godot/imported/eight_cross.png-ec3b7037c7e6f70719821e550766fe87.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/eight_cross.png"
+dest_files=["res://.godot/imported/eight_cross.png-ec3b7037c7e6f70719821e550766fe87.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Asserts/pic/row.aseprite b/Asserts/pic/row.aseprite
new file mode 100644
index 0000000000000000000000000000000000000000..c8f7c17b1c8f636f3ef8eef42742ead66003083f
GIT binary patch
literal 372
zcmXS6WMFu(l#xLJ41pYm6d*r}e
z0muRt1!f=#1OI^x4u+?*_dVU%q+sX*`qYfaI_yBDKoG{@bm@NioXe@KH^d<#
b3~w6PZ)&jZ-E?Z(eUON!tDnm{r-UW|CjctW
literal 0
HcmV?d00001
diff --git a/Asserts/pic/row.png.import b/Asserts/pic/row.png.import
new file mode 100644
index 0000000..35eed02
--- /dev/null
+++ b/Asserts/pic/row.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://3c60m8fw5pqi"
+path="res://.godot/imported/row.png-152afe43f242ba541b6fd5a83ddba791.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Asserts/pic/row.png"
+dest_files=["res://.godot/imported/row.png-152afe43f242ba541b6fd5a83ddba791.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Chinese_Chess.csproj b/Chinese_Chess.csproj
new file mode 100644
index 0000000..887d5d3
--- /dev/null
+++ b/Chinese_Chess.csproj
@@ -0,0 +1,8 @@
+
+
+ net6.0
+ net7.0
+ net8.0
+ true
+
+
\ No newline at end of file
diff --git a/Chinese_Chess.sln b/Chinese_Chess.sln
new file mode 100644
index 0000000..bc723ec
--- /dev/null
+++ b/Chinese_Chess.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.002.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Chinese_Chess", "Chinese_Chess.csproj", "{A43AD93A-A3A8-43DA-B00B-8ED7A960CCAC}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A43AD93A-A3A8-43DA-B00B-8ED7A960CCAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A43AD93A-A3A8-43DA-B00B-8ED7A960CCAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A43AD93A-A3A8-43DA-B00B-8ED7A960CCAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A43AD93A-A3A8-43DA-B00B-8ED7A960CCAC}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {1C372CC9-BDDA-4375-8F5E-506378E99FCC}
+ EndGlobalSection
+EndGlobal
diff --git a/Main.cs b/Main.cs
new file mode 100644
index 0000000..a12e648
--- /dev/null
+++ b/Main.cs
@@ -0,0 +1,42 @@
+using Godot;
+using System;
+
+public partial class Main : Node2D
+{
+
+ // public void ResizeChessboardToFitScreen()
+ // {
+ // var viewportSize = GetViewportRect().Size;
+ // var designSize = new Vector2(800, 800); // 设计时棋盘的尺寸,这里假设为正方形
+ // var screenAspectRatio = viewportSize.X / viewportSize.Y;
+ // var boardAspectRatio = designSize.X / designSize.Y;
+
+ // // 计算保持棋盘比例的缩放因子
+ // float scaleFactor;
+ // if (screenAspectRatio > boardAspectRatio)
+ // {
+ // // 屏幕更宽,按高度缩放
+ // scaleFactor = viewportSize.Y / designSize.Y;
+ // }
+ // else
+ // {
+ // // 屏幕更高或相等,按宽度缩放
+ // scaleFactor = viewportSize.X / designSize.X;
+ // }
+
+ // // 应用缩放
+ // GetNode("Chessboard").Scale = new Vector2(scaleFactor, scaleFactor);
+ // }
+
+ // Called when the node enters the scene tree for the first time.
+ public override void _Ready() {
+ // GetTree().Connect("screen_resized", ResizeChessboardToFitScreen);
+ // Button undo = GetNode