程序播放白色。
示例stdin:
8 ║♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
7 ║♟ ♟ ♟ ♟ … ♟ ♟ ♟
6 ║… … … … … … … …
5 ║… … … … ♟ … … …
4 ║… … … … … … … …
3 ║… … ♘ … … … … …
2 ║♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙
1 ║♖ … ♗ ♕ ♔ ♗ ♘ ♖
——╚═══════════════
—— a b c d e f g h
标准输出示例:
8 ║♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
7 ║♟ ♟ ♟ ♟ … ♟ ♟ ♟
6 ║… … … … … … … …
5 ║… … … … ♟ … … …
4 ║… … … … ♙ … … …
3 ║… … ♘ … … … … …
2 ║♙ ♙ ♙ ♙ … ♙ ♙ ♙
1 ║♖ … ♗ ♕ ♔ ♗ ♘ ♖
——╚═══════════════
—— a b c d e f g h
任何有效的举动都可以。“ En passant”和castling被忽略。如果没有有效的动作,可以显示错误消息或不打印任何内容。
票数最多的答案将获胜。
我的意思是由于该语言的某些内置功能失败而导致的标准错误消息。这样没关系吗 —该程序可以采取任何法律措施是否强制性的?也许应该让小板和典当的特殊动作带有一些额外的奖励?
—
停止转动逆时针
@leftaroundabout:只要有城堡,就可以移动小车,因此至少可以跳过逻辑。
—
hammar 2012年
……再想一想,“被动”举动需要有关先前做出的举动的信息,而这不能仅从棋子的位置推断出来,所以我认为可以放心了。但是,可以从棋子的等级推断出是否可以进行双倍先动,因此您可能需要将其包括在内。
—
hammar 2012年
@hammar:你是对的,我还没想到。除一种情况外,双举也并不重要:当您可以走两步时也可以走一步,因此只有当您处于支票状态时,这才变得很重要,并且双举是唯一覆盖国王的举动。同样,即使您不需要使用所有举动,您仍然需要考虑到黑色可以解决任何问题。
—
停止转动逆时针
辞职算是合法举动吗?:)
—
gnibbler 2012年