online multiplayer chess game (note server currently down)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
extends LineEdit
onready var checkmark: Label = $"../Checkmark"
signal pgn_selected(m_array)
func _init() -> void:
connect("text_changed", self, "text_changed")
func text_changed(new_text: String) -> void:
if !new_text:
checkmark.hide()
return
var status = validate_pgn(new_text)
checkmark.show()
if status:
emit_signal("pgn_selected", status)
checkmark.text = ""
else:
checkmark.text = ""
func validate_pgn(p: String):
var pgn_parser := PGN.new()
var parsed = pgn_parser.parse(p)
if parsed != null:
var c = Chess.new()
if c.load_pgn(text) == OK and !c.game_over():
return parsed.moves
return false
|