作为python第一帖,先贴一个简单的游戏吧:
中欧大战,成员用class类定义-。-
=============================================================
from random import randint
print("-----------------中欧大战-------------------V0.1")
class country:#定义一个类
life=100 #类的共用变量,生命初始值为100
def __init__(self,name,life):
self.name=name #实例变量在构造函数中自动生成
self.life=life
def lifeadd(self): #实例的方法
self.life+=50 #实例的属性+1,需要用self来定义,否则报错,提示实例中会没有这个属性
def lifesub(self):
self.life-=50
china=country("china",100)
usa=country("usa",100)
ger=country("ger",100)
rus=country("rus",100)
#=================================================================
dic={1:china,2:usa,3:ger,4:rus}
gameover=0
while gameover==0:
tmp1=randint(1,4)
tmp2=randint(1,4)
while tmp1==tmp2:
tmp1=randint(1,4)
tmp2=randint(1,4)
dic[tmp1].lifeadd()
dic[tmp2].lifesub()
for i in dic:
print(dic[i].name,"的生命值为",dic[i].life)
input("按任意键继续游戏")
for i in dic: #注意,不是in dic[i]
if dic[i].life==0:
print(dic[i].name,"的生命值已经为0,游戏结束")
gameover=1 #循环跳出仍然有问题,将位置放到while后面就可以了,侧面规避问题-.-