美文网首页Python新世界
完全零基础的你看了这篇就会用Python开发一款狼人杀!超级详细

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

作者: 919b0c54458f | 来源:发表于2018-09-25 15:50 被阅读5次

    进群:548377875    即可获取数十套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.增加异常处理

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

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

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

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

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

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

    源码单独私信我哦!

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/usjloftx.html