#coding=utf-8
import randomimport time'''
本文章主要目主要有三个,1,随机增加5个系统人物,所有的都是随机产生的,2,人物角色如果是警察,则不能杀死警察,3,有三次机会杀死敌方
涉及的知识点有,随机数的产生,字典的存储和遍历
'''
list_kill=[0,1,1,1]
list_name=range(10)dir_weapen={"AK47":2000,"匕首":500,"小手枪":1000}dir_role=["p","k"]dir_name={}class cs(object): money=10000 value=100 flag=1 role_flag=1def __init__(self,name):
self.name=name role=random.choice(dir_role) weapen=random.choice(dir_weapen.keys()) print("初始化角色完成:姓名:%s,角色:%s,生命值:%s.武器:%s"%(self.name, role,self.value,weapen)) dir_name[name]=role while cs.role_flag<6: name=str(random.choice(list_name)) role=random.choice(dir_role) weapen=random.choice(dir_weapen.keys()) for x in dir_name.keys(): if name==x: name=random.choice(range(10,10000)) print("系统正在随机产生角色,共五组,第%s组角色正在产生"%cs.role_flag) time.sleep(1) print("第%s组角色创建成功,姓名:%s,角色:%s,生命值:%s,武器:%s"%(cs.role_flag,name,role,cs.value,weapen)) dir_name[name]=role cs.role_flag +=1 print("五组系统角色产生成功,可以开始游戏了") def qian(self,weapen): a=int(dir_weapen[weapen]) money=cs.money-a return money,a def buy_weapen(self,weapen): money1,b=self.qian(weapen) if money1<0: print("钱不够,赚够了钱再来买 ") return False else: print("%s买了%s消费了%s还剩余%s"%(self.name,weapen,b,money1)) cs.money=money1 return weapendef kill(self):
while cs.flag<4: name=self.name name1=raw_input("请输入想杀的角色姓名》") #print(dir_name) if dir_name[name]=="p" and dir_name[name1]=="p": print("你是警察,不能杀警察") else: print("你有三次机会杀死对方") a=random.choice(list_kill) if a==0:print("恭喜你%s,第%s次出手你就打中了%s,%s被你打死了"%(name,cs.flag,name1,name1))
break else: print("没有打中,继续射击") cs.flag +=1 #print(cs.flag) print("游戏结束")
name=raw_input("请输入需要创建的角色名称: ")
t1=cs(name)t1.buy_weapen("AK47")t1.kill()
执行结果如下:
请输入需要创建的角色名称: 陈忠宝
初始化角色完成:姓名:陈忠宝,角色:p,生命值:100.武器:小手枪系统正在随机产生角色,共五组,第1组角色正在产生第1组角色创建成功,姓名:6,角色:k,生命值:100,武器:小手枪系统正在随机产生角色,共五组,第2组角色正在产生第2组角色创建成功,姓名:5,角色:k,生命值:100,武器:AK47系统正在随机产生角色,共五组,第3组角色正在产生第3组角色创建成功,姓名:0,角色:p,生命值:100,武器:小手枪系统正在随机产生角色,共五组,第4组角色正在产生第4组角色创建成功,姓名:8,角色:p,生命值:100,武器:匕首系统正在随机产生角色,共五组,第5组角色正在产生第5组角色创建成功,姓名:9125,角色:p,生命值:100,武器:AK47五组系统角色产生成功,可以开始游戏了陈忠宝买了AK47消费了2000还剩余8000请输入想杀的角色姓名》0你是警察,不能杀警察请输入想杀的角色姓名》5你有三次机会杀死对方没有打中,继续射击请输入想杀的角色姓名》5你有三次机会杀死对方恭喜你陈忠宝,第2次出手你就打中了5,5被你打死了游戏结束