centeraalized reference to gameboard size

This commit is contained in:
2ManyProjects 2025-02-06 20:18:51 -06:00
parent 6ed2dd5f75
commit c4c7bfc06d
3 changed files with 4 additions and 34 deletions

View file

@ -34,7 +34,7 @@ func apply_effect(target_piece = null, board_flow = null, game_state = null):
var target_x = piece_x + dx
var target_y = piece_y + dy
if target_x < 0 or target_x >= 8 or target_y < 0 or target_y >= 8:
if target_x < 0 or target_x >= game_state.boardXSize or target_y < 0 or target_y >= game_state.boardYSize:
continue
if dx == 0 and dy == 0:

View file

@ -42,7 +42,7 @@ func apply_effect(target_piece = null, board_flow = null, game_state = null):
var target_y = king_y + dy
# Skip if outside board bounds
if target_x < 0 or target_x >= 8 or target_y < 0 or target_y >= 8:
if target_x < 0 or target_x >= game_state.boardXSize or target_y < 0 or target_y >= game_state.boardYSize:
continue
# Skip king's own position
@ -126,33 +126,3 @@ func remove_effect():
if game_state.is_connected("turn_changed", Callable(self, "on_turn_changed")):
game_state.disconnect("turn_changed", Callable(self, "on_turn_changed"))
super.remove_effect()
func update_visual_effect(king, board_flow):
# Could be extended with visual feedback like particles or highlighting
var radius_tiles = []
var king_pos = king.get_parent().name.split("-")
var king_x = int(king_pos[0])
var king_y = int(king_pos[1])
for x in range(max(0, king_x - CAPTURE_RADIUS), min(8, king_x + CAPTURE_RADIUS + 1)):
for y in range(max(0, king_y - CAPTURE_RADIUS), min(8, king_y + CAPTURE_RADIUS + 1)):
if abs(x - king_x) + abs(y - king_y) <= CAPTURE_RADIUS:
var tile_name = str(x) + "-" + str(y)
radius_tiles.append(board_flow.get_node(tile_name))
# Highlight affected tiles briefly
for tile in radius_tiles:
var style = StyleBoxFlat.new()
style.bg_color = Color(1, 0, 0, 0.3) # Red tint
tile.add_theme_stylebox_override("normal", style)
# Remove highlight after a short delay
var timer = Timer.new()
board_flow.add_child(timer)
timer.wait_time = 0.5
timer.one_shot = true
timer.timeout.connect(func():
tile.remove_theme_stylebox_override("normal")
timer.queue_free()
)
timer.start()

View file

@ -85,8 +85,8 @@ func place_random_game_tiles(num_tiles: int = 6) -> void:
return
var available_positions = []
for x in range(8):
for y in range(8):
for x in range(game.boardXSize):
for y in range(game.boardYSize):
if y > 1 && y < 6: # Don't place on starting rows
available_positions.append(str(x) + "-" + str(y))