First of all, thank you for the help. I hope I implemented it correctly; it works in Game Courier - with one exception: the first pawn (white and no matter which one) is not converted and appears as a white pawn on the baseline. All other pawns (white/black) are transformed correctly. Below is the GAME code.
A note about the game: rook, bishop and queen now each have 16 unblockable targets, which equalizes the playing strengths. Which choice the AI makes is one side, players in Game Courier can decide differently. Maybe that will level it out a little.
______________________________
include /membergraphics/MSgame-code-generation/betza.txt;
def P cond #0 1 0;
def p cond #0 7 0;
def N cond #0 13 0;
def n cond #0 13 0;
def B cond #0 54 0;
def b cond #0 54 0;
def R cond #0 135 0;
def r cond #0 135 0;
def Q cond #0 216 0;
def q cond #0 216 0;
def K cond #0 297 0;
def k cond #0 297 0;
set staledraw 0; // stalemate is a win
set extinction 1; // must capture all royals to win
set baring 1; // bare king loses
set promotables (P p); // pieces that can promote
set supply (N n B b R r Q q); // in infinite supply
set promotab ( // allowed choices per rank
(N B R Q)
0
0
0
0
0
0
0
(n b r q)
);
First of all, thank you for the help. I hope I implemented it correctly; it works in Game Courier - with one exception: the first pawn (white and no matter which one) is not converted and appears as a white pawn on the baseline. All other pawns (white/black) are transformed correctly. Below is the GAME code.
A note about the game: rook, bishop and queen now each have 16 unblockable targets, which equalizes the playing strengths. Which choice the AI makes is one side, players in Game Courier can decide differently. Maybe that will level it out a little.
______________________________
include /membergraphics/MSgame-code-generation/betza.txt;
set legdefs
(0
1 1 0 -2 1 // pawn(1)
0
1 1 0 2 1 // pawn(7)
0
1 2 1 2 3 // knight(13)
1 2 2 1 3
1 2 2 -1 3
1 2 1 -2 3
1 2 -1 -2 3
1 2 -2 -1 3
1 2 -2 1 3
1 2 -1 2 3
0
1 1 1 1 3 // bishop(54)
1 1 1 -1 3
1 1 -1 -1 3
1 1 -1 1 3
1 1 2 2 3
1 1 2 -2 3
1 1 -2 -2 3
1 1 -2 2 3
1 1 3 3 3
1 1 3 -3 3
1 1 -3 -3 3
1 1 -3 3 3
1 1 4 4 3
1 1 4 -4 3
1 1 -4 -4 3
1 1 -4 4 3
0
1 1 0 1 3 // rook(135)
1 1 1 0 3
1 1 0 -1 3
1 1 -1 0 3
1 1 0 2 3
1 1 2 0 3
1 1 0 -2 3
1 1 -2 0 3
1 1 0 3 3
1 1 3 0 3
1 1 0 -3 3
1 1 -3 0 3
1 1 0 4 3
1 1 4 0 3
1 1 0 -4 3
1 1 -4 0 3
0
1 1 0 1 3 // queen(216)
1 1 1 0 3
1 1 0 -1 3
1 1 -1 0 3
1 1 1 1 3
1 1 1 -1 3
1 1 -1 -1 3
1 1 -1 1 3
1 1 0 2 3
1 1 2 0 3
1 1 0 -2 3
1 1 -2 0 3
1 1 2 2 3
1 1 2 -2 3
1 1 -2 -2 3
1 1 -2 2 3
0
1 1 0 1 3 // king(297)
1 1 1 1 3
1 1 1 0 3
1 1 1 -1 3
1 1 0 -1 3
1 1 -1 -1 3
1 1 -1 0 3
1 1 -1 1 3
0);
def P cond #0 1 0;
def p cond #0 7 0;
def N cond #0 13 0;
def n cond #0 13 0;
def B cond #0 54 0;
def b cond #0 54 0;
def R cond #0 135 0;
def r cond #0 135 0;
def Q cond #0 216 0;
def q cond #0 216 0;
def K cond #0 297 0;
def k cond #0 297 0;
set staledraw 0; // stalemate is a win
set extinction 1; // must capture all royals to win
set baring 1; // bare king loses
set promotables (P p); // pieces that can promote
set supply (N n B b R r Q q); // in infinite supply
set promotab ( // allowed choices per rank
(N B R Q)
0
0
0
0
0
0
0
(n b r q)
);