Flask开发成语接龙游戏,以后闲了手机玩玩自己写的游戏吧!#华为云·寻找黑马程序员#

本文主要是介绍Flask开发成语接龙游戏,以后闲了手机玩玩自己写的游戏吧!#华为云·寻找黑马程序员#,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

          • 明天你好,我叫干不倒
          • 英语单词学习应用
          • 成语接龙
          • 接龙规则
          • 实现分析
            • 数据库信息
            • 登陆排行
            • 游戏界面
            • 成语判断
            • 拼音识别
          • 代码编写
            • Jinjia2模板
            • Flask装饰器
          • 游戏演示
          • 手机搭建项目
            • 代码clone
            • pipenv导入
          • The End

明天你好,我叫干不倒

一直比较喜欢看《欢乐喜剧人》,其中有一期小沈龙的节目,名字叫明天你好,我叫干不倒
父亲的身体一直不好,因为常年的酗酒抽烟,患脑梗好些年头了,周末病情有些恶化,住院治疗了。我是家中独子,父母生病只能靠我来照看,但IT这行请假尤其长假简直奢望,但母亲一个人忙不过来,让我有些不知如何是好。希望老爸的病情能有所好转,早日康复吧。

英语单词学习应用

周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多。本来周末打算照着扇贝/极光单词,写一个英语单词自测工具。但苦于单词的分类和数据没找到很细致的文档,所以这个内容往后延一下。
如果大家有英语单词、音标、翻译这种根据不同年级或等级分类的数据可以共享给我,开发完成大家一起学习背单词。

成语接龙

6月高考的前一天,我发布的一篇文章,决战高考,帮你秒变成语之王,当时只是吧网站的成语爬下来保存到数据库中,文末提到有机会了抽时间拿这些数据搞点事情,那么今天就来搞事情吧。用3W+的成语数据库,开发一款成语接龙的小游戏。

接龙规则

成语接龙是中华民族传统的文字游戏。它不仅有着悠久的历史和广泛的社会基础,同时还是体现我国文字、文化、文明的一个缩影,是老少皆宜的民间文化娱乐活动。
成语接龙规则多样,大家一般熟知的是采用成语字头与字尾相连不断延伸的方法进行接龙;用四个字成语的最后一个字与下一句成语的第一个相同的字【音同就可以】,首尾相接不断延伸,形成长龙。

实现分析
数据库信息

先来看看我们的数据库信息:
数据库信息
数据库表idiom分为id,name,speak,meaning,example,hot 几个字段,hot是当时搜索的网站热词排行,跟咱们没有太大关系…主要是name和speak字段。

登陆排行

为了能增强可玩性,我们在每次开场前,允许用户随机输入一个名字。在挑战过程中,针对用户坚持的接龙次数进行排名。
挑战者记录
创建用户排名表:

CREATE TABLE rank (name  VARCHAR (50) NOT NULL,round_num INT      NOT NULL
);

这里为什么不设置主键呢?主要是排名取前5,用户使用一个名字多次参战,如果犀利的话包揽前5看这也很帅气啊,清一色的都是我,想想都觉得自我满足感爆棚。

游戏界面

首先映入眼帘的是ROUND 1的接龙次数显示,有没有儿时拳皇对打的感觉…
为了帮助大家在玩游戏的同时能学习成语知识,也避免有些生僻字不认识,所以在界面中显示了成语、注音、解释和示例,当然示例不是每个成语都有,网站有啥我就展示啥呗…
游戏界面

成语判断

首先必须是四字的成语,用户输入非四字的成语会弹出警示栏,其次用户填写完成语后,会将成语在数据库中进行检索,如果是成语则进行接龙后返回电脑的匹配结果,进行第二轮的基隆,如果数据库中无此成语会弹出游戏结束的提示“挑战结束:用户输入的成语是自己编的吧!”,返回登陆页,并将用户的挑战结果入库rank表进行排行。
这里需要注意,成语接龙的收尾字可以不一样但音必须相同,包括声调哦!

拼音识别

数据库中的成语我们存在拼音了,但用户输入的是汉字,我们如何进行拼音转化呢?这里需要使用到python的一个模块pypinyin。针对这个模块的使用,之前写过一篇文章Python为文档批量注音(生僻字歌词为例),喜欢的朋友可以去看看。用法很简单,但我们需要做到和数据库中相对应才行。

from pypinyin import pinyin
pinyin('唇枪舌剑')
# output:
[['chún'], ['qiāng'], ['shé'], ['jiàn']]
# 此处为一个嵌套列表,我们需要转化为数据库中的格式
'  '.join(map(lambda x: x[0], pinyin('唇枪舌剑')))
# output:
'chún  qiāng  shé  jiàn'
代码编写
Jinjia2模板

大家看到不管是用户登录还是游戏界面,外框内容基本一致,基于这种场景使用Jinjia2的模板继承是个很不错的选择:
layout.html主要负责大体框架及相关css和js的引入工作

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1 ,user-scalable=no"><title>清风python</title><link rel="icon" href="{{ url_for('static',filename='favicon.ico') }}"><link rel="stylesheet" href="{{ url_for('static',filename='css/bootstrap.min.css') }}"><link rel="stylesheet" href="{{ url_for('static',filename='css/main.css') }}"><script src="{{ url_for('static',filename='js/jquery.min.js') }}"></script>
</head>
<bod

这篇关于Flask开发成语接龙游戏,以后闲了手机玩玩自己写的游戏吧!#华为云·寻找黑马程序员#的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/583890

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

定价129元!支持双频 Wi-Fi 5的华为AX1路由器发布

《定价129元!支持双频Wi-Fi5的华为AX1路由器发布》华为上周推出了其最新的入门级Wi-Fi5路由器——华为路由AX1,建议零售价129元,这款路由器配置如何?详细请看下文介... 华为 Wi-Fi 5 路由 AX1 已正式开售,新品支持双频 1200 兆、配有四个千兆网口、提供可视化智能诊断功能,建

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要