前言
哈喽!大家好,我是栗子同学。
剧情是游戏的核心要素,也是游戏沉浸感的主要来源之一。
不论是何种类型游戏,不论其是否以剧情为主要玩点,优秀的剧情总能让一款游戏大放异彩。
我发现🎄
最近哪些剧情版的游戏还挺好玩儿的哈,事情是这样子的,我在刷抖音的时候发现一个恐
怖游戏主播,玩儿的恐怖游戏还挺有趣的,叫什么名字忘记了:貌似是一个很火的恐怖游戏。
我只记得这一小段剧情了——一个比较恐怖的老妇人,然后玩家的话比较小躲藏不能被发现。
最近的话也一直在研究,然后研究出来了一个简易版的剧情对战游戏!
因为实在是写剧情游戏+界面太难了,所以大家将就着学习这个简易版本的吧!23333
《决战紫禁之巅 》
一、游戏设置
【1】故事背景 【2】人物介绍 【3】开始游戏 【4】退出游戏
环境配置:
Python3、 Pycharm 、Pygame。
第三方库的安装:pip install pygame
效果展示:
代码演示:
主程序菜单:
from conf import setting
from conf import templates
from module import games
from module import commonif __name__ == "__main__":exit_flag = Falsewhile not exit_flag:# 开始菜单print(templates.GAME_MENU)func = input("\n请选择功能编号:[1-4]")if func not in ("1", "2", "3", "4"):continue# 退出吗if func == "4":exit_flag = Truecontinue# 游戏背景if func == "1":print(templates.GAME_TITLE.format(currrole="", apponent=""))common.load_begin()# 查看人物信息if func == "2":cui_str = common.format_info(common.load_info("xmcx"))ye_str = common.format_info(common.load_info("ygc"))print(templates.ROLE_INFO.format(cui=cui_str, ye=ye_str))# 开始游戏if func == "3":games.start()
程序中所有用到的静态展示模板文件资源:
# 游戏开始标题菜单
GAME_TITLE = '''
---------------------------------------------------------
| |
| 决战紫禁之巅 |
| |
---------------------------------------------------------
【故事背景】'''# 主程序系统菜单模板
GAME_MENU = '''\033[1;32m
---------------------------------------------------------
| |
| 决战紫禁之巅 |
| |
---------------------------------------------------------
【1】故事背景 【2】人物介绍 【3】开始游戏 【4】退出游戏
\033[0m;'''# 人物介绍展示模板
ROLE_INFO = '''\033[1;30m【人物介绍】
----------------------------------------------------------
西门吹雪:{cui}叶 孤 城:{ye}
\033[0m;'''
此模块用于初始化用户信息.xml:
from xml.etree import ElementTree as ETroot = ET.Element("game-user")
user1 = ET.SubElement(root, "user", attrib={"key": "xmcx"})
name1 = ET.SubElement(user1, "name")
alias1 = ET.SubElement(user1, "alias")
blood1 = ET.SubElement(user1, "blood")
sword1 = ET.SubElement(user1, "sword")
introduct1 = ET.SubElement(user1, "introduce")
kongfu = ET.SubElement(user1,"kongfu")
name1.text = "西门吹雪"
alias1.text = "剑神"
blood1.text = "200"
sword1.text = "乌鞘剑"
kongfu.text = '{"雪染长虹":15, "剑神一笑":30 ,"冰雪交加":20, "雪满天下": 25 }'
introduct1.text = "西门吹雪以剑法超绝立足江湖,生性冷僻,其人不苟言笑,嗜剑如命,取人性命在电光火石之间,视杀人为艺术。" \"长身直立、白衣如雪,腰旁的剑却是黑的,漆黑,狭长,古老,乃天下利器,剑锋三尺七寸,净重七斤十三两"user2 = ET.SubElement(root, "user", attrib={"key": "ygc"})
name2 = ET.SubElement(user2, "name")
alias2 = ET.SubElement(user2, "alias")
blood2 = ET.SubElement(user2, "blood")
sword2 = ET.SubElement(user2, "sword")
kongfu = ET.SubElement(user2,"kongfu")
introduct2 = ET.SubElement(user2, "introduce")name2.text = " 叶孤城"
alias2.text = "剑圣"
blood2.text = "200"
sword2.text = "古雅长剑"
kongfu.text = '{"天外飞仙":20, "独孤九剑":30 ,"乾坤一掷":15, "凝神归元": 10 }'
introduct2.text = "其容貌秀丽端庄,自幼痴心向剑,且天资极高,自己悟得上乘剑道,叶孤城自创辉煌至极的剑招「天外飞仙」" \"与燕南天独创强霸无双的剑术「神剑诀」都是傲视天下的剑法,名震海内。配剑乃海外寒鐡精英,吹毛断发," \"剑锋三尺三,净重六斤四两"xmlfile = ET.ElementTree(root)
xmlfile.write("users.xml", encoding="utf-8", xml_declaration=True)
用来定义双方攻击后的对手对话列表资源,实际对话时从列表中随机选
attack_succ_msg = ["剑法果然名不虚传", "好牛B的剑法", "哎呀!我嚓没防住", "我靠又中一刀"]
attack_fail_msg = ["看来也不过如此", "我躲我躲我躲躲躲", "怎么样打不着吧!", "就你这剑法在练练吧"]
结尾
好了!到这里就结束啦!(滴滴我可获取全部的源码哦免费滴)
快来找我领取吧~
文章合集系列——
1.0 Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(欢迎阅读哦~之前写过的文章源码素材都在里面滴)