跳转到主要内容

国际象棋大师挑战赛

项目描述

国际象棋大师

控制台脚本,实现国际象棋挑战。

问题是找到所有独特的配置,将一套普通棋子放在M×N尺寸的棋盘上,没有任何棋子处于可以吃掉其他棋子的位置。假设棋子的颜色不重要,并且这些棋子中没有兵。

编写一个程序,它接受以下输入

棋盘的尺寸:M,N

每种类型的棋子(国王、王后、象、车和马)的数量,尝试将其放置在棋盘上。

作为输出,程序应将所有可以放置在棋盘上且不威胁对方的唯一配置列出到控制台。

构建状态

https://travis-ci.org/fabiobatalha/chess_master.svg?branch=master

如何安装

PIPY

pip install fbcs_chess_challenge

Github

  • 从Github下载包

  • python setup.py install

运行测试

python setup.py tests

或者

python setup.py nosetests –with-coverage

运行控制台脚本

帮助

(chessmaster)MacBook-Pro:chess_master fabiobatalha$ playchess --help

usage: playchess [-h] [--board_size BOARD_SIZE] [--bishops BISHOPS]
                 [--kinights KINIGHTS] [--kings KINGS] [--pawns PAWNS]
                 [--queens QUEENS] [--rooks ROOKS] [--show_threatening]

Build a chess board with pieces which will not threatening one to another.

optional arguments:
  -h, --help            show this help message and exit
  --board_size BOARD_SIZE, -s BOARD_SIZE
                        Number of squares in the board
  --bishops BISHOPS, -b BISHOPS
                        Number of bishops
  --kinights KINIGHTS, -i KINIGHTS
                        Number of kinights
  --kings KINGS, -k KINGS
                        Number of kings
  --pawns PAWNS, -p PAWNS
                        Number of pawns
  --queens QUEENS, -q QUEENS
                        Number of Queens
  --rooks ROOKS, -r ROOKS
                        Number of rooks
  --show_threatening, -t
                        Show threatening places display T in the board when
                        printing the results, otherwise None will be displayed

运行示例

(chessmaster)MacBook-Pro:chess_master fabiobatalha$ playchess -s 4 -i 4 -r 2
2016-08-12 01:22:11,660 - masterchess.playchess - INFO - Playing Chess
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Board size: 4
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of bishops: 0
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of kinights: 4
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of kings: 0
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of pawns: 0
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of queens: 0
2016-08-12 01:22:11,662 - masterchess.playchess - INFO - Pieces of rooks: 2
Number of possibilities: 8

Game 1:
rook    None    None    None
None    kinight None    kinight
None    None    rook    None
None    kinight None    kinight

Game 2:
None    kinight None    kinight
rook    None    None    None
None    kinight None    kinight
None    None    rook    None

Game 3:
None    rook    None    None
kinight None    kinight None
None    None    None    rook
kinight None    kinight None

Game 4:
kinight None    kinight None
None    rook    None    None
kinight None    kinight None
None    None    None    rook

Game 5:
None    None    None    rook
kinight None    kinight None
None    rook    None    None
kinight None    kinight None

Game 6:
None    None    rook    None
None    kinight None    kinight
rook    None    None    None
None    kinight None    kinight

Game 7:
kinight None    kinight None
None    None    None    rook
kinight None    kinight None
None    rook    None    None

Game 8:
None    kinight None    kinight
None    None    rook    None
None    kinight None    kinight
rook    None    None    None

运行示例,显示威胁位置

(chessmaster)MacBook-Pro:chess_master fabiobatalha$ playchess -s 4 -i 4 -r 2
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Playing Chess
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Board size: 4
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Pieces of bishops: 0
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Pieces of kinights: 4
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Pieces of kings: 0
2016-08-12 01:10:03,481 - masterchess.playchess - INFO - Pieces of pawns: 0
2016-08-12 01:10:03,482 - masterchess.playchess - INFO - Pieces of queens: 0
2016-08-12 01:10:03,482 - masterchess.playchess - INFO - Pieces of rooks: 2
Number of possibilities: 8

Game 1:
kinight T   kinight T
T   T   T   rook
kinight T   kinight T
T   rook    T   T

Game 2:
T   kinight T   kinight
T   T   rook    T
T   kinight T   kinight
rook    T   T   T

Game 3:
kinight T   kinight T
T   rook    T   T
kinight T   kinight T
T   T   T   rook

Game 4:
rook    T   T   T
T   kinight T   kinight
T   T   rook    T
T   kinight T   kinight

Game 5:
T   T   T   rook
kinight T   kinight T
T   rook    T   T
kinight T   kinight T

Game 6:
T   kinight T   kinight
rook    T   T   T
T   kinight T   kinight
T   T   rook    T

Game 7:
T   T   rook    T
T   kinight T   kinight
rook    T   T   T
T   kinight T   kinight

Game 8:
T   rook    T   T
kinight T   kinight T
T   T   T   rook
kinight T   kinight T

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

chessmaster-1.1.1.tar.gz (8.5 kB 查看哈希)

上传于 源代码

由以下提供支持