基于ERNIE Bot SDK开发中国传统酒令游戏--射覆


本文介绍了基于文心大模型开发的传统射覆游戏项目。射覆是源于汉代的猜物游戏,后演变为文字酒令,规则是以谜猜谜。项目让模型扮覆者,玩家扮射者,模型需完成随机给物品及打油诗、按物品作诗、判断射者答案这三项功能,并给出了相应prompt设计、代码实现及利用gradio开发的游戏原型,还介绍了玩法。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

项目背景


射覆是一种古时的猜物游戏,常用于占卜,也是酒令的一种形式。所谓“射”,是“猜”的意思,所谓“覆”,是“遮盖、隐藏”的意思。游戏通常在一个器具(如瓯、盂)下覆盖某一物件,让参与者猜测里面是什么东西。
射覆的起源可以追溯到汉代,当时的皇宫中就已经流行这种游戏。游戏所用的物品通常是日常用品,如手巾、扇子、笔墨、盒罐等。
随着时间的推移,射覆逐渐演变成民间宴饮时的文字游戏。
在《红楼梦》中,射覆被描述为一种酒令,参与者通过成语或诗句来猜测物体,这不仅考验参与者的知识储备,还体现了他们的才学和性格。
射覆的游戏规则是这样的:
①覆者先说谜面(在本游戏中谜面是一首打油诗);
②射者猜中的话不能直接说出谜底,要另说一个谜面来作答;
③彼此都对才算过关;
通俗一点来说,就是猜谜语,但是比猜谜语更难,准确来说是以谜猜谜。
射覆对于我们现代人来说是比较难的,好在有文心大模型的帮忙,玩射覆就简单多啦。

项目方案

流程梳理

射覆的具体游戏流程如下:

  1. 覆者随机选择身边一件物品
  2. 覆者写一首打油诗作为谜面,描述这件物品(这个过程称为“覆”)
  3. 射者根据覆者给出的打油诗,猜测覆的物品是什么并同样给出一首描述这件物品的打油诗
  4. 覆者判断射者是否猜中了自己心中所想

功能设计

本项目中,我们让文心大模型扮演覆者,玩家扮演射者,则模型需要做以下三件事:

  1. 随机给出一个物品名称和描述这件物品的打油诗
  2. 根据物品名称,给出一首描述该物品的打油诗(此功能用户可不用,可自己写)
  3. 根据覆的物品名称和射者的打油诗判断游戏结果(猜中、没猜中),并给出对应的输出

prompt设计

  1. 需求描述:随机给出一个物品名称和描述这件物品的打油诗
    输出:无
    输出:物品名称、描述这件物品的打油诗
def ernie_cover_prompt():
    return ("我想要你陪我玩'射覆'游戏:"
            "你的任务如下:"
            "1.你需要从你的身边随机找一件物品,不要选钟表等过于常见的、特别容易猜中的物品"
            "2.输出一句有趣的打油诗,来生动形象的描述这件物件。(打油诗中不要出现该物品的名称,内容不要过于直白,不要使用户一下子就猜到)"
            "3.将结果以{\"thing\":\"\",\"poem\":\"\"}的JSON格式返回,其中thing表示物品名称,poem表示描述这件物品的打油诗。"
            "注意: 除了JSON格式结果以外,不要返回其他任何内容。")

2.需求描述:根据物品名称,给出一首描述该物品的打油诗
输入:物品名称
输出:描述该物品的打油诗

def shoot_prompt(thing):
    return f"""
    请你用一句打油诗描述{thing},诗中不能出现"{thing}"几个字。除了打油诗以外,不要返回其他任何内容。
    """
  1. 根据覆的物品名称和射者的打油诗判断游戏结果(猜中、没猜中),并给出对应的输出
    输入:物品名称、打油诗
    输出:游戏结果
def user_shoot_prompt(shoot_poem, cover_thing):
    prompt = f"""
        你现在正在跟我玩射覆游戏,你"覆"的物品是{cover_thing},我给的描述这个物品的打油诗是{shoot_poem}。
        如果你认为我猜对了,请你对我说:我覆的是"{cover_thing}",你猜对了,你和我还真是心有灵犀呢,让我们共饮一杯吧!
        如果你认为我猜错了,请你对我说:我覆的是"{cover_thing}",你猜错了,请自罚一杯!
        最后再说一句寓意美好的祝酒辞作为结尾。
    """
    
    return prompt

代码实现

安装项目依赖

In [ ]
# 安装依赖!pip install -U erniebot

设置token

In [ ]
import erniebotdef set_token(token):
    erniebot.api_type = 'aistudio'
    erniebot.access_token = token

set_token("替换为你自己的token")

实现调用ERNIE API的方法

In [8]
 def get_ernie_res(txt):
        model = 'ernie-3.5'
        messages = [{'role': 'user', 'content': txt}]
        response = erniebot.ChatCompletion.create(
            model=model,
            messages=messages,
        )        return response.result#test get_ernie_res("hi")
'您好!有什么我可以帮助您的吗?如果您有任何疑问或需要建议,请随时告诉我,我将竭诚为您服务。'

实现核心prompt并进行测试

In [5]
# 随机给出一个物品名称和描述这件物品的打油诗def ernie_cover_prompt():
    return ("我想要你陪我玩'射覆'游戏:"
            "你的任务如下:"
            "1.你需要从你的身边随机找一件物品,不要选钟表等过于常见的、特别容易猜中的物品"
            "2.输出一句有趣的打油诗,来生动形象的描述这件物件。(打油诗中不要出现该物品的名称,内容不要过于直白,不要使用户一下子就猜到)"
            "3.将结果以{\"thing\":\"\",\"poem\":\"\"}的JSON格式返回,其中thing表示物品名称,poem表示描述这件物品的打油诗。"
            "注意: 除了JSON格式结果以外,不要返回其他任何内容。")
In [10]
import json# 将字段值分别输出def process_ernie_cover():
    json_res = get_ernie_res(ernie_cover_prompt())     # 提取JSON部分
    start_index = json_res.find('{')
    end_index = json_res.rfind('}') + 1
    json_str = json_res[start_index:end_index]
    json_obj = json.loads(json_str)    return json_obj["thing"], json_obj["poem"]
process_ernie_cover()
('魔方', '多彩多面藏智慧,旋转之间现神奇。千变万化难捉摸,手中把玩思无限。')
In [ ]
# 根据物品名称,给出一首描述该物品的打油诗def shoot_prompt(thing):
    return f"""
    请你用一句打油诗描述{thing},诗中不能出现"{thing}"几个字。除了打油诗以外,不要返回其他任何内容。
    """# testget_ernie_res(shoot_prompt('雪糕'))
In [ ]
# 根据覆的物品名称 和 射者的打油诗判断游戏结果(猜中、没猜中),并给出对应的输出  def user_shoot_prompt(shoot_poem, cover_thing):
    prompt = f"""
        你现在正在跟我玩射覆游戏,你"覆"的物品是{cover_thing},我给的描述这个物品的打油诗是{shoot_poem}。
        如果你认为我猜对了,请你对我说:我覆的是"{cover_thing}",你猜对了,你和我还真是心有灵犀呢,让我们共饮一杯吧!
        如果你认为我猜错了,请你对我说:我覆的是"{cover_thing}",你猜错了,请自罚一杯!
        最后再说一句寓意美好的祝酒辞作为结尾。
    """
    return prompt

get_ernie_res(user_shoot_prompt("红纸轻裁锦绣词,佳期遥盼喜相思。诚心挚意传千里,佳宾云集共此时。", "请柬"))

利用gradio开发游戏原型

参考代码如下:

with gr.Blocks(title="射覆", theme="soft") as game:
    gr.Markdown("

中国传统游戏--射覆

") gr.Markdown("""
射覆是一种古时的猜物游戏,常用于占卜,也是酒令的一种形式。游戏通常在一个器具(如瓯、盂)下覆盖某一物件,让参与者猜测里面是什么东西。射覆的起源可以追溯到汉代,当时的皇宫中就已经流行这种游戏。游戏所用的物品通常是日常用品,如手巾、扇子、笔墨、盒罐等。 随着时间的推移,射覆逐渐演变成民间宴饮时的文字游戏。在《红楼梦》中,射覆被描述为一种酒令,参与者通过成语或诗句来猜测物体,这不仅考验参与者的知识储备,还体现了他们的才学和性格。 射覆的游戏规则是这样的:所谓“射”,是“猜”的意思。所谓“覆”,是“遮盖、隐藏”的意思。
①覆者先说谜面(在本游戏中谜面是一首打油诗); ②射者猜中的话不能直接说出谜底,要另说一个谜面来作答; ③彼此都对才算过关;
通俗一点来说,就是猜谜语,但是比猜谜语更难,准确来说是以谜猜谜。 作诗对于我们现代人来说是比较难的,好在有文心大模型的帮忙,我们就可以愉快的玩射覆啦。
""") token = gr.Textbox(label="Token") with gr.Tab("你\"射\",文心\"覆\""): with gr.Row(): with gr.Column(): cover_button = gr.Button(value="覆") # 谜底隐藏不显示 cover_thing = gr.Textbox(visible=False) cover_poem = gr.Textbox(label="谜面") with gr.Column(): shoot_thing = gr.Textbox(label="物品名称") shoot_poem = gr.Textbox(label="射") shoot_button = gr.Button(value="不会写诗,文心帮帮我♥️") with gr.Row(): res = gr.Textbox(label="结果") judge_button = gr.Button(value="看看你猜对了吗") cover_button.click(ernie_cover, [], [cover_thing, cover_poem]) shoot_button.click(gene_poem, [shoot_thing], [shoot_poem]) judge_button.click(user_shoot_res, [shoot_thing, cover_thing], [res])

效果展示及玩法介绍

**游戏体验链接:**https://aistudio.baidu.com/application/detail/26562

效果展示: 
玩法介绍:

  1. 首先点击"覆"按钮,让文心出题。
  2. 我们根据谜面猜出结果以后,让文心帮忙写一首诗
  3. 查看本轮游戏结果


# access  # ai  # 文心大模型  # https  # prompt  # 这件  # 一首  # 一句  # 的是  # 请你  # 错了  # 你猜  # 我猜  # 对了  # 诗中 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化91478 】 【 技术知识72672 】 【 云计算0 】 【 GEO优化84317 】 【 优选文章0 】 【 营销推广36048 】 【 网络运营41350 】 【 案例网站102563 】 【 AI智能45237


相关推荐: Logic Pro 11更新全面解析:免费升级、AI功能与音乐制作流程  通义千问怎么设置常用功能快捷键_通义千问快捷键设置【步骤】  EdrawMax AI:使用人工智能快速创建流程图和图表  AdobeExpressAI智能排版怎么快速生成Logo_AdobeExpressAI智能排版Logo生成入口【步骤】  2025年最佳AI流程图工具:效率提升秘籍  Midjourney怎么用一键生成logo_Midjourneylogo生成步骤【教程】  使用文心一言进行高质量的唐诗宋词创意改编  教你用AI把照片变成动漫风格,3个简单步骤刷爆朋友圈  雷小兔ai智能写作如何优化语句_雷小兔ai智能写作语句润色技巧【攻略】  揭秘:发电机咒语的音频魔力与音乐的力量  2025年必备:顶级AI工具,赋能您的日常工作和业务流程  RPGGO AI:颠覆传统!2D游戏创作新纪元  提升房地产业务:AI语音助手赋能房地产经纪公司  批改网ai检测工具如何导出检测报告_批改网ai检测工具报告导出格式【步骤】  OpenAI DevDay 2025:开发者必知的七大AI进展  AI如何变革法律行政助理角色?未来发展趋势分析  goPDF:AI驱动的PDF文档处理全方位指南,提升工作效率  GitHub MCP Server:AI赋能代码管理的未来  终极游戏工作站:帝王蝎椅沉浸式体验评测  CallidusAI:提升合同起草效率的智能Word插件指南  EcoFlow Delta 3 Max Plus:打造你的智能电力生态系统  AI网页生成工具有哪些_一键生成企业官网的AI工具推荐  tofai网页版官方入口 tofai官网登录网址  豆包AI怎么关闭消息推送_通知与提醒管理设置教程  壹伴AI智能排版如何自动生成文章配图_壹伴AI智能排版配图生成与版权说明【教程】  AI赋能软件测试:自动化、智能化与未来趋势  五大AI视频编辑工具:提升视频创作效率和质量  AI时代生存指南:掌握软实力,成为不可替代的人  秀米AI排版如何自动生成模板_秀米AI排版模板生成入口与风格选择【攻略】  Ifor Williams拖车终极指南:农场主的选择和省税秘诀  AI伴侣:连接还是孤独?真实对话揭秘AI伦理困境  教你用AI进行角色扮演对话,练习你的沟通和谈判技巧  TechInternPath.ai:AI驱动的实习之路,助你梦想成真  DeepSeek AI:AI通用谜题解题器,解题思路全解析  利用AI模板高效创建产品需求文档 (PRD)  歌曲分析:The Killers乐队的《Mr. Brightside》歌词深度解析  如何用AI帮你创建自定义表情符号(Emoji)?聊天斗图更有趣  ATS优化:Euron ResumeAI打造高效求职简历  探索泰勒·斯威夫特《August》的深层含义:歌词解析与情感分析  豆包AI怎么评价回答的好坏_点赞与反馈功能使用教程  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  AI驱动的Web应用测试:突破QA挑战,提升用户体验  Avokaado AI:简化合同管理和法律流程的终极指南  CanvaAI抠图怎么批量处理_CanvaAI批量抠图与团队协作功能【指南】  kimi生成ppt怎么编辑文字_kimi编辑文字后怎么保存  Gemini怎样用语音输入_Gemini语音输入设置【方法】  ASUS Armoury Crate深度评测:最新功能与个性化定制  文本分类:生成模型与朴素贝叶斯算法的全面指南  EdrawMind终极评测:AI赋能思维导图,提升效率与创造力  AI在软件测试中的应用:提升效率与质量的关键策略 

 2025-07-16

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.