fix: resolve GDScript type errors and warnings

- Fix Array[Card] type mismatch in move_generator.gd (rank_counts arrays)
- Fix shadowed variables in card.gd (create, from_packed parameters)
- Fix integer division warning in deck.gd (/ → //)
- Fix unused_signal warnings in event_bus.gd (per-signal annotations)
- Fix unused_parameter warning in audio_manager.gd
- Normalize whitespace in training_controller.gd
This commit is contained in:
xiaji
2026-05-30 07:55:38 +08:00
parent 3ca5dbba99
commit f4a2686810
7 changed files with 102 additions and 96 deletions

View File

@@ -11,8 +11,10 @@ config_version=5
[application] [application]
config/name="Guandan Card Game" config/name="Guandan Card Game"
config/version="0.1.0"
config/description="掼蛋卡牌训练模式" config/description="掼蛋卡牌训练模式"
config/version="0.1.0"
run/main_scene="res://src/ui/scenes/main_menu.tscn"
config/features=PackedStringArray("4.6")
[autoload] [autoload]

View File

@@ -16,5 +16,5 @@ func play_victory() -> void:
func play_tribute() -> void: func play_tribute() -> void:
pass pass
func set_muted(muted: bool) -> void: func set_muted(_muted: bool) -> void:
pass pass

View File

@@ -1,9 +1,13 @@
# src/autoload/event_bus.gd # src/autoload/event_bus.gd
@warning_ignore("unused_signal")
extends Node extends Node
@warning_ignore("unused_signal")
signal player_played_cards(player_idx: int, play_type: int, cards: Array) signal player_played_cards(player_idx: int, play_type: int, cards: Array)
@warning_ignore("unused_signal")
signal bomb_detonated(player_idx: int, rank: int) signal bomb_detonated(player_idx: int, rank: int)
@warning_ignore("unused_signal")
signal player_finished(player_idx: int, position: int) signal player_finished(player_idx: int, position: int)
@warning_ignore("unused_signal")
signal turn_changed(player_idx: int) signal turn_changed(player_idx: int)
@warning_ignore("unused_signal")
signal game_over(winner_team: int, reason: String) signal game_over(winner_team: int, reason: String)

View File

@@ -12,12 +12,12 @@ var original_id: int
var _suit: int var _suit: int
var _rank: int var _rank: int
static func create(original_id: int, suit: int, rank: int) -> Card: static func create(p_original_id: int, p_suit: int, p_rank: int) -> Card:
var c := Card.new() var c := Card.new()
c.original_id = original_id c.original_id = p_original_id
c._suit = suit c._suit = p_suit
c._rank = rank c._rank = p_rank
c.card_id = original_id c.card_id = p_original_id
return c return c
static func make_full_deck_ids() -> Array[int]: static func make_full_deck_ids() -> Array[int]:
@@ -26,8 +26,8 @@ static func make_full_deck_ids() -> Array[int]:
ids.append(i) ids.append(i)
return ids return ids
static func card_id_from_deck(original_id: int, deck_index: int) -> int: static func card_id_from_deck(p_original_id: int, deck_index: int) -> int:
return original_id + deck_index * 54 return p_original_id + deck_index * 54
func suit() -> int: func suit() -> int:
return _suit return _suit
@@ -60,9 +60,9 @@ func to_packed() -> int:
return (_suit << 8) | (_rank & 0xFF) return (_suit << 8) | (_rank & 0xFF)
static func from_packed(packed: int) -> Card: static func from_packed(packed: int) -> Card:
var suit := (packed >> 8) & 0xFF var p_suit := (packed >> 8) & 0xFF
var rank := packed & 0xFF var p_rank := packed & 0xFF
return Card.create(0, suit, rank) return Card.create(0, p_suit, p_rank)
func _to_string() -> String: func _to_string() -> String:
var suits := ["S", "H", "C", "D", "SJ", "BJ"] var suits := ["S", "H", "C", "D", "SJ", "BJ"]

View File

@@ -16,7 +16,7 @@ static func _rank_for(original_id: int) -> int:
return 15 return 15
if original_id == 53: if original_id == 53:
return 16 return 16
return 2 + (original_id / 4) return 2 + (original_id // 4)
static func create(seed: int = -1) -> Deck: static func create(seed: int = -1) -> Deck:
var d := Deck.new() var d := Deck.new()

View File

@@ -42,10 +42,10 @@ static func _gen_pairs(sorted: Array[Card], results: Array[HandEvaluator.Evaluat
var rank_counts := {} var rank_counts := {}
for c in sorted: for c in sorted:
var rk := c.rank() var rk := c.rank()
if not rank_counts.has(rk): rank_counts[rk] = [] if not rank_counts.has(rk): rank_counts[rk] = [] as Array[Card]
rank_counts[rk].append(c) rank_counts[rk].append(c)
for rk in rank_counts: for rk in rank_counts:
var cards: Array = rank_counts[rk] var cards: Array[Card] = rank_counts[rk]
if cards.size() >= 2: if cards.size() >= 2:
var ep := HandEvaluator.evaluate(cards.slice(0, 2), current_rank, config) var ep := HandEvaluator.evaluate(cards.slice(0, 2), current_rank, config)
if ep != null: results.append(ep) if ep != null: results.append(ep)
@@ -54,10 +54,10 @@ static func _gen_triples(sorted: Array[Card], results: Array[HandEvaluator.Evalu
var rank_counts := {} var rank_counts := {}
for c in sorted: for c in sorted:
var rk := c.rank() var rk := c.rank()
if not rank_counts.has(rk): rank_counts[rk] = [] if not rank_counts.has(rk): rank_counts[rk] = [] as Array[Card]
rank_counts[rk].append(c) rank_counts[rk].append(c)
for rk in rank_counts: for rk in rank_counts:
var cards: Array = rank_counts[rk] var cards: Array[Card] = rank_counts[rk]
if cards.size() >= 3: if cards.size() >= 3:
var ep := HandEvaluator.evaluate(cards.slice(0, 3), current_rank, config) var ep := HandEvaluator.evaluate(cards.slice(0, 3), current_rank, config)
if ep != null: results.append(ep) if ep != null: results.append(ep)
@@ -77,10 +77,10 @@ static func _gen_bombs(sorted: Array[Card], results: Array[HandEvaluator.Evaluat
var rank_counts := {} var rank_counts := {}
for c in sorted: for c in sorted:
var rk := c.rank() var rk := c.rank()
if not rank_counts.has(rk): rank_counts[rk] = [] if not rank_counts.has(rk): rank_counts[rk] = [] as Array[Card]
rank_counts[rk].append(c) rank_counts[rk].append(c)
for rk in rank_counts: for rk in rank_counts:
var cards: Array = rank_counts[rk] var cards: Array[Card] = rank_counts[rk]
if cards.size() >= 4: if cards.size() >= 4:
var ep := HandEvaluator.evaluate(cards.slice(0, 4), current_rank, config) var ep := HandEvaluator.evaluate(cards.slice(0, 4), current_rank, config)
if ep != null: results.append(ep) if ep != null: results.append(ep)
@@ -112,16 +112,16 @@ static func _gen_rocket(sorted: Array[Card], results: Array[HandEvaluator.Evalua
var ep := HandEvaluator.evaluate(cards, current_rank, config) var ep := HandEvaluator.evaluate(cards, current_rank, config)
if ep != null: results.append(ep) if ep != null: results.append(ep)
static func _find_pairs(hand: Array[Card]) -> Array: static func _find_pairs(hand: Array[Card]) -> Array[Array]:
var result := [] var result: Array[Array] = []
var rank_groups := {} var rank_groups := {}
for c in hand: for c in hand:
var rk := c.rank() var rk := c.rank()
if not rank_groups.has(rk): rank_groups[rk] = [] if not rank_groups.has(rk): rank_groups[rk] = [] as Array[Card]
rank_groups[rk].append(c) rank_groups[rk].append(c)
for rk in rank_groups: for rk in rank_groups:
if rank_groups[rk].size() >= 2: if rank_groups[rk].size() >= 2:
result.append(rank_groups[rk].slice(0, 2)) result.append(rank_groups[rk].slice(0, 2) as Array[Card])
return result return result
static func _card_in(cards: Array[Card], target: Card) -> bool: static func _card_in(cards: Array[Card], target: Card) -> bool: