移动软件开发-单词接龙项目

一、项目介绍及典型用户和场景

这主要是一款你与电脑竞争英语单词接龙的小程序,当你开始游戏后,上方记录你的成绩和你每次接龙规定的用时,你要对电脑给出的单词进行接力,电脑也会对你给出的单词进行接力,下面这个输入框就是你每次需要输入的单词,当你未在规定的时间之内输入正确的单词时,系统自动判断你输了,此时game over,当你得分达到10分时,系统自动判断你赢了。当然目标得分可以修改,加大挑战难度。

这可以帮助那些不想记单词的人提高对单词的兴趣。

二、界面组成

这个小程序主要包括两个界面,index界面和game界面。

演示界面如下:

index界面:

 

game界面:

 

运行结果界面:

 

 

三、控件和技术

1:首先Index界面要实现的功能就是,定义了游戏的标题和游戏的规则,当我们点击开始游戏这个按钮之后,触发事件,它在那个startGame函数里面调用wx.redirectTo()这个接口,它会跳转到game界面。

 

2.接着game界面要实现的第一个功能就是,统计得分和显示每一次单词接龙的倒计时;

我们用score这个类和timer-wrapper这个类分别来显示分数和倒计时,timer-wrapper类里面的timerNumber用来显示圆圈里面的时间数字,我们用setInterval来刷新倒计时的数字。

 

3:接着实现的第二个功能就是输入功能,下面三行是键盘,每输入一个字母,他会触发writeAnswer这个事件,然后判断输入的这个字母是未定义的,还是删除键,或者是正确的字母,最后输入完成之后把输入的单词赋给answer。

 

全部输入完成后,按ok按钮,他会帮你进行判断输入的是否正确,它触发了responseAnswer这个事件,里面调用了answer函数。

answer函数里面,进来调用validate函数先去大词典里面搜寻单词,看看是否在里面,是的话,再看看这个单词是否在这之前出现过,如果出现过的话,则报错,重新输入;

 

如果前面的输入没有问题的话,更新你的单词链的长度同时得分加一,并且记录你输入的每一个单词的首尾字母并进行更新;

4.下一次轮到你输入有一个时间限制,他会调用一个startTimer函数(144行)来判断你十五秒内是否输入了正确的单词,如果15秒内还没有输入正确的单词,则调用gameOver函数(186行),系统判断游戏结束。

 

如果得分达到10,则系统判断你赢了。

5.接着我们要实现的第三个功能就是清晰地在这个方框内显示我们接龙的单词,我们用scroll-view这个组件来滚动单词。你要输入以上一个单词的最后一个字母开头的另外一个单词,输入正确后,单词链长度会更新,然后我们用word-item-wrapper这个类来刷新下一个单词;

 

四、遇到的问题及解决办法

1.有些单词存在大词典里面,但是当你输入完单词,按了ok按钮后,它会显示错误。

这应该是在大词典里面没有搜寻到单词或者是大词典里面的单词不全,现在在小程序里面没有找到错误,后续会对大词典里面的单词进行补充。

五.项目测试及上线情况

小程序基本完成,可能还有一些bug存在,没有测试出来。

小程序现在已经上线在微信平台了,如图:

 

 

六、心得体会

通过这个实验,我们每一个可能对浪漫的理解不一样,有的人觉得学习就是一种浪漫,我也是这么觉得的。

并且通过这个小程序的实验我学到更多有关如何去写一个小程序,要先从视图层开始写起,然后再从视图层里里面的每一个控件去设计它的样式和逻辑关系,能让这个小程序的每一个部分逐渐显示在我们眼前,这样才能做出一个相对完整的小程序。

最后,源码地址:GitHub - g26g/lab7

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单词接龙是一个游戏,旨在通过更改一个字母来逐步转换一个单词成为另一个指定的单词。规则包括: 1. 可用于接龙单词字母必须与前一个单词的尾字母相同。 2. 当存在多个首字母相同的单词时,取长度最长的单词。如果长度也相等,则取词典序最小的单词。 3. 已经参与接龙单词不能重复使用。 对于给定的一组由小写字母组成的单词数组和指定的起始单词和结束单词,我们需要进行单词接龙,并输出最长的单词串,其中单词串是由单词拼接而成,中间没有空格。如果不存在这样的转换序列,则返回0。 例如,对于输入的例子 beginWord = "hit",endWord = "cog",wordList = ["hot", "dot", "dog", "lot", "log"],我们可以进行以下单词接龙序列: "hit" -> "hot" -> "dot" -> "dog" -> "cog"。在这个例子中,最长的单词串为"hit" -> "hot" -> "dot" -> "dog" -> "cog"。 请注意,以上例子只是为了说明单词接龙的概念和规则,并不是针对Python编程的具体实现。具体的实现方法可以使用广度优先搜索 (BFS) 或双向BFS等算法来解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python题目55:单词接龙](https://blog.csdn.net/m0_60741207/article/details/121528418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [127. 单词接龙(Python)](https://blog.csdn.net/JulyLi2019/article/details/106610034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值