src/game.c

changeset 25
3ab0c2e1a4e2
parent 23
824c9522ce66
child 26
e0a76ee1bb2b
     1.1 --- a/src/game.c	Tue Apr 01 10:28:08 2014 +0200
     1.2 +++ b/src/game.c	Tue Apr 01 12:30:25 2014 +0200
     1.3 @@ -86,21 +86,26 @@
     1.4  
     1.5          if (logelem) {
     1.6              Move move = logelem->move;
     1.7 -            char logstr[] = {
     1.8 -                getpiecechr(move.piece),
     1.9 -                filechr(move.fromfile), rowchr(move.fromrow),
    1.10 -                move.capture ? 'x':'\0',
    1.11 -                filechr(move.tofile), rowchr(move.torow),
    1.12 -                move.check ? '+' : (move.checkmate ? '#' : 
    1.13 -                    (move.promotion ? '=' : '\0')),
    1.14 -                move.promotion ? getpiecechr(move.promotion) : '\0',
    1.15 -                ' '
    1.16 -            };
    1.17 -            for (int stri = 0 ; stri < sizeof(logstr) ; stri++) {
    1.18 -                if (logstr[stri]) {
    1.19 -                    addch(logstr[stri]);
    1.20 +            if ((move.piece&PIECE_MASK) == KING &&
    1.21 +                abs(move.tofile-move.fromfile) == 2) {
    1.22 +                addstr(move.tofile==fileidx('c')?"O-O-O":"O-O");
    1.23 +            } else {
    1.24 +                char logstr[] = {
    1.25 +                    getpiecechr(move.piece),
    1.26 +                    filechr(move.fromfile), rowchr(move.fromrow),
    1.27 +                    move.capture ? 'x':'\0',
    1.28 +                    filechr(move.tofile), rowchr(move.torow),
    1.29 +                    move.check ? '+' : (move.checkmate ? '#' : 
    1.30 +                        (move.promotion ? '=' : '\0')),
    1.31 +                    move.promotion ? getpiecechr(move.promotion) : '\0'
    1.32 +                };
    1.33 +                for (int stri = 0 ; stri < sizeof(logstr) ; stri++) {
    1.34 +                    if (logstr[stri]) {
    1.35 +                        addch(logstr[stri]);
    1.36 +                    }
    1.37                  }
    1.38              }
    1.39 +            addch(' ');
    1.40              
    1.41              logelem = logelem->next;
    1.42          }

mercurial