集团主站
欢迎来到成都达内官方网站!达内—美国上市公司 亿元级外企IT培训企业!
成都it培训哪家好
成都it培训哪家好
全国服务监督电话:15023458194  |   联系客服   |
当前位置:主页 > 培训课程 > Python >

成都Python培训班教程零基础如何用Python开发一款狼人杀?

发布者: 成都达内     浏览次数:     发布时间:2018-09-19 09:40:20

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

  成都Python培训班教程零基础如何用Python开发一款狼人杀?

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

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

  成都Python培训班

  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个角色,打印出来:

  成都Python培训班

  6).把代码串起来

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

  成都Python培训班

  先显示游戏说明show_welcome_msg

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

  建立卡片的类型数据

  获取用户的输入数字

  打印狼人杀角色卡片

  处理输入数字,显示结果

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

  成都Python培训班

  02.

  增加和狼人对打功能

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

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

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

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

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

  1).给角色增加生命值

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

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

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

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

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

  2). 显示生命值

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

  成都Python培训班

  运行一下看一下效果:

  成都Python培训班

  03.增加异常处理

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

  1).比如我们上面的代码如果就会出错:

  如果你不是输入数字1-5,或者输入负数,或者字母统统都会产生异常,所以异常处理非常必要

  成都Python培训班

  成都Python培训班教程零基础如何用Python开发一款狼人杀?

  限于篇幅,整个的代码比较简单,大家可以动手操练一下!其实这个游戏可以继续扩展的很丰富,目前的数据结构非常单一,我们还没有封装为类进行第二次的重构,会设计一些接口,类和类之间会用到聚合或者组合。

  其实每一个角色其实可以有很多其他的功能,比如村民可以增加逃跑功能,猎人可以增加武器库来攻击比如火枪,水击,冰冻,增加道具来恢复生命值比如吃个汉堡,鸡腿等等。

  可以加一个GUI的界面来控制等等,后面我们会把代码弄的更丰富一点,Python其实就是这么好玩!

(责任编辑:范老师)
最新开班
  • 成都Java培训班
    免费试听名额发放中...
  • 成都C++培训班
    免费试听名额发放中...
  • 成都PHP培训班
    免费试听名额发放中...
  • 成都网络工程培训班
    免费试听名额发放中...
  • 成都Unity3D培训班
    免费试听名额发放中...
  • 成都大数据培训班
    免费试听名额发放中...
  • 成都uid培训班
    免费试听名额发放中...
  • 成都会计培训班
    免费试听名额发放中...
  • 成都Python培训班
    免费试听名额发放中...
  • 成都嵌入式培训班
    免费试听名额发放中...
  • 成都web培训班
    免费试听名额发放中...
  • 成都软件测试培训班
    免费试听名额发放中...
在线留言
提交

校区地址:绵阳市涪城区临园路东段68号富临大都会7栋3单元9层12号

联系电话:15023458194

公交路线:富乐路口凯德广场(10路;29路;3路;15路;11路;15a路;71路)

校区地址:成都市锦江区东大街紫东楼端35号明宇金融广场19楼1906室

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市高新区奥克斯广场蜀锦路209号一楼商铺

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都锦江区东大街芷泉街229号东方广场C座3楼303

联系电话:15023458194

公交路线:芷泉街(188路;115路;515路;236路;505路;501路;84路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:成都市武侯区佳灵路3号红牌楼广场2号写字楼11楼1115号

联系电话:15023458194

公交路线:红牌楼东(11路;92路;100路;111路;139路;g28路;快速公交K1/K2) 地铁路线:红牌楼站(地铁3号线)

校区地址:成都市锦江区红星路二段70号四川日报大厦502-2

联系电话:15023458194

公交路线:市二医院站(6路;49路;102路;5路;37路;g92路;) 地铁路线:地铁市二医院(地铁3号线)

校区地址:成都市锦江区东大街紫东段35号明宇广场2306

联系电话:15023458194

公交路线:芷泉街(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:东门大桥站(地铁2号线)

校区地址:四川省成都市武侯区高新科技孵化园9号园区E座7楼

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

校区地址:成都市人民南路一段86号“城市之心”大厦26楼

联系电话:15023458194

公交路线:成都市人民南路(6路;14路;42路;72路;76路;1010路;)

校区地址:成都市高新区奥克斯广场B座1708

联系电话:15023458194

公交路线:益州大道锦城大道口(18路;21路;43路;48路;104路;152路;335路 ) 地铁路线:孵化园(地铁1号线)

了解达内动态
关注成都达内教育公众号

首页 | 关于达内 | 课程中心 | 专家师资 | 视频教程 | 学员空间 | 校企合作 | 新闻资讯 | 就业指导 | 网站地图

2016-2025 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56