象棋大师挑战赛

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中使用嵌套for循环在空的3D数组中存储2D数组元素?   java JPQL多连接查询   java为什么我的背景颜色不会在OpenGL显示屏上改变?   java在桌面应用程序中使用静态google地图   来自“处理器缓存效果库”的java示例和再现结果   如果值不存在,则进行java更新,或检查DynamoDBMapper中的条件   我使用我的openssl私钥创建了一个签名。如何用java验证它?   java随机加权选择,然后移除权重   java为什么算术异常是未检查的异常?   Android中文本视图的java字符串在自定义适配器中的显示与以前不同   java BaseAdapter自定义过滤器故障   java将浮点数存储为长类型   java如何使用JSP将数据从excel工作表输入mysql数据库?JSP+Servlet+MySQL项目   java在Android中使用Microsoft认知服务情感API进行本地视频   Java中的最终用法和静态最终用法   java无法解析自定义注释处理器的依赖项。NoClassDefFoundError   java忽略BeanUtils中的空值。copyProperties   调用存储过程时发生java内存泄漏   来自服务的java调用活动