【发布时间】:2019-07-24 18:24:45
【问题描述】:
我正在做一个项目,目的是更多地了解 CS 中的抽象。我在 MIT-scratch 中创建了一个项目,其中四个字符必须在一个简单的地图上具有唯一的路径,并且不能相互碰撞或穿过。我也希望路径稍微复杂一些,否则我可以让它们都绕一个圈。
为了解决这个抽象问题,我用数字标记了地图上九个可能的位置中的每一个,并用一个数组控制每个角色的路径,该数组包含在每个周期时钟间隔它应该位于的地图编号。
使用这个程序和一些论文,我能够找到几个数组规则,如果遵循这些规则,应该可以解决原来的问题。
-
数组中的每个下一项必须是前一项的邻居,包括数组中的第一个和最后一个数字,才能创建一个完整的循环。
(1,2,5,4)好的✱ -
两个数组在同一位置不能有相同的数字。
(1,2) (3,2)不行 -
两个数组不能在同一位置有倒数对。
(4,5) (5,4)不行
我的问题是,我将如何创建一个程序来根据我输入的路径向我显示所有可能的解决方案路径?它可以是一个输出数组/s的python程序,或者我可以在scratch程序中创建它以及某种图形路径创建器。任何帮助表示赞赏,我不知道该怎么做。
✱ 这也有点复杂。在地图中,1 和 4 是邻居,但抽象地说,它们不是。这可以使用某种函数来解决,该函数带有一个列表,其中列出了哪些数字是邻居。
如果有帮助,这里是临时项目:https://scratch.mit.edu/projects/321905242/
【问题讨论】:
-
好的,我明白了。谢谢。
标签: python mit-scratch