Discuss Scratch

  • Discussion Forums
  • » 中文
  • » 求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。 [RSS Feed]
yueyue_wang
Scratcher
3 posts

求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。

yueyue_wang
Scratcher
3 posts

求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。

yueyue_wang wrote:

https://scratch.mit.edu/projects/55723562/

游戏开始后,首先生成【乱序】—-将 1,2,3….【行*列】 的顺序打乱 (行3-5,列3-5)
打乱后 【按行】 排到空格里,值为 【行*列】 的显示为 【空】
点击与 【空】 相邻的格子 该格子的数字可以和【空】交换位置 这样 通过多次的交换使所有数字在格子内顺序排列

但是,这个【乱序】会有无解的情况,如何在产生乱序的时候就判断它是否有解呢??
lingsky
New to Scratch
1 post

求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。

改变生成乱序的方法,直接用你的交换的那个过程,生成一个随机的code,然后和zero交换,而难度用steps控制,那么,生成的拼图一定有解,而且难度可控
yueyue_wang
Scratcher
3 posts

求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。

lingsky wrote:

改变生成乱序的方法,直接用你的交换的那个过程,生成一个随机的code,然后和zero交换,而难度用steps控制,那么,生成的拼图一定有解,而且难度可控
嗯,可行。

1,把数列按1至(行*列)排好序,code=行*列 代表空
2,随机生成一个方向i(上/下/左/右),让code和其对应方向上的数字交换。
3,重复(2)n次。
  • Discussion Forums
  • » 中文
  • » 求助:拼图游戏会有无解的情况啊,如何筛选去除无解的情况呢。 [RSS Feed]

Powered by DjangoBB