象棋大师挑战赛

chessmaster的Python项目详细描述


象棋大师

实现象棋挑战的控制台脚本。

问题是在m×n的棋盘上找到一组正常棋子的所有唯一配置,其中没有一个棋子能够取下其他棋子。假设棋子的颜色无关紧要,棋子之间没有棋子。

编写一个作为输入的程序:

板的尺寸:m,n

每种类型的棋子(国王、王后、主教、车和骑士)试着放在棋盘上的数量。

作为输出,程序应该列出控制台的所有独特配置,所有部件都可以放在板上而不会相互威胁。

生成状态

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

如何安装

皮比

pip安装fbcs_chess_challenge

Github

  • 从github下载软件包
  • python setup.py安装

运行测试

python setup.py测试

python setup.py nosets–具有覆盖率

运行控制台脚本

帮助

(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 22016-08-12 01:22:11,660 - masterchess.playchess - INFO - Playing Chess
2016-08-12 01:22:11,661 - masterchess.playchess - INFO - Board size: 42016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of bishops: 02016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of kinights: 42016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of kings: 02016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of pawns: 02016-08-12 01:22:11,661 - masterchess.playchess - INFO - Pieces of queens: 02016-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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令