maxed out map at 10 x 10 and min at 2 x 6
This commit is contained in:
parent
1cce2fe244
commit
11aa2c458f
3 changed files with 17 additions and 12 deletions
|
|
@ -865,10 +865,10 @@ func updateCastlingRights(fromIdx: int, toIdx: int) -> void:
|
|||
else:
|
||||
castlingRights = castlingRights.replace("k", "").replace("q", "")
|
||||
"rook":
|
||||
var startRank = 7 if piece.isWhite else 0
|
||||
if fromIdx == startRank * 8: # Queen-side rook
|
||||
var startRank = boardYSize - 1 if piece.isWhite else 0
|
||||
if fromIdx == startRank * boardYSize: # Queen-side rook
|
||||
castlingRights = castlingRights.replace("Q" if piece.isWhite else "q", "")
|
||||
elif fromIdx == startRank * 8 + 7: # King-side rook
|
||||
elif fromIdx == startRank * boardYSize + 7: # King-side rook
|
||||
castlingRights = castlingRights.replace("K" if piece.isWhite else "k", "")
|
||||
|
||||
if castlingRights == "":
|
||||
|
|
@ -881,12 +881,12 @@ func updateEnPassantTarget(fromIdx: int, toIdx: int) -> void:
|
|||
return
|
||||
|
||||
# Check for double pawn move
|
||||
var fromRank = fromIdx / 8
|
||||
var toRank = toIdx / 8
|
||||
var fromRank = fromIdx / boardYSize
|
||||
var toRank = toIdx / boardYSize
|
||||
if abs(fromRank - toRank) == 2:
|
||||
var file = fromIdx % 8
|
||||
var file = fromIdx % boardYSize
|
||||
var targetRank = (fromRank + toRank) / 2
|
||||
enPassantTarget = "%s%d" % [char(97 + file), 8 - targetRank]
|
||||
enPassantTarget = "%s%d" % [char(97 + file), boardYSize - targetRank]
|
||||
else:
|
||||
enPassantTarget = "-"
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ var starting_elo = 1000
|
|||
var final_elo = 2100
|
||||
var current_max_level = 0;
|
||||
# var level_unit_distribution = ["", "", "", "nkr", "rnkr", "rnkbr", "rnqkbr", "rnqkbnr", "rnbqkbnr", "rbnqknbnr", "rnbnqknbnr", "rnbnqknbnbr", "rbnbnqknbnbr"]
|
||||
var level_unit_distribution = ["", "", "nkr", "rnkr", "rnkr", "rnkbr", "rnqkbr", "rnqkbnr", "rnbqkbnr", "rbnqknbnr", "rnbnqknbnr", "rnbnqknbnbr", "rbnbnqknbnbr"]
|
||||
|
||||
var level_unit_distribution = ["", "nk", "nkr", "rnkr", "rnkr", "rnkbr", "rnqkbr", "rnqkbnr", "rnbqkbnr", "rbnqknbnr", "rnbnqknbnr"]
|
||||
# ["", "", "nkr", "rnkr", "rnkr", "rnkbr", "rnqkbr", "rnqkbnr", "rnbqkbnr", "rbnqknbnr", "rnbnqknbnr", "rnbnqknbnbr", "rbnbnqknbnbr"]
|
||||
var _rng = RandomNumberGenerator.new()
|
||||
var _next_id = 0
|
||||
|
||||
|
|
@ -313,7 +313,8 @@ func generate_chess_data(node):
|
|||
# level_unit_distribution
|
||||
# current_max_level
|
||||
var rng = float(node.level) / int(current_max_level)
|
||||
var index = map_to_array_index(node.level, 2, current_max_level - 2, 3, level_unit_distribution.size() - 1);
|
||||
# (current_value, min_value, max_value, min_index, max_index)
|
||||
var index = map_to_array_index(node.level, 2, current_max_level - 2, 1, level_unit_distribution.size() - 1);
|
||||
var unit_string = level_unit_distribution[index]
|
||||
var pawn_string = ""
|
||||
|
||||
|
|
@ -332,6 +333,10 @@ func generate_chess_data(node):
|
|||
fen += unit_string + "/"
|
||||
elif x == 1:
|
||||
fen += pawn_string + "/"
|
||||
# elif x == height - 3:
|
||||
# for y in unit_string.length() - 1:
|
||||
# fen += "*"
|
||||
# fen += "1/"
|
||||
else:
|
||||
fen += str(unit_string.length()) + "/"
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ static func convert_algebraic_to_location(square: String, maxRank: int) -> Strin
|
|||
return "%d-%d" % [file_num, rank_num]
|
||||
|
||||
|
||||
static func location_to_algebraic(location: String) -> String:
|
||||
static func location_to_algebraic(location: String, maxRank: int) -> String:
|
||||
# Convert from "x-y" format to algebraic notation
|
||||
var coords = location.split("-")
|
||||
var x = int(coords[0])
|
||||
|
|
@ -48,7 +48,7 @@ static func location_to_algebraic(location: String) -> String:
|
|||
var file = char(97 + x) # 97 is ASCII 'a'
|
||||
|
||||
# Convert y to rank number (flip since our board has 0 at top)
|
||||
var rank = str(8 - y)
|
||||
var rank = str(maxRank - y)
|
||||
|
||||
return file + rank
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue