我想制作一款小型Jumbler游戏。我打算使用Java编程语言制作这个游戏。以下是该游戏的小屏幕截图。我找不到 包含此游戏的任何其他网站。
Screen shot of the game at the end of the page
在这个游戏中,我想添加两个功能。
1. Manually solve the problem.
2. Automatically solve the problem.
手动解决问题
意味着我们玩游戏并找到解决方案,以便按照安排顺序制作数字
直观地解决问题
表示计算机以图形方式显示所需的最小移动次数 为解决方案。这意味着计算机以图形方式显示运动并以最小的移动识别解决方案。
那么如何编程这种情况呢?
我在互联网上搜索并获得了一些与线性编程相关的教程。我应该学习什么 为了解决这类问题?我不知道如何解决自动解决方案。请给 一些很好的教程,我可以很容易地掌握它。
答案 0 :(得分:1)
当你所有的东西都是锤子时,一切看起来都像钉子一样 - 所以我会说使用constraint programming可以解决这类问题。但这就是我有一点经验。
基本上,你有一个电路板布局,每个'步骤'都有少量有效的移动。目标是进入已知布局(升序)。
要“自动”执行此操作,您需要将程序搜索作为解决方案路径。执行此操作的步骤如下:
你会遇到一些问题。首先,内存限制(制作大量的电路板布局可能不起作用)。其次,时间/计算约束(可能需要很长时间才能找到解决方案)。您可以采取一些措施来至少将这些问题的损害降至最低。
这可能会给你一些信息或想法开始寻找。
答案 1 :(得分:0)
我不知道我是否理解......
最小发生率和最小路径是动态编程问题
http://en.wikipedia.org/wiki/Dynamic_programming
非常简短,您必须计算所有解决方案并展示更好的解决方案。动态编程并不是那么容易理解和开发,但你可以试试......
但是,我建议你记住你如何混合它并展示解决方案......