我用ChatGPT编写一个英语猜单词游戏源码

2024-09-05 10:52

本文主要是介绍我用ChatGPT编写一个英语猜单词游戏源码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

我们可以利用python中的tkinter框架创建一个简单的英语单词猜词游戏。用户将看到一个缺少几个字母的单词,并需要填写出正确的字母,填写正确后会提醒correct,错误则提示:try again. 本代码全程利用VScode中的ChatGPT插件来完成。

二、实现过程

步骤 1:导入必要的库

我们需要导入 tkinter 库来创建图形用户界面(GUI),还需要导入 random 库来随机选择单词。

import tkinter as tk
import random

步骤 2:创建主窗口

创建一个主窗口,并设置窗口的标题和大小。

root = tk.Tk()
root.title("Guess the Word Game")
root.geometry("400x300")

步骤 3:定义单词列表和游戏逻辑

我们需要一个单词列表和一个函数来随机选择一个单词并生成缺少字母的版本。

words = ["python", "tkinter", "widgets", "canvas", "button"]def get_random_word():word = random.choice(words)hide_count = len(word) // 3  # 随机隐藏1/3的字母word_list = list(word)indexes = random.sample(range(len(word)), hide_count)for index in indexes:word_list[index] = "_"return word, "".join(word_list)

步骤 4:设置游戏元素

设置一个标签来显示带有下划线的单词,一个输入框用于用户输入,以及一个按钮来检查答案。

original_word, displayed_word = get_random_word()word_label = tk.Label(root, text=displayed_word, font=("Helvetica", 24))
word_label.pack(pady=20)entry = tk.Entry(root, font=("Helvetica", 14))
entry.pack(pady=10)result_label = tk.Label(root, text="", font=("Helvetica", 14))
result_label.pack(pady=10)

步骤 5:检查用户输入

定义一个函数来检查用户输入的单词是否正确。当用户点击按钮时,触发检查函数。

def check_answer():user_input = entry.get()if user_input.lower() == original_word:result_label.config(text="Correct!", fg="green")else:result_label.config(text="Try Again!", fg="red")check_button = tk.Button(root, text="Check Answer", command=check_answer)
check_button.pack(pady=10)

步骤 6:启动主循环

启动主循环来运行应用程序。

root.mainloop()

三、完整代码展示

根据以上每个步骤代码,我们整合出一个py文件,同时添加了答对正确自动切换到下一个单词的功能。每一次会随机隐藏三分之一的代码。游戏的界面如下:

完整的代码如下图所示:

import tkinter as tk
import random# 创建主窗口
root = tk.Tk()
root.title("Guess the Word Game")
root.geometry("400x300")# 单词列表
words = ["python", "tkinter", "widgets", "canvas", "button"]# 获取随机单词并隐藏其一部分字母
def get_random_word():word = random.choice(words)hide_count = len(word) // 3  # 随机隐藏1/3的字母word_list = list(word)indexes = random.sample(range(len(word)), hide_count)for index in indexes:word_list[index] = "_"return word, "".join(word_list)# 重置游戏
def reset_game():global original_word, displayed_wordoriginal_word, displayed_word = get_random_word()word_label.config(text=displayed_word)entry.delete(0, tk.END)result_label.config(text="")# 设置游戏元素
original_word, displayed_word = get_random_word()word_label = tk.Label(root, text=displayed_word, font=("Helvetica", 24))
word_label.pack(pady=20)entry = tk.Entry(root, font=("Helvetica", 14))
entry.pack(pady=10)result_label = tk.Label(root, text="", font=("Helvetica", 14))
result_label.pack(pady=10)def check_answer():user_input = entry.get()if user_input.lower() == original_word:result_label.config(text="Correct!", fg="green")root.after(1000, reset_game)  # 1秒后重置游戏else:result_label.config(text="Try Again!", fg="red")check_button = tk.Button(root, text="Check Answer", command=check_answer)
check_button.pack(pady=10)# 启动主循环
root.mainloop()

三、学后总结

这个英语猜单词游戏过随机隐藏单词中的部分字母让玩家进行猜测,简单但有趣。如果你有任何修改或扩展的想法,可以尝试:读取单词表,增加更多单词到单词列表中;增加计时功能;增加难度选项(如隐藏更多字母);添加记分系统等。

这篇关于我用ChatGPT编写一个英语猜单词游戏源码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo