This commit is contained in:
francis 2026-03-06 20:12:38 +01:00
commit 3ea7bfd5dc
122 changed files with 568704 additions and 0 deletions

77
Scripts/Rules/bishop.gd Executable file
View file

@ -0,0 +1,77 @@
extends Rule
static func ready(piece: Piece):
pass
static func select(piece: Piece, game: Game):
var pos = piece.to_coord()
var board_size = game.get_node("Board").board_size
print("Board Size: ", board_size)
print("Bishop Pos:", pos)
#piece.possible_movements = []
var tiles_to_left: int = board_size.x-1 - pos.x
print("tiles to left: ", tiles_to_left)
var tiles_to_right: int = (board_size.x-1) - ((board_size.x-1) - pos.x)
print("tiles to right: ", tiles_to_right)
var tiles_to_top: int = board_size.y-1 - pos.y
print("tiles to top: ", tiles_to_top)
var tiles_to_bottom: int = (board_size.y-1) - ((board_size.y-1) - pos.y)
print("tiles to bottom: ", tiles_to_bottom)
#left down
for x in range(pos.x+1, board_size.x, 1):
var move = Vector2i(x - pos.x, -(x - pos.x) )
var other_piece = game.get_piece_at(move+pos)
if other_piece:
if other_piece.is_in_group("Enemy"):
piece.possible_movements.append(move)
break
piece.possible_movements.append(move)
#right down
for x in range(pos.x-1, -1, -1):
var move = Vector2i(x -pos.x, x-pos.x)
var other_piece = game.get_piece_at(move+pos)
if pos.x + move.x < 0:
continue
if pos.y + move.y < 0:
continue
if other_piece:
if other_piece.is_in_group("Enemy"):
piece.possible_movements.append(move)
break
piece.possible_movements.append(move)
#left up
for x in range(pos.x+1, board_size.x, 1):
var move = Vector2i(x - pos.x, (x - pos.x) )
var other_piece = game.get_piece_at(move+pos)
if other_piece:
if other_piece.is_in_group("Enemy"):
piece.possible_movements.append(move)
break
piece.possible_movements.append(move)
#right up
for x in range(pos.x-1, -1, -1):
var move = Vector2i(x -pos.x, -(x - pos.x))
var other_piece = game.get_piece_at(move+pos)
if pos.x + move.x < 0:
continue
if pos.y + move.y < 0:
continue
if other_piece:
if other_piece.is_in_group("Enemy"):
piece.possible_movements.append(move)
break
piece.possible_movements.append(move)
for move in piece.possible_movements:
pass
pass
static func before_move(piece: Piece):
pass