课时57:小游戏开发_完成游戏

简介: 本次课程围绕“唐僧大战白骨精”游戏的开发流程展开,详细阐述了从欢迎信息制作完成后,如何显示玩家基本信息、设置游戏选项,以及处理玩家不同选择(练级、打Boss、逃跑)的具体逻辑,同时指出了代码中存在的不合理之处并给出改进建议,旨在帮助初学者通过该游戏开发练习流程控制语句的使用。1. 显示玩家基本信息2. 显示游戏选项3. 处理用户选择4. 代码优化建议

课时57:小游戏开发_完成游戏


摘要:本次课程围绕“唐僧大战白骨精”游戏的开发流程展开,详细阐述了从欢迎信息制作完成后,如何显示玩家基本信息、设置游戏选项,以及处理玩家不同选择(练级、打Boss、逃跑)的具体逻辑,同时指出了代码中存在的不合理之处并给出改进建议,旨在帮助初学者通过该游戏开发练习流程控制语句的使用。

1. 显示玩家基本信息

2. 显示游戏选项

3. 处理用户选择

4. 代码优化建议

 

01、 显示玩家基本信息

1.1 变量创建

在欢迎信息制作完成后,接下来要显示玩家的基本信息,主要包括攻击力和生命值。这两个信息需要创建变量来保存,因为后续要与Boss的相应值进行比较。

#创建变量,来保存玩家的生命值和攻击力

Player_life=2; 生命值

Player_attack=2; 攻击力

对于攻击力变量名的确定,若拿不准可以通过搜索引擎查询英文翻译,正确的“攻击”英文是“attack”。

同样,为了保存Boss的生命值和攻击力,也需要创建相应变量,且Boss的生命值和攻击力应比玩家高,可根据自己的想法设置具体数值。

#创建变量,来保存Boss的生命值和攻击力

Boss-life=10; Boss生命值

Boss-attack=10; Boss攻击力

image.png

1.2 信息显示

只需要向玩家显示玩家的信息,可使用格式化输出语句来展示。为了使显示效果更清晰,可以添加空格和分割线。

printf(f’唐僧,你的生命值是{player-life}你的攻击力是 {player-attack);

image.png

image.png

 

02、 显示游戏选项

2.1 选项设置

游戏正式开始,为玩家提供三个选项:练级、打Boss、逃跑。可以通过复制之前的格式代码并进行修改来实现。

println("请选择你要进行的操作:");
println(‘\t1.练级’)
println(‘\t2.打Boss’)
println(‘\t3.逃跑’)
为了保存用户的选择,可以使用一个变量,如`player-choose`。
player-choose=input(‘请选择要做的操作[1-3]:’),
也可以换成game-choose=input(‘请选择要做的操作[1-3]:’),

image.png

为了使界面格式更好看,每段信息之间最好添加分割线。

image.png

image.png

 

03、 处理用户选择

3.1 练级选项

当用户选择1进行练级时,需要增加玩家的生命值和攻击力。

If game_Choose==‘1’:
#增加玩家的生命值和攻击力
player-life +=2;
player-attack +=2;

image.png

image.png

由于游戏选项是需要反复显示的,所以必须将游戏选项编写到一个死循环中。因为不知道游戏何时结束,所以使用死循环,通过`break`语句在合适的时候退出循环。

while True:

image.png

image.png

#显示玩家信息:你也可以放到一个循环里面,也可以放if里边。

image.png

print(f’恭喜你升级了,你现在的生命值是{player life},你的攻击力是{player attack}’);

image.png

玩家信息也可以根据需求选择放在循环内或在修改后单独显示最新信息。

3.2 (二)打Boss选项(elif game-choose==‘2’)

当用户选择2打Boss时,需要分两步进行操作。

1. 玩家攻击Boss:玩家攻击Boss就是减去Boss的生命值,减去的生命值等于玩家的攻击力。
elif game-choose==2:
BossLife-=player-attack;
print(‘->唐僧<-攻击力->白骨精<-)
#检查Boss是否死亡
If Boss-life<=0
#Boss死亡,player胜利,游戏结束
println(f‘->白骨精<-受到了{player-attack}点伤害,重伤不治死了。->唐僧<-赢得了胜利!‘);
//游戏结束
Break(退出循环)

image.png

2. Boss反击玩家:若Boss未死亡,则Boss反击玩家,减去玩家的生命值。

else{
player-life-=BossAttack;
printf(‘->白骨精<-攻击了->唐僧<-‘);
#检查玩家是否死亡
If player-life<=0 :
println(‘你受到了{Boss-attack}点伤害,重伤不治死了!GAME OVER’)
#游戏结束
break;

image.png

image.png

image.png

3.3 逃跑选项

当用户选择3逃跑时,相当于退出游戏,此时可以显示一个提示信息并使用`break`语句退出循环。

elif(game-choose==‘3’:
println(‘->唐僧<-一扭头,撒腿就跑。GAME OVER!");
break;

image.png

3.4 非法输入处理

为了处理用户输入非法选项的情况,需要添加一个`else`分支,提示用户输入有误并让其重新输入。

else:
print  (‘用户你的输入有误,请重新输入!‘);

image.png

 

04、 代码优化建议


当前代码中,像“唐僧”“白骨精”这样的游戏人物名字是写死的,如果要修改游戏名称或人物,需要多处修改,成本较高。更合理的方式是将这些人物名字设置成变量,这样可以使游戏更加灵活。

对于初学者来说,这个游戏开发是一个很好的练习机会,建议自己独立编写两三遍,体会程序的开发流程。同时,可以发挥想象力对游戏进行扩展,如引入闪避机制、技能系统等,让游戏更加复杂和有趣。

相关文章
|
弹性计算 网络协议 Linux
阿里云搭建我的世界服务器
以阿里云ECS服务器作为frp内网穿透中转,搭建我的世界服务器。
4699 0
|
7月前
|
机器学习/深度学习 人工智能 安全
Stable Diffusion 3.0 :一键开启你的AI绘画之旅
本文介绍了Stable Diffusion 3.0的主要优化,包括采用DiT架构提升多对象生成能力及“流匹配”技术加速采样。同时解决了部署复杂、显卡需求高等问题,可通过阿里云计算巢一键部署,实现即开即用。文章展示了人像、动漫风、科幻风等生成效果,并提供中文菜单设置与插件下载教程。无论是专业设计师还是普通用户,都能轻松开启智能创作新时代。 Flux模型支持即将上线,值得期待。
|
6月前
|
人工智能 自然语言处理 数据可视化
让AI单次生成4万字!WriteHERE:开源AI长文写作框架,单次生成超长文本,小说报告一键搞定!
WriteHERE是基于异质递归规划技术的开源AI写作框架,能动态分解写作任务并管理任务依赖关系,支持单次生成超过4万字的专业报告。
760 55
让AI单次生成4万字!WriteHERE:开源AI长文写作框架,单次生成超长文本,小说报告一键搞定!
|
6月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
497 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
6月前
|
人工智能 并行计算 Linux
斯坦福黑科技让笔记本GPU也能玩转AI视频生成!FramePack:压缩输入帧上下文长度!仅需6GB显存即可生成高清动画
斯坦福大学推出的FramePack技术通过压缩输入帧上下文长度,解决视频生成中的"遗忘"和"漂移"问题,仅需6GB显存即可在普通笔记本上实时生成高清视频。
1278 19
斯坦福黑科技让笔记本GPU也能玩转AI视频生成!FramePack:压缩输入帧上下文长度!仅需6GB显存即可生成高清动画
|
5月前
|
人工智能 编解码 测试技术
云电脑显卡性能终极对决:ToDesk云电脑/顺网云/海马云,谁才是4K游戏之王?
本文对比了ToDesk云电脑、顺网云和海马云三大平台的性能表现,涵盖游戏实战与AI模型测试。ToDesk云电脑搭载RTX 5090显卡,在4K游戏与大模型支持上表现卓越;顺网云适合中轻度游戏玩家,强调即开即用的便捷性;海马云面向企业用户,提供稳定算力与多任务支持。评测从显卡、处理器、压力测试到网络传输技术全面展开,最终推荐:硬核玩家首选ToDesk云电脑,内容创作者可选ToDesk云电脑或海马云,企业用户则更适合海马云。
1070 23
|
6月前
|
人工智能 自然语言处理 物联网
"一丹一世界"二等奖 | TPSZ_二次元卡通梦幻插画风格-童梦拾光 创作分享
"一丹一世界"二等奖 | TPSZ_二次元卡通梦幻插画风格-童梦拾光 创作分享
149 7
|
8月前
|
人工智能 自然语言处理 程序员
通义灵码×DeepSeek 实战:打造一款小游戏,分享给朋友玩
通义灵码×DeepSeek 实战:打造一款小游戏,分享给朋友玩
|
8月前
|
人工智能 数据可视化 程序员
100 名 AI 程序员体验官都在用通义灵码干什么?
通义灵码联合阿里云开发者社区,全网寻找 100 位 AI 程序员体验官,感受 AI 程序员和满血版 Deepseek 加持下的智能编码新功能,体验需求开发、跨语言编程、单元测试自动生成、图生代码等能力,领取 Cherry 机械键盘、智能手环等奖品。我们看看体验官们用通义灵码都干了什么?
|
9月前
|
存储 人工智能 运维
下一代研发大模型需要哪些关键能力?
CodeFuse 支持从设计到运维的整个软件开发生命周期。项目已开源多个项目,欢迎社区共建。其中Rodimus作为 CodeFuse 的重要组成部分,旨在降低推理复杂度,优化大模型性能,支持低资源设备上的高效运行。
209 6