用Python写一个双人对战的小游戏;

游戏介绍

在这里插入图片描述

第一步: 创建角色类

在这里插入图片描述
接着定义方法来描述人物角色的行为

在这里插入图片描述

第二步: 创建两个实例化对象,人物角色

xmcx=Role('西门吹雪',100) 
ygc=Role('叶孤城',100)

第三步:战斗过程的描述

while True:
    if xmcx.hp<=0 or ygc.hp<=0:
        if xmcx>0:
            print"西门吹雪获胜"
        else:
            print"叶孤城获胜"
        #满足条件,退出循环;
        break
    xmcx.tong(ygc)#西门吹雪捅叶孤城
    print(ygc)#打印对象状态
    print(xmcx)
    print ('***********************')
    ygc.tong(xmcx)#叶孤城捅西门吹雪
    print(ygc)#打印对象状态
    print(xmcx)
    print('************************')
    xmcx.chiyao()
    print(ygc)
    print (xmcx)
    time.sleep(1)#循环一次暂停时间一秒
    pass
print ('对战结束')

完整代码

# encoding: utf-8
import time#导入时间的包
class Role:
    def __init__(self,name,hp):
        self.name=name
        self.hp=hp
        pass
    def tong(self,enemy):
        enemy.hp-=10
        info='{%s}捅了{%s}一刀'%(self.name, enemy.name)
        print (info)
        pass
    def kanren(self,enemy):
        enemy.hp-=15
        info = '{%s}砍了{%s}一刀' % (self.name, enemy.name)
        print (info)
        pass
    def chiyao(self):
        self.hp+=10
        info = '{%s}吃了一颗补血药加10滴血' % (self.name)
        print (info)
        pass
    def __str__(self):
        return  '%s 还剩下 %s 的血量'%(self.name,self.hp)
#创建两个西门吹雪,叶孤城,实例化对象

xmcx=Role('西门吹雪',100)
ygc=Role('叶孤城',100)
while True:
    if xmcx.hp<=0 or ygc.hp<=0:
        if xmcx.hp>0:
            print"西门吹雪获胜"
        else:
            print"叶孤城获胜"
        #满足条件,退出循环;
        break
    xmcx.tong(ygc)#西门吹雪捅叶孤城
    print(ygc)#打印对象状态
    print(xmcx)
    print ('***********************')
    ygc.tong(xmcx)#叶孤城捅西门吹雪
    print(ygc)#打印对象状态
    print(xmcx)
    print('************************')
    xmcx.chiyao()
    print(ygc)
    print (xmcx)
    time.sleep(1)#循环一次暂停时间一秒
    pass
print ('对战结束')

运行结果:

{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 90 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 90 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 90 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 80 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 80 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 80 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 70 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 70 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 70 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 60 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 60 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 60 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 50 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 50 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 50 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 40 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 40 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 40 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 30 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 30 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 30 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 20 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 20 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 20 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 10 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 10 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 10 的血量
西门吹雪 还剩下 100 的血量
{
    
    西门吹雪}捅了{
    
    叶孤城}一刀
叶孤城 还剩下 0 的血量
西门吹雪 还剩下 100 的血量
***********************
{
    
    叶孤城}捅了{
    
    西门吹雪}一刀
叶孤城 还剩下 0 的血量
西门吹雪 还剩下 90 的血量
************************
{
    
    西门吹雪}吃了一颗补血药加10滴血
叶孤城 还剩下 0 的血量
西门吹雪 还剩下 100 的血量
西门吹雪获胜
对战结束

猜你喜欢

转载自blog.csdn.net/weixin_45556441/article/details/113885770