当前位置: 首页 > >

python枪战项目计划书_用python语言实现反恐精英基础版-案例

发布时间:

"""


写了大概有1个多小时吧,中途多多少少都出现了一些bug,最终还是码出来,Talk is cheap, show me code!(屁话少说,放码过来) PS:Markdown文本改了很多次...真的是手残啊


"""


"""


反恐精英案例(基础版)


复制代码


-----------------------基础版-----------------------


1.定义人类,描述公共属性 life:100 name:姓名要传参


2.定义出英雄与恐怖分子类


3.定义主函数描述枪战过程 main,创建两个对象


4.定义开枪方法,分成两个方法,Hero Is都有 定义的方法要传入被射击的对象 被射击对象的生命值要进行减少


5.主程序中调用开枪操作


6.开枪操作后,要在主程序中显示每个人的状态信息


7.定义Person类的__str__方法,用于显示每个人的状态


8.设置开枪操作为反复操作 再设置停止条件:一方生命值<=0 停止循环使用break


9.修复英雄的信息显示模式 状态描述 0 - 1- 70 - 99- 100 if..elif.. and组合条件


10.修复生命值为负的问题 射击时如果生命值


11.创建三个恐怖份子对象 三个对象都要开枪,三个对象都要打印状态


12.修复结束条件为三个恐怖份子都死亡 三个满足同时死亡 and


13.解决向三个恐怖份子开枪的问题 随机数:random 步骤1:使用random import random 必须写在所有程序的前面 步骤2:使用random.randint(1,3) 可以产生1到3的随机数 产生一个随机数,判断是几就向几号敌人开枪


14.加入开枪射击命中概率 产生一个随机数,如果在范围内,命中,否则不命中 文字效果要变化 两处开枪都要重新制作


15.加入开枪伤害值波动 产生一个随机数,作为伤害值


16.加入鞭尸文字显示效果


"""


import random


class Person:


def __init__(self, name):


self.name = name


self.life = 100


def __str__(self):


return "%s当前生命值为%d" % (self.name, self.life)


复制代码


class Hero(Person):


def fire(self, p):


hit = random.randint(1, 100)


if hit > 20:


if p.life == 0:


print("%s都已经死了, 就不要鞭尸了" % p.name)


else:


damage = random.randint(20, 50)


print("%s向%s射击, 造成了%d点伤害" % (self.name, p.name, damage))


if p.life < damage:


p.life = 0


else:


p.life -= damage


else:


print("枪法真臭,这是个臭籽,没有打到恐怖份子")


def __str__(self):


state = ""


if self.life == 100:


state = "无伤"


elif self.life >= 70 and self.life < 100:


state = "轻伤"


elif self.life >= 1 and self.life < 70:


state = "重伤"


elif self.life <= 0:


state = "挂了"


return "%s当前的状态为%s, HP剩余%d" % (self.name, state, self.life)


复制代码


class Is(Person):


def fire(self, p):


damage = random.randint(5, 15)


hit = random.randint(1, 100)


if hit > 80:


print("%s向%s射击, 造成了%d点伤害" % (self.name, p.name, damage))


if p.life < damage:


p.life = 0


else:


p.life -= damage


else:


print("%s枪法不行啊,回去接着练吧" % self.name)


复制代码


def main():


h = Hero("【英雄】")


i1 = Is("【恐怖分子中的老大】")


i2 = Is("【恐怖分子中的老二】")


i3 = Is("【恐怖分子中的老三】")


print(h)


print(i1)


while 1:


x = random.randint(1, 3)


if x == 1:


h.fire(i1)


elif x == 2:


h.fire(i2)


elif x == 3:


h.fire(i3)


i1.fire(h)


i2.fire(h)


i3.fire(h)


print(h)


print(i1)


print(i2)


print(i3)


if h.life <= 0:


print("%s已经阵亡, 游戏结束" % h.name)


break


if i1.life <= 0 and i2.life <= 0 and i3.life <= 0:


print("恐怖分子已经全部阵亡, 游戏结束")


break


复制代码


main()







相关资源:cs代码python



友情链接: