专栏名称: Python学习交流
每天更新,更新python相关的知识。希望诸君有所收获!
目录
相关文章推荐
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历 ·  3 天前  
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年? ·  2 天前  
Python爱好者社区  ·  多模态,杀疯了 ·  2 天前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  6 天前  
Python开发者  ·  请立即拿下软考证书(政策风口) ·  4 天前  
51好读  ›  专栏  ›  Python学习交流

完全零基础的你看了这篇就会用Python开发一款狼人杀!超级详细!

Python学习交流  · 公众号  · Python  · 2018-09-18 20:07

正文

加vx:mmp9972   即可获取数十套PDF哦!记住是单独私信!

1).显示游戏主题,获取用户输入

再小的游戏有一个介绍和玩法,我们肯定要告诉用户如何玩:


3).提示用户输入

因为我们的游戏是通过让用户选卡牌数字进行,所以一定会用到input这样函数,提示用户输入信息:

def handle_user_choice():
# promot user to choose a card
msg = '[1m' + "Choose a card number to enter(1-5):" + "[0m"
return int(input(msg))

4).展现卡片的内容

我们随机产生的卡片列表,我们需要展现给用户看,哦目前有5张卡片,3个角色,打印出来:


6).把代码串起来

每一个小的功能我们都已经写好了,下面是该把所以的小块代码连起来,就像乐高一样。


  • 先显示游戏说明show_welcome_msg

  • 接着一个死循环hold住,加一个标志位进行控制

  • 建立卡片的类型数据

  • 获取用户的输入数字

  • 打印狼人杀角色卡片

  • 处理输入数字,显示结果


忙活了半天,看一下效果:


02.

增加和狼人对打功能

编程写游戏其实是一个非常不错的学习方法!很多初学者老是说编程坚持不下来,为啥打游戏会很放松很上瘾,就是因为好玩啊!如果你换一个角度用玩Python的心态来学,一定会非常有趣!

如果遇到狼人,进行对打:

  • 每一回合,如果打赢了,玩家的生命值不变,狼人生命值减少

  • 每一回合,如果打输了,狼人的生命值不变,玩家生命值减少

  • 每一回合生命值的减少是随机的,我们可以控制一个比例,让狼人强还是玩家强

1).给角色增加生命值

我们在遇到狼人的时候,希望让用户选择能否攻击,攻击的话就会受伤,会出现两种情况:

  • 可能玩家打败了狼人,狼人受伤了

  • 可能狼人打败了玩家,玩家受伤了

为了现在这样的功能,我们先要给角色弄一个数据结构,初始化生命值,比如玩家:100生命值,敌人:80

def reset_health(health_dict):
health_dict['player']=100
health_dict['wolf']=80

2). 显示生命值

在游戏进行的过程中,需要不断的告知用户,当然的角色的生命值:


运行一下看一下效果:


03.增加异常处理

代码一定会有异常,因为运行的时候会出现各种各样的错误,为了保证代码的稳定性,异常处理那是必须的!







请到「今天看啥」查看全文