Blame


1 197c1f76 2022-07-22 op extends Node2D
2 e2898e69 2022-07-22 op
3 e78a939a 2022-08-19 op var _ids := 0
4 e2898e69 2022-07-22 op
5 e2898e69 2022-07-22 op
6 e2898e69 2022-07-22 op remote func ping():
7 e2898e69 2022-07-22 op var id := get_tree().get_rpc_sender_id()
8 e2898e69 2022-07-22 op print("PING from ", id)
9 e2898e69 2022-07-22 op rpc_id(id, "pong")
10 e2898e69 2022-07-22 op
11 e2898e69 2022-07-22 op remote func pong():
12 e2898e69 2022-07-22 op var id := get_tree().get_rpc_sender_id()
13 e2898e69 2022-07-22 op print("PONG from ", id)
14 c7ce3e22 2022-08-19 op
15 e78a939a 2022-08-19 op remote func move(id, x, y):
16 e78a939a 2022-08-19 op print("id is ", id)
17 e78a939a 2022-08-19 op for child in $"pieces".get_children():
18 e78a939a 2022-08-19 op if child.id == id:
19 e78a939a 2022-08-19 op child.position = Vector2(x, y)
20 e78a939a 2022-08-19 op return
21 e78a939a 2022-08-19 op print("piece ", id, " not found!")
22 c7ce3e22 2022-08-19 op
23 e78a939a 2022-08-19 op
24 e78a939a 2022-08-19 op remote func setup() -> void:
25 e78a939a 2022-08-19 op print("was ordered to set up!")
26 e78a939a 2022-08-19 op _place(false)
27 e78a939a 2022-08-19 op
28 e78a939a 2022-08-19 op
29 e78a939a 2022-08-19 op func _onmoving(id, x, y):
30 e78a939a 2022-08-19 op rpc_unreliable("move", id, x, y)
31 e78a939a 2022-08-19 op
32 e78a939a 2022-08-19 op
33 e78a939a 2022-08-19 op func _onmoved(id, x, y):
34 e78a939a 2022-08-19 op rpc("move", id, x, y)
35 e78a939a 2022-08-19 op
36 e78a939a 2022-08-19 op
37 c7ce3e22 2022-08-19 op func _addpiece(kind: String, black: bool, off: int) -> void:
38 e78a939a 2022-08-19 op _ids += 1
39 c7ce3e22 2022-08-19 op var piece := preload("res://src/piece/piece.tscn").instance()
40 e78a939a 2022-08-19 op piece.setup(_ids, kind, black)
41 e78a939a 2022-08-19 op piece.connect("moving", self, "_onmoving")
42 e78a939a 2022-08-19 op piece.connect("moved", self, "_onmoved")
43 c7ce3e22 2022-08-19 op $"pieces".add_child(piece)
44 c7ce3e22 2022-08-19 op var y := 70
45 c7ce3e22 2022-08-19 op if not black:
46 c7ce3e22 2022-08-19 op y = 520
47 c7ce3e22 2022-08-19 op if kind == "pawn":
48 c7ce3e22 2022-08-19 op if not black:
49 c7ce3e22 2022-08-19 op y -= 70
50 c7ce3e22 2022-08-19 op else:
51 c7ce3e22 2022-08-19 op y += 70
52 c7ce3e22 2022-08-19 op piece.position = Vector2(off, y)
53 c7ce3e22 2022-08-19 op
54 c7ce3e22 2022-08-19 op
55 c7ce3e22 2022-08-19 op func _on_setup_click() -> void:
56 e78a939a 2022-08-19 op _place(true)
57 e78a939a 2022-08-19 op
58 e78a939a 2022-08-19 op
59 e78a939a 2022-08-19 op func _place(send: bool) -> void:
60 e78a939a 2022-08-19 op if send:
61 e78a939a 2022-08-19 op rpc("setup")
62 e78a939a 2022-08-19 op
63 c7ce3e22 2022-08-19 op # remove and re-place (pun intended) all the pieces
64 e78a939a 2022-08-19 op _ids = 0
65 c7ce3e22 2022-08-19 op for child in $"pieces".get_children():
66 c7ce3e22 2022-08-19 op $"pieces".remove_child(child)
67 c7ce3e22 2022-08-19 op child.queue_free()
68 c7ce3e22 2022-08-19 op
69 c7ce3e22 2022-08-19 op var off := 300
70 c7ce3e22 2022-08-19 op for i in 8: # the pawns
71 c7ce3e22 2022-08-19 op _addpiece("pawn", true, off)
72 c7ce3e22 2022-08-19 op _addpiece("pawn", false, off)
73 c7ce3e22 2022-08-19 op off += 63
74 c7ce3e22 2022-08-19 op
75 c10bf1b1 2022-08-20 op var row := ["rook", "knight", "bishop", "queen", "king", "bishop", "knight", "rook"]
76 c7ce3e22 2022-08-19 op off = 300
77 c7ce3e22 2022-08-19 op for p in row:
78 c7ce3e22 2022-08-19 op _addpiece(p, true, off)
79 c7ce3e22 2022-08-19 op _addpiece(p, false, off)
80 c7ce3e22 2022-08-19 op off += 63
81 e78a939a 2022-08-19 op
82 e78a939a 2022-08-19 op
83 e78a939a 2022-08-19 op func _fai_cose() -> void:
84 e78a939a 2022-08-19 op rpc("ping")
85 bfb892a9 2023-09-23 op
86 bfb892a9 2023-09-23 op
87 bfb892a9 2023-09-23 op func _on_dropqueen_pressed() -> void:
88 bfb892a9 2023-09-23 op pass