您当前的位置:首页 > 计算机 > 编程开发 > Python

Python实战-游戏(猜成语小游戏)

时间:07-18来源:作者:点击数:

前言

编程世界既神秘又充满乐趣,而今天,我们又将一起踏上学习编程的奇妙旅程,今天我们将用python通过编写简单而有趣的猜成语游戏,探索代码背后的魔法力量。无论你是完全的初学者还是有一定经验的编程爱好者,这个项目都将为你打开编程的大门,让你体验到编程的乐趣与成就感。

你需要掌握的知识点

随机数生成、函数定义、变量与数据类型、输入/输出、条件语句和循环结构以及简单的函数知识点,如果你还没掌握可以移步到Python,进行学习对应知识点后再进行操作。

我们的目标

在这个教程中,你将学会如何运用基本的编程概念和语法,编写一个简单但富有趣味的猜成语小游戏。通过这个游戏,你将了解到变量、循环、条件语句等编程基础知识,同时培养逻辑思维和解决问题的能力。让我们一起挑战自己,探索编程的无限可能性!

游戏的要求

在成语的世界里,藏着无穷无尽的谜团和乐趣,而今天,我们将揭开其中一个个成语的面纱。请跟随我一起踏上『猜成语大作战』的游戏之旅,这里没有黄金、宝石,只有一个隐藏在成语间的玩笑与挑战。

要求:

  • 游戏开始时,程序会随机选择一个成语,并给出相应的提示。
  • 玩家根据提示猜测这个成语是什么,然后输入自己的答案。
  • 如果玩家猜对了成语,将获得1分,并可以选择继续下一轮游戏。
  • 如果玩家猜错了,可以继续尝试,但每轮最多有3次猜测机会。
  • 游戏结束时会显示当前得分,并询问玩家是否继续游戏。
  • 玩家可以选择继续游戏或退出。

我们的思路

首先,准备一个包含多个成语及其解释的字典(idioms)作为游戏的词库。

编写一个函数(select_idiom)用于随机选择一个成语作为当前回合要猜测的成语。

编写主游戏循环(play_game),在每轮游戏中进行以下操作:

  • 随机选择一个成语,并输出相应的提示。
  • 提示玩家猜测这个成语是什么。
  • 玩家输入猜测的成语。
  • 判断玩家的答案是否正确,如果正确则增加得分,否则给出错误提示。
  • 循环直到玩家猜对或达到最大猜测次数。

在每轮游戏结束后,显示当前得分,并询问玩家是否继续游戏

主循环持续进行,直到玩家选择退出游戏。

具体落地

import random

idioms = {
    '一鸣惊人': '形容某人或某物初露头角时就有惊人表现。',
    '百花齐放': '比喻各种事物同时盛开或繁荣。',
    '海纳百川': '比喻胸怀宽广,接纳众多英才。',
    '卧虎藏龙': '比喻隐藏着许多隐匿的人才。',
    '珠光宝气': '形容华丽富丽的样子。',
    '春暖花开': '形容春天阳光温暖,百花盛开的景象。',
    '笑逐颜开': '形容喜笑连连,满面春风的样子。',
    '风和日丽': '形容天气晴朗、和风拂面的美好状态。',
    '水到渠成': '比喻事情顺利到达预定的目标或结果。',
    '平步青云': '形容一个人在很短的时间内飞黄腾达,出人头地。',
}

score = 0
max_attempts = 3

def select_idiom():
    return random.choice(list(idioms.keys()))

def play_game():
    global score
    attempts = 0
    current_idiom = select_idiom()
    print("欢迎参加猜成语游戏!请猜一下这个成语是什么:")
    print("提示:", idioms[current_idiom])

    while attempts < max_attempts:
        user_guess = input("请输入你猜测的成语:")
        if user_guess == current_idiom:
            score += 1
            print("恭喜你,猜对了!答案就是:" + current_idiom)
            break
        else:
            attempts += 1
            if attempts < max_attempts:
                print("猜错了,请再试试!还剩下{}次机会".format(max_attempts - attempts))
    
    if attempts == max_attempts:
        print("很遗憾,你没有猜对。正确答案是:" + current_idiom)

    print("当前得分: ", score)

# 游戏主循环
while True:
    play_game()
    continue_game = input("是否继续游戏?(输入'是'继续,其他任意键退出)")
    if continue_game.lower() != '是':
        print("游戏结束,最终得分为:", score)
        break
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门