const char *wpstring[] = {" ", "P", "N", "B", "R", "A", "C", "M", "Q", "E", "B", "Q", "W", "H", "N", "D", "H", "L",
- "C", "S", "G", "H", "A", "F", "E", "H", "M", "S", "E", "W", "O", "G", "V", "S", "E", "A", "K", "H", "E"};
+ "C", "S", "G", "H", "A", "F", "E", "H", "M", "S", "E", "W", "O", "G", "V", "S", "E", "A",
+ "K", "H", "E", "W", "G", "L", "C", "H"};
const char *bpstring[] = {" ", "p", "n", "b", "r", "a", "c", "m", "q", "e", "b", "q", "w", "h", "n", "d", "h", "l",
- "c", "s", "g", "h", "a", "f", "e", "h", "m", "s", "e", "w", "o", "g", "v", "s", "e", "a", "k", "h", "e"};
+ "c", "s", "g", "h", "a", "f", "e", "h", "m", "s", "e", "w", "o", "g", "v", "s", "e", "a",
+ "k", "h", "e", "w", "g", "l", "c", "h"};
-int pieceValues[PIECES] = {0, 1, 3, 3, 5, 8, 9, 3, 9, 1, 1, 2, 2, 2, 1, 6, 5, 2, 3, 3, 3, 1, 5, 2, 1, 7, 7, 3, 3, 3, 7, 7, 7, 8, 9, 12, 0, 8, 9};
+int pieceValues[PIECES] = {0, 1, 3, 3, 5, 8, 9, 3, 9, 1, 1, 2, 2, 2, 1, 6, 5, 2, 3, 3, 3, 1, 5, 2, 1, 7, 7, 3, 3, 3, 7, 7, 7, 8, 9, 12,
+ 0, 8, 9, 8, 7, 3, 3, 1};
static const int mach_type = (1<<7) | (1<<8) | (1<<9) | (1<<10) | (1<<11);
#define IsMachineStyle(n) (((1<<(n)) & mach_type) != 0)
{
static const char *wp[] = {" |", " P |", " N |", " B |", " R |", " A |", " C |", " M |", " Q |", " E |", " B |", " Q |",
" W |", " H |", " N |", " D |", " H |", " L |", " C |", " S |", " G |", " H |", " A |", " F |",
- " E |", " H |", " M |", " S |", " E |", " W |", " O |", " G |", " V |", " S |", " E |", " A |", " K |", " H |", " E |"};
+ " E |", " H |", " M |", " S |", " E |", " W |", " O |", " G |", " V |", " S |", " E |", " A |",
+ " K |", " H |", " E |", " W |", " G |", " L |", " C |", " H |"};
static const char *bp[] = {" |", " *P|", " *N|", " *B|", " *R|", " *A|", " *C|", " *M|", " *Q|", " *E|", " *B|", " *Q|",
" *W|", " *H|", " *N|", " *D|", " *H|", " *L|", " *C|", " *S|", " *G|", " *H|", " *A|", " *F|",
- " *E|", " *H|", " *M|", " *S|", " *E|", " *W|", " *O|", " *G|", " *V|", " *S|", " *E|", " *A|", " *K|", " *H|", " *E|"};
+ " *E|", " *H|", " *M|", " *S|", " *E|", " *W|", " *O|", " *G|", " *V|", " *S|", " *E|", " *A|",
+ " *K|", " *H|", " *E|", " *W|", " *G|", " *L|", " *C|", " *H|"};
static char *wsqr = "";
static char *bsqr = "";
static char *top = "\t---------------------------------\n";
{
static const char *wp[] = {"- ", "P ", "N ", "B ", "R ", "A ", "C ", "M ", "Q ", "E ", "B ", "Q ",
"W ", "H ", "N ", "D ", "H ", "L ", "C ", "S ", "G ", "H ", "A ", "F ",
- "E ", "H ", "M ", "S ", "E ", "W ", "O ", "G ", "V ", "S ", "E ", "A ", "K ", "H ", "E "};
+ "E ", "H ", "M ", "S ", "E ", "W ", "O ", "G ", "V ", "S ", "E ", "A ",
+ "K ", "H ", "E ", "W ", "G ", "L ", "C ", "H "};
static const char *bp[] = {"+ ", "p' ", "n' ", "b' ", "r' ", "a' ", "c' ", "m' ", "q' ", "e' ", "b' ", "q' ",
"w' ", "h' ", "n' ", "d' ", "h' ", "l' ", "c' ", "s' ", "g' ", "h' ", "a' ", "f' ",
- "e' ", "h' ", "m' ", "s' ", "e' ", "w' ", "o' ", "g' ", "v' ", "s' ", "e' ", "a' ", "k' ", "h' ", "e' "};
+ "e' ", "h' ", "m' ", "s' ", "e' ", "w' ", "o' ", "g' ", "v' ", "s' ", "e' ", "a' ",
+ "k' ", "h' ", "e' ", "w' ", "g' ", "l' ", "c' ", "h' "};
static char *wsqr = "";
static char *bsqr = "";
static char *top = "";
{
static const char *wp[] = {" ", " P ", " N ", " B ", " R ", " A ", " C ", " M ", " Q ", " E ", " B ", " Q ",
" W ", " H ", " N ", " D ", " H ", " L ", " C ", " S ", " G ", " H ", " A ", " F ",
- " E ", " H ", " M ", " S ", " E ", " W ", " O ", " G ", " V ", " S ", " E ", " A ", " K ", " H ", " E "};
+ " E ", " H ", " M ", " S ", " E ", " W ", " O ", " G ", " V ", " S ", " E ", " A ",
+ " K ", " H ", " E ", " W ", " G ", " L ", " C ", " H "};
static const char *bp[] = {" ", " *P", " *N", " *B", " *R", " *A", " *C", " *M", " *Q", " *E", " *B", " *Q",
" *W", " *H", " *N", " *D", " *H", " *L", " *C", " *S", " *G", " *H", " *A", " *F",
- " *E", " *H", " *M", " *S", " *E", " *W", " *O", " *G", " *V", " *S", " *E", " *A", " *K", " *H", " *E"};
+ " *E", " *H", " *M", " *S", " *E", " *W", " *O", " *G", " *V", " *S", " *E", " *A",
+ " *K", " *H", " *E", " *W", " *G", " *L", " *C", " *H"};
static char *wsqr = "\033[0m";
static char *bsqr = "\033[7m";
static char *top = "\t+------------------------+\n";
{
static const char *wp[] = {" ", " P ", " N ", " B ", " R ", " A ", " C ", " M ", " Q ", " E ", " B ", " Q ",
" W ", " H ", " N ", " D ", " H ", " L ", " C ", " S ", " G ", " H ", " A ", " F ",
- " E ", " H ", " M ", " S ", " E ", " W ", " O ", " G ", " V ", " S ", " E ", " A ", " K ", " H ", " E "};
+ " E ", " H ", " M ", " S ", " E ", " W ", " O ", " G ", " V ", " S ", " E ", " A ",
+ " K ", " H ", " E ", " W ", " G ", " L ", " C ", " H "};
static const char *bp[] = {" ", " *P", " *N", " *B", " *R", " *A", " *C", " *M", " *Q", " *E", " *B", " *Q",
" *W", " *H", " *N", " *D", " *H", " *L", " *C", " *S", " *G", " *H", " *A", " *F",
- " *E", " *H", " *M", " *S", " *E", " *W", " *O", " *G", " *V", " *S", " *E", " *A", " *K", " *H", " *E"};
+ " *E", " *H", " *M", " *S", " *E", " *W", " *O", " *G", " *V", " *S", " *E", " *A",
+ " *K", " *H", " *E", " *W", " *G", " *L", " *C", " *H"};
static char *wsqr = "\033[7m";
static char *bsqr = "\033[0m";
static char *top = "\t+------------------------+\n";
static const char *wp[] = {" ", " o ", " :N:", " <B>", " |R|", " (A)", " [C]", " :M:", " {Q}", " !E!",
" <B>", " {Q}", " .W.", " :H:", " :N:", " <H>", " |D|", " |L|",
" |C|", " !S!", " :G:", " :H:", " {A}", " {F}", " !E!", " (H)", " [M]", " :S:",
- " !E!", " |W|", " *O*", " {G}", " :V:", " (S)", " [E]", " &A&", " =K=", " (H)", " [E]"};
+ " !E!", " |W|", " *O*", " {G}", " :V:", " (S)", " [E]", " &A&",
+ " =K=", " (H)", " [E]", " (W)", " [G]", " <L>", " |C|", " h "};
static const char *bp[] = {" ", " p ", " :n:", " <b>", " |r|", " (a)", " [c]", " :m:", " {q}", " !e!",
" <b>", " {q}", " .w.", " :h:", " :n:", " <h>", " |d|", " |l|",
" |c|", " !s!", " :g:", " :h:", " {a}", " {f}", " !e!", " (h)", " [m]", " :s:",
- " !e!", " |w|", " *o*", " {g}", " :v:", " (s)", " [e]", " &a&", " =k=", " (f)", " [e]"};
+ " !e!", " |w|", " *o*", " {g}", " :v:", " (s)", " [e]", " &a&",
+ " =k=", " (f)", " [e]", " (w)", " [g]", " <l>", " |c|", " h "};
static char *wsqr = "";
static char *bsqr = "";
static char *top = " . . . . . . . . .\n";
static const char *wp[] = {" |", " wp |", " WN |", " WB |", " WR |", " WA |", " WC |", " WM |", " WQ |",
" WE |", " WB |", " WQ |", " WW |", " WH |", " WN |", " WD |", " WH |", " WL |",
" WC |", " WS |", " WG |", " WH |", " WA |", " WF |", " WE |", " WH |", " WM |",
- " WS |", " WE |", " WW |", " WO |", " WG |", " WV |", " WS |", " WE |", " WA |", " WK |", " WH |", " WE |"};
+ " WS |", " WE |", " WW |", " WO |", " WG |", " WV |", " WS |", " WE |", " WA |",
+ " WK |", " WH |", " WE |", " WW |", " WG |", " WL |", " WC |", " Wh |"};
static const char *bp[] = {" |", " bp |", " BN |", " BB |", " BR |", " BA |", " BC |", " BM |", " BQ |",
" BE |", " BB |", " BQ |", " BW |", " BH |", " BN |", " BD |", " BH |", " BL |",
" BC |", " BS |", " BG |", " BH |", " BA |", " BF |", " BE |", " BH |", " BM |",
- " BS |", " BE |", " BW |", " BO |", " BG |", " BV |", " BS |", " BE |", " BA |", " BK |", " BH |", " BE |"};
+ " BS |", " BE |", " BW |", " BO |", " BG |", " BV |", " BS |", " BE |", " BA |",
+ " BK |", " BH |", " BE |", " BW |", " BG |", " BL |", " BC |", " Bh |"};
static char *wsqr = "";
static char *bsqr = "";
static char *top = "\t-----------------------------------------\n";
static int style7(struct game_state_t *b, struct move_t *ml)
{
static const char *wp[] = {" ", " P", " N", " B", " R", " A", " C", " M", " Q", " E", " B", " Q", " W", " H", " N", " D", " H", " L",
- " C", " S", " G", " H", " A", " F", " E", " H", " M", " S", " E", " W", " O", " G", " V", " S", " E", " A", " K", " H", " E"};
+ " C", " S", " G", " H", " A", " F", " E", " H", " M", " S", " E", " W", " O", " G", " V", " S", " E", " A",
+ " K", " H", " E", " W", " G", " L", " C", " H"};
static const char *bp[] = {" -", " p", " n", " b", " r", " a", " c", " m", " q", " e", " b", " q", " w", " h", " n", " d", " h", " l",
- " c", " s", " g", " h", " a", " f", " e", " h", " m", " s", " e", " w", " o", " g", " v", " s", " e", " a", " k", " h", " e"};
+ " c", " s", " g", " h", " a", " f", " e", " h", " m", " s", " e", " w", " o", " g", " v", " s", " e", " a",
+ " k", " h", " e", " w", " g", " l", " c", " h"};
static char *wsqr = "";
static char *bsqr = "";
static char *top = "\t:::::::::::::::::::::\n";
onNewLine = 0;
} else {
switch (c) {
- case 'P':
- onPiece = PAWN;
- break;
- case 'R':
- onPiece = ROOK;
- break;
- case 'N':
- onPiece = KNIGHT;
+ case 'A':
+ onPiece = CARDINAL;
break;
case 'B':
onPiece = BISHOP;
break;
- case 'A':
- onPiece = CARDINAL;
- break;
case 'C':
onPiece = MARSHALL;
break;
- case 'M':
- onPiece = MAN;
- break;
- case 'Q':
- onPiece = QUEEN;
- break;
- case 'T':
- onPiece = ELEPHANT;
+ case 'D':
+ onPiece = SELEPHANT;
break;
case 'E':
onPiece = ALFIL;
break;
- case 't':
- onPiece = ALFIL2;
- break;
- case 'q':
- onPiece = FERZ;
- break;
case 'F':
onPiece = FERZ2;
break;
- case 'W':
- onPiece = WAZIR;
+ case 'G':
+ onPiece = GOLD;
break;
- case 'w':
- onPiece = WOODY;
+ case 'H':
+ onPiece = HORSE;
break;
- case 'p':
- onPiece = PRIESTESS;
+ case 'I':
+ onPiece = DRAGONHORSE;
break;
- case 'r':
- onPiece = MINISTER;
+ case 'J':
+ onPiece = DRAGONKING;
break;
- case 'z':
- onPiece = MAN2;
+ case 'K':
+ onPiece = KING;
break;
- case 'u':
- onPiece = NIGHTRIDER;
+ case 'L':
+ onPiece = LANCE;
break;
- case 'o':
- onPiece = MODERNELEPHANT;
+ case 'M':
+ onPiece = MAN;
break;
- case 's':
- onPiece = MASTODON;
+ case 'N':
+ onPiece = KNIGHT;
break;
- case 'Z':
- onPiece = AMAZON;
+ case 'O':
+ onPiece = CANNON;
+ break;
+ case 'P':
+ onPiece = PAWN;
+ break;
+ case 'Q':
+ onPiece = QUEEN;
+ break;
+ case 'R':
+ onPiece = ROOK;
+ break;
+ case 'S':
+ onPiece = SILVER;
+ break;
+ case 'T':
+ onPiece = ELEPHANT;
+ break;
+ case 'U':
+ onPiece = HAWK;
break;
case 'V':
onPiece = CENTAUR;
break;
- case 'H':
- onPiece = HORSE;
+ case 'W':
+ onPiece = WAZIR;
+ break;
+ case 'X':
+ onPiece = WARLORD;
+ break;
+ case 'Y':
+ onPiece = GENERAL;
+ break;
+ case 'Z':
+ onPiece = AMAZON;
+ break;
+ case 'm':
+ onPiece = MANDARIN;
break;
case 'n':
onPiece = HONORABLEHORSE;
break;
- case 'J':
- onPiece = DRAGONKING;
+ case 'o':
+ onPiece = MODERNELEPHANT;
break;
- case 'I':
- onPiece = DRAGONHORSE;
+ case 'p':
+ onPiece = PRIESTESS;
break;
- case 'L':
- onPiece = LANCE;
+ case 'q':
+ onPiece = FERZ;
break;
- case 'O':
- onPiece = CANNON;
+ case 'r':
+ onPiece = MINISTER;
break;
- case 'S':
- onPiece = SILVER;
+ case 's':
+ onPiece = MASTODON;
break;
- case 'G':
- onPiece = GOLD;
+ case 't':
+ onPiece = ALFIL2;
break;
- case 'm':
- onPiece = MANDARIN;
+ case 'u':
+ onPiece = NIGHTRIDER;
break;
- case 'K':
- onPiece = KING;
+ case 'v':
+ onPiece = HOPLITE;
break;
- case 'D':
- onPiece = SELEPHANT;
+ case 'w':
+ onPiece = WOODY;
break;
- case 'U':
- onPiece = HAWK;
+ case 'x':
+ onPiece = LIEUTENANT;
+ break;
+ case 'y':
+ onPiece = CAPTAIN;
+ break;
+ case 'z':
+ onPiece = MAN2;
break;
case 'a':
case 'b':
place_piece(b, W_KING, ANY_SQUARE, 8);
for (i = 0; i < 8; i++) {
if (b[i][0] != W_KING) {
- b[i][0] = (random() % 4) + 2;
+ b[i][0] = (random() % 4) + 2; if(b[i][0] == 5) b[i][0] += 3;
}
}
/* Black mirrors White */
place_piece(b, W_KING, ANY_SQUARE, 8);
for (i = 0; i < 8; i++) {
if (b[i][0] != W_KING) {
- b[i][0] = (random() % 4) + 2;
+ b[i][0] = (random() % 4) + 2; if(b[i][0] == 5) b[i][0] += 3;
}
}
/* Black has same set of pieces, but randomly permuted, except that Black