python编写一个模拟运算的程序_用简单的Python代码模拟武侠场景

可能很多人的心里都会有个武侠梦吧,偶然看到一个很有意思的小程序,模拟武侠小说中两派的遭遇战,小编尝试了一下做了些小改动,拿来和大家分享一下。

程序概述:

每个人都有名字、血量(HP) 、一系列技能及技能对应的攻击输出。所有人的攻击方式一致,即随机从自己的技能包中抽取一个技能进行攻击。两派人(自己命名)均继承自武林人士这个父类,但有各个门派都有各自的技能包及对应的输出值(面向对象继承概念)。门派下每个人拥有的技能包都是在实例化对象的时候随机赋予的。

开始遭遇战的时候,每个帮派的人数不确定,战斗采用回合制的方式进行,即帮派A中的一个人随机选择帮派B中的一个人进行攻击,B受到的伤害值为A随机选择的技能的输出值加

上20%的标准正态分布生成的随机数向下取整,即伤害值=输出值(1+0.2*N( 0,1)),技能被选择的概率和其对应的输出值成反比,如某人拥有两个技能,输出值分别为10、30,则技能1的被选择概率为 (1/10)/(1/10 + 1/30)。其中某一门派参与战斗的所有人都则阵亡(既HP降为0)则战斗结束。

1、几个随机数生成函数:首先引入random包, import random; random.random()生成一个0-1的均匀分布随机数; random.randint(a,b)生成取值范围为[a.b]的随机整数。

2、初始化需要用到的数据

3、编写武林人士类

4、编写打斗函数,得到遭遇战的战斗结果

5、编写主函数,实时显示两派人员血量

6、运行程序,调用主函数,并绘制战斗直方图

运行结果显示:

直方图结果显示:

完成,一起试试看吧~

注:本文基于64位windows系统(鼠标右键点击桌面“此电脑”图标——属性可查看电脑系统版本)、python3.x(pycharm自动安装的版本, 3.0以上)。

文中代码内容所使用的工具是pycharm-community-2020.1,实践中如有碰到问题,可留言提问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值