用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 的血量
西门吹雪获胜
对战结束
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半岛铁盒@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值