Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在棋盘上移动骑士(Python 3.2.2)_Python_Chess - Fatal编程技术网

在棋盘上移动骑士(Python 3.2.2)

在棋盘上移动骑士(Python 3.2.2),python,chess,Python,Chess,我有一个课堂专题,今天交给我,两周后交。我必须让棋盘上的骑士四处移动(只有骑士,没有其他棋子),我从以下开始: import math print("This is the program for the knight's movement in chess, Press Y when you are ready to move on.") input ("Would you like to move on?") position=int(input("What position is

我有一个课堂专题,今天交给我,两周后交。我必须让棋盘上的骑士四处移动(只有骑士,没有其他棋子),我从以下开始:

import math  
print("This is the program for the knight's movement in chess, Press Y when you are ready to move on.") 
input ("Would you like to move on?") 
position=int(input("What position is your knight in?")) 
print("If your knight is in the position",position,"you may move either 2 forward and 1 left, or 2 forward and 1 right, or the other way so 2 backward 1 left, or 2 backward and 1 right.")
…但我不知道如何继续前进。有人有什么建议吗


我只是在寻求建议,而不是寻求答案,所以请不要告诉我去解决它。我只是遇到了一个问题,找不到解决问题的方法。感谢阅读我的问题。请Roscomadrid退后一步,花点时间思考如何实际解决问题。此类问题涉及几个单独的步骤:

1) 您将使用什么数据结构来表示棋盘?

如果你问十个人这个问题,你可能会得到十个不同的答案。考虑几种不同的可能性,选择你最喜欢的一种。一个简单的例子可能是8x8阵列,但它有哪些优点和缺点?还有更好的吗

2) 我如何代表一个动作?

同样,有许多可能的选择。你可以有一个
Move
类,一个
(fromSquare,toSquare)
元组,等等。这个问题的答案在某种程度上取决于你在第一部分中选择的数据结构

3) 如何生成合法骑士招式集?

可能是最棘手的方面。您需要设计一种算法,使用您选择的任何移动表示来计算每个合法的
(from,to)
对。你必须注意棋盘边缘附近发生的情况,以确保骑士不会掉落或缠绕到棋盘的另一侧

一旦你找到了所有这些问题的答案,坐下来慢慢地完成代码。一次只做一件事;也许第一个里程碑可以是当前董事会职位的打印输出


祝你的作业好运。

在来寻求帮助之前,也许要在作业上坐上一天以上。就目前情况而言,你甚至不必费心去检查用户是否说了“Y”,继续前进。如果你觉得这应该被否决,请留下评论,说明为什么不值得回答!好的,谢谢你的建议,只是我觉得这可能是一件很长的事情,也许最后一刻很匆忙,除非我现在得到帮助,但再次感谢你的建议,我会做的。对于RoscomadridThanks来说,我希望Weill下次再好好看看它,想想其他所有可能的路线。谢谢你,DirkThank,你是这么多。这是我要找的建议,也许有点批评,但这是令人愉快的,这种类型的回答是我在ATP的一步一步赢得的“任务”的跳跃。再次感谢你对罗斯科马德里德的关心