象棋大师挑战赛
chessmaster的Python项目详细描述
象棋大师
实现象棋挑战的控制台脚本。
问题是在m×n的棋盘上找到一组正常棋子的所有唯一配置,其中没有一个棋子能够取下其他棋子。假设棋子的颜色无关紧要,棋子之间没有棋子。
编写一个作为输入的程序:
板的尺寸:m,n
每种类型的棋子(国王、王后、主教、车和骑士)试着放在棋盘上的数量。
作为输出,程序应该列出控制台的所有独特配置,所有部件都可以放在板上而不会相互威胁。
如何安装
皮比
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