网络日志

趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?

本文给出了一种解决方案,采用如下的 kitten 积木组合块实现。

根据变量“检查接龙的返回值”,分别执行相应的逻辑。

  • 如果返回值为-1,说明用户输入的词语长度不为4.
  • 如果返回值为-2,说明用户输入的四字词语不是成语。
  • 如果返回值为-3,说明用户虽然输入了一个四字成语,但该成语的第一个字,和待接龙成语的第四个字不是同一个字。
  • 以上三种情况都说明接龙失败,均应该发送广播“游戏结束”,并退出无限循环。

否则说明接龙成功,弹出接龙成功的对话框,设置变量“当前成语”的值为用户输入的答案,这样,这个“当前成语”就成为下一轮成语接龙的初始成语。在进入下一轮循环之前,给变量“当前得分”加一,给用户以鼓励。

在收到“开始接龙”的另一个广播处理积木块里,切换变量“停止片头音乐”和“停止游戏音乐”两个变量的值,以达到游戏运行过程中,根据不同的模型,播放不同类型的背景音乐的目的。这两个变量为1,代表关闭对应的音乐。

函数“检查用户输入是否成功”

根据“用户输入”这个输入参数的值,判断当前接龙是否成功。不同的返回值代表不同的判定结果。

  • 0:当前接龙成功
  • -1:用户输入的词语的长度不为4
  • -2:用户输入的四字词语不是成语
  • -3:用户输入的四字成语的首字和当前待接龙的第四个字不是同一个字

函数“自动匹配答案”

作为一款益智类应用,最终目的还是帮助用户积累成语词汇,因此当用户接龙失败时,理应告诉用户正确的答案。该函数即实现智能匹配接龙成语答案的目的。例如,用户当前待匹配的成语为“出乎意料”,但是用户没能够继续接龙下去,游戏结束。此时该函数会自动智能地从作品本地成语库中,计算出匹配的成语为:“料事如神”,并显示在接龙记录面板里。

当收到广播“游戏结束”

游戏结束后,重新显示转盘和转盘中心的选择按钮,给用户重新选择成语,开启新一轮接龙的机会。同时调用自定义函数“自动匹配答案”,把接龙的正确结果显示在接龙记录面板里,方便用户学习积累。