fix: resolve tab chars, typing, and parse errors in UI and game controller
This commit is contained in:
@@ -16,10 +16,12 @@ static func generate(hand: Array[Card], current_rank: int, config: RuleConfig) -
|
||||
results.append(pass_play)
|
||||
if hand.is_empty():
|
||||
return results
|
||||
var sorted := hand.duplicate(false)
|
||||
var sorted: Array[Card] = []
|
||||
for item: Card in hand:
|
||||
sorted.append(item)
|
||||
_sort(sorted)
|
||||
var seen_ranks := {}
|
||||
for c in sorted:
|
||||
for c: Card in sorted:
|
||||
var rk := c.rank()
|
||||
if seen_ranks.get(rk, 0) < 4:
|
||||
var ep := HandEvaluator.evaluate([c], current_rank, config)
|
||||
|
||||
@@ -94,11 +94,11 @@ func _next_alive_player() -> void:
|
||||
return
|
||||
|
||||
func _trigger_ai(player_idx: int) -> void:
|
||||
var ai := ai_players.get(player_idx)
|
||||
var ai: BaseAI = ai_players.get(player_idx) as BaseAI
|
||||
if ai == null:
|
||||
return
|
||||
var hand8: Array = game_state.get_hand(player_idx)
|
||||
var decision := ai.decide(hand8, game_state.round.table, game_state.current_rank, game_state.rule_config)
|
||||
var decision: HandEvaluator.EvaluatedPlay = ai.decide(hand8, game_state.round.table, game_state.current_rank, game_state.rule_config)
|
||||
if decision.type == -1:
|
||||
_apply_play(player_idx, decision)
|
||||
else:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
class_name CardNode
|
||||
extends Control
|
||||
|
||||
signal card_clicked(card_node)
|
||||
signal card_double_clicked(card_node)
|
||||
signal card_clicked(card_node: CardNode)
|
||||
signal card_double_clicked(card_node: CardNode)
|
||||
|
||||
var card_data: Card = null
|
||||
var is_selected: bool = false
|
||||
@@ -11,28 +11,28 @@ var is_selected: bool = false
|
||||
@onready var label: Label = $Label
|
||||
|
||||
func setup(card: Card) -> void:
|
||||
card_data = card
|
||||
update_display()
|
||||
card_data = card
|
||||
update_display()
|
||||
|
||||
func update_display() -> void:
|
||||
if card_data == null:
|
||||
return
|
||||
var suits := ["S", "H", "C", "D", "SJ", "BJ"]
|
||||
var ranks := ["", "", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "SJ", "BJ"]
|
||||
var suit := card_data.suit()
|
||||
var rank := card_data.rank()
|
||||
if rank < ranks.size() and suit < suits.size():
|
||||
label.text = "%s %s" % [suits[suit], ranks[rank]]
|
||||
modulate = Color.WHITE if not is_selected else Color(1.2, 1.2, 0.8)
|
||||
if card_data == null:
|
||||
return
|
||||
var suits := ["S", "H", "C", "D", "SJ", "BJ"]
|
||||
var ranks := ["", "", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "SJ", "BJ"]
|
||||
var suit := card_data.suit()
|
||||
var rank := card_data.rank()
|
||||
if rank < ranks.size() and suit < suits.size():
|
||||
label.text = "%s %s" % [suits[suit], ranks[rank]]
|
||||
modulate = Color.WHITE if not is_selected else Color(1.2, 1.2, 0.8)
|
||||
|
||||
func set_selected(sel: bool) -> void:
|
||||
is_selected = sel
|
||||
update_display()
|
||||
is_selected = sel
|
||||
update_display()
|
||||
|
||||
func _on_gui_input(event: InputEvent) -> void:
|
||||
if event is InputEventMouseButton:
|
||||
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
if event.double_click:
|
||||
card_double_clicked.emit(self)
|
||||
else:
|
||||
card_clicked.emit(self)
|
||||
if event is InputEventMouseButton:
|
||||
if event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
|
||||
if event.double_click:
|
||||
card_double_clicked.emit(self)
|
||||
else:
|
||||
card_clicked.emit(self)
|
||||
|
||||
@@ -18,7 +18,7 @@ func update_hand(hand: Array) -> void:
|
||||
card_nodes.clear()
|
||||
selected_cards.clear()
|
||||
for c in hand:
|
||||
var node: CardNode = CARD_SCENE.instantiate()
|
||||
var node := CARD_SCENE.instantiate() as CardNode
|
||||
node.setup(c)
|
||||
node.card_clicked.connect(_on_card_clicked)
|
||||
node.card_double_clicked.connect(_on_card_double_clicked)
|
||||
@@ -40,23 +40,23 @@ func _on_card_double_clicked(card_node: CardNode) -> void:
|
||||
play_requested.emit()
|
||||
|
||||
func _on_hint_pressed() -> void:
|
||||
hint_requested.emit()
|
||||
hint_requested.emit()
|
||||
|
||||
func _on_play_pressed() -> void:
|
||||
play_requested.emit()
|
||||
play_requested.emit()
|
||||
|
||||
func _on_pass_pressed() -> void:
|
||||
pass_requested.emit()
|
||||
pass_requested.emit()
|
||||
|
||||
func disable_input() -> void:
|
||||
for cn in card_nodes:
|
||||
cn.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
for cn in card_nodes:
|
||||
cn.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
|
||||
func enable_input() -> void:
|
||||
for cn in card_nodes:
|
||||
cn.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
for cn in card_nodes:
|
||||
cn.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
|
||||
func clear_selection() -> void:
|
||||
for cn in card_nodes:
|
||||
cn.set_selected(false)
|
||||
selected_cards.clear()
|
||||
for cn in card_nodes:
|
||||
cn.set_selected(false)
|
||||
selected_cards.clear()
|
||||
|
||||
Reference in New Issue
Block a user