6
国际象棋-查找所有合法举动(cast子和传人除外)
编写最短的代码,根据给定的FEN字符串计算当前玩家的所有可能(合法)移动。什么是FEN字符串?(维基百科) 最短的代码胜出,语言无关紧要。 输出动作必须遵守国际象棋的移动规则, 除了传球,cast和典当提升外。 忽略检查,将死和僵持,国王也无法被捕获。 您可以设置输出不同,只要你想(例如:A2-A4,A2A4,a2a4,a2->a4...) 测试用例: #输入1: rnbqkbnr / pppppppp / 8/8/8/8 / PPPPPPPP / RNBQKBNR w KQkq-0 1 #输出1 A2-A4,A2-A3,B2-B4,B2-B3,C2-C4,C2-C3,D2-D4,D2-D3,E2-E4,E2-E3, F2-F4,F2-F3,G2-G4,G2-G3,H2-H4,H2-H3,B1-A3,B1-C3,G1-F3,G1-H3 #输入2 7k / 8/8/8/8/8 / PP6 / Q1q4K w--0 1 #输出2 A1-B1,A1-C1,A2-A3,A2-A4,B2-B3,B2-B4,H1-H2,H1-G1,H1-G2