> # ♻️ 资源
> **大小:** 91.5KB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100013242**](https://www.yuque.com/sxbn/ks/100013242)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/88282324**](https://download.csdn.net/download/s1t16/88282324)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 基于80x86汇编的英文填字游戏程序
# 一、游戏背景介绍
英文作为全世界通用语言,也是当今世界上应用最广泛的语言,世界上以英语为母语的人近4亿,并且已经有约20个国家把英语作为官方语言或者第二语言使用,在国际政治、经济、军事、科技、文化、贸易等众多领域,都使用的英语进行交流。随着我国对外开放的不断扩大化,科学技术的不断进步,国际地位的不断提高,急需造就一大批精通外语的专门人才,使我国在国际事务中发挥更大更积极的作用。因此,学好英语对我国现实上述目标的实现具有重大意义。
而对于我们普通人的生活来说,无论是求职还是深造,都离不开英语的运用,因此,无论在哪个国家,英语都受到了人们的广泛学习,其重要性不言而喻。作为一名学生,我从小学便开始学习英语单词、语法、对话等,而单词也是英文学习中最基础的部分,英文单词枯燥无味,习惯于中文表达的中国学生并不是太容易学会,所以我们要探索新的方法来更高效地学习英文,也更加深我们对单词的印象。
在现代生活中,电脑已经和我们的工作学习息息相关,而英语也是和电脑联系最密切的语言,作为计算机相关专业的学生,我们需要阅读不少英文资料与文献,所以我们也需要较高的英文水平,才能使我们的专业水平进一步提高。
因此,我们便用汇编语言设计了一个简单的英文填字游戏,此游戏不仅适合于初学者,也对英文程度较好的人有帮助进一笔加深记忆的功能,游戏与单词学习相结合,使英文学习更加有趣,不似普通背单词一样枯燥,使我们的学习更加有效。
游戏刚开始时,页面中显示游戏名称English Crossword Game、生命次数为3、和第一关的单词,此时光标位于Rank1的单词中的第一个空缺字母处,用户可开始输入字母了,当用户填写正确完一关会自动出现下一关。
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1693532487946-8efe88ab-756e-4996-b16a-004ea7b62c49.png#averageHue=%23ececec&clientId=ud6cce9d8-edc6-4&from=paste&height=341&id=u23291b17&originHeight=426&originWidth=651&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=22755&status=done&style=none&taskId=u078cedef-3a8b-41a5-b09b-96c7cb63a2d&title=&width=520.8)
编写英文填字游戏软件时,综合了复习字符输入和显示、置光标、开窗口、颜色设置、删除字符等屏幕功能;掌握分支程序中字符比较及统计数量的程序设计,循环及排序程序设计方法考察了对数组和普通变量的定义。
当Rank1-Rank6都正确填完后,表示游戏成功,系统出现一个与所填写的单词有关的圣诞树以示祝贺。
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1693532505376-5647d1d4-d1df-4839-b4ef-e1c228ed769e.png#averageHue=%23ececec&clientId=ud6cce9d8-edc6-4&from=paste&height=336&id=ua90eede8&originHeight=420&originWidth=618&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=54742&status=done&style=none&taskId=u0511d9bf-e055-4ab5-afe9-f5560695425&title=&width=494.4)
游戏中共有3次机会,每输错一个字母,机会减一,若3次机会用完时,未填写完所有单词,则游戏失败,显示已正确完成的单词数量。
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1693532654769-3fdbffe1-b943-4656-8a4b-446001bb98f3.png#averageHue=%23ecebeb&clientId=ud6cce9d8-edc6-4&from=paste&height=342&id=uf66272ab&originHeight=428&originWidth=633&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=38747&status=done&style=none&taskId=u65effd83-6b08-468a-8814-47957485bce&title=&width=506.4)
# 二、核心算法思想
编写一个英文填字游戏。我们预先确定了五个常用的单词作为此游戏的所填空缺单词,当游戏开始时,首先需要在屏幕中依次出现Rank1-Rank5以及有空缺的单词,当Rank1的空缺字母全部填写正确,系统自动出现Rank2及单词,以此类推,然后用户通过观察单词以及各个单词之间的联系,初步判断应该填入哪些字母,通过上、下、左、右地移动置光标位置,表示缺字母的位置,以提示填入合适字母,每当有字母填写完成,系统判断所填写内容是否正确,若正确,光标跳转至本单词的下一个空缺位置,如果此单词已经填写完成,则光标跳转至下一个单词的首个空缺;若错误,则光标不做移动,用户可重新输入,直至输入正确,光标才可继续向下进行。
此游戏中预设定了五个单词,分别为wish you a white christmas,添加空缺后为_ish _o_ _ w_it_ ch_is_m_s。当游戏开始,首先显示Rank1和关卡1中已经预设的带有空缺的单词,等待参与者输入字母进行填补,参与者根据光标位置判断应该输入哪些字母使单词通顺合理,当有字母输入后,游戏通过数组来记录体验者一次游戏完成的单词量,完成一个数组自动加一,当正确填写完一个单词,则数目加一,直至游戏全部完成或者游戏中途失败。使用一个变量表示体验者的生命值,初值设置为3,表示体验者在本次游戏中共有3次机会可重新填入字母,如果填写失败一次,代表生命的变量值就自动减一,直到为0,提前退出游戏,表示游戏失败,显示出本次游戏已经完成的单词量,用户可选择者退出游戏或者重新开始新一轮的游戏,当有生命剩余且填写正确了所有单词,则表示成功通关。
填写单词就涉及到判断填入的字母正确与否,游戏不能无限制次数地输入错误字母,而是对参与者填入的字母进行判断,如果填写正确空缺字母,则显示绿色提示,并置光标到下一个要填写的位置,等待输入,如果正确补全一个单词,则自动置光标到下一个单词的空缺处,则开始第二关游戏,重复此操作,直至顺利填完所有单词且3次机会仍有剩余,在游戏单词下方出现一个绿色圣诞树表示祝贺通关。如果输入错误字母超过三次,,并且显示填写正确的单词数。每当用户正确或错误地输入字母,系统都会将其与正确答案比对,然后给出不同提示,输入正确为绿色提示,输入错误为红色提示,当用户看到提示便可及时纠正错误或者继续填写。
对于此次游戏的成功或是失败,我们分别设置了奖励和惩罚制度,也方便用户判断自己对单词的掌握和填写情况。在关卡1到关卡5中,一共有9个空缺需要填写,而我们设置的是若是一共有3个字母填写错误即为游戏失败,此时不可继续输入字母,退出输入并且显示挑战失败,打印出此次游戏中用户已经填写正确的单词数量,将提示字体设置为红色,更加醒目地使用户看到,提醒用户退出或者重新开始�