python小项目--》老王开枪

"""
人类:
    属性:
        姓名
        血量
        手里的枪
    方法:
        装子弹
        装单夹
        取枪

子弹类
    属性
        杀伤力
    方法
        伤害敌人

弹夹类
    属性
        容量
        剩余子弹
    方法
        添加子弹
        消耗子弹

枪类
    属性
        弹夹(默认没有,需要安装)
    方法
        连接弹夹
        射击子弹
"""


class Ren:
    def __init__(self, name):
        self.name = name
        self.xue = 100
        self.qiang = None

    def naqiang(self, qiang):
        if self.qiang == None:
            self.qiang = qiang
        else:
            print("you qiang le")

    def anzidan(self, zidan, danjia):
        danjia.baocunzidan(zidan)

    def andanjia(self, qiang, danjia):
        qiang.lianjiedanjia(danjia)

    def kaiqiang(self, diren):
        self.qiang.she(diren)

    def diaoxue(self, shanghaili):
        self.xue -= shanghaili

    def __str__(self):
        return "%s的剩余血量为:%d" % (self.name, self.xue)


class ZiDan:
    def __init__(self, shanghaili):
        self.shanghaili = shanghaili

    def shanghai(self, diren):
        diren.diaoxue(self.shanghaili)


class Qiang:
    def __init__(self):
        self.danjia = None

    def lianjiedanjia(self, danjia):
        if self.danjia == None:
            self.danjia = danjia

    def she(self, diren):
        zidan = self.danjia.chuzidan()
        if zidan:
            zidan.shanghai(diren)
        else:
            print("No ZiDan")


class Danjia:
    def __init__(self, rongliang):
        self.rongliang = rongliang
        self.ronglianglist = []

    def baocunzidan(self, zidan):
        if len(self.ronglianglist) < self.rongliang:
            self.ronglianglist.append(zidan)

    def chuzidan(self):
        if len(self.ronglianglist) > 0:
            zidan = self.ronglianglist.pop()
            return zidan
        else:
            return None

    def __str__(self):
        return "剩余子弹数量:%d/%d" % (len(self.ronglianglist), self.rongliang)


# create Mr.Wang
laoWang = Ren("Mr.Wang")

# create danjia
danjia = Danjia(20)

# While to tianjia zidan
i = 0
while i < 15:
    zidan = ZiDan(5)
    laoWang.anzidan(zidan, danjia)
    i += 1
print(danjia)

# create qiang
qiang = Qiang()
laoWang.andanjia(qiang, danjia)

# create diren
diren = Ren("敌人")
# 老王拿起枪
laoWang.naqiang(qiang)
# Mr.Wang she diren
laoWang.kaiqiang(diren)
print(diren)
print(danjia)
Python实现一些小道具小功能(Python implements some small props) Image-Edit 几个基本的图片编辑工具,包括一下功能: 文件:打开,保存,退出 编辑:放大,缩小,灰度,亮度,旋转,截图 变换:傅里叶变换,离散余弦变换,Radon变换 噪声:高斯,椒盐,斑点,泊松 滤波:高通,低通,平滑,锐化 直方图统计:R直方图,G直方图,B直方图 图像增强:伪彩色,真彩色,直方图均衡,NTSC颜色模型,YCbCr颜色模型,HSV颜色模型 阈值分割 生态学处理 特征提取 图像分类与识别 Beautify-Camera 主要功能 文件:打开,保存,打开摄像头 操作:还原,人脸识别 滤镜:怀旧,木刻,灰色,彩色,风格化,增强细节 调节:亮度,饱和度,伽马变换,边缘保持 磨皮美白:美白度,磨皮程度,磨皮精度 灰度直方图 Calculator 主要功能 基本的加减乘除和开根号等运算 Painting绘画 主要功能 File:新建画板,打开图片,保存图片 Edit:复制,清空画板 Image:翻转 工具:基本画笔,橡皮擦,图形创建工具等 编辑区,色彩调节区,字体调节区等 NotePad 主要功能 基本文本编辑,类似于记事本 RandomPassWord 主要功能 随机生成一串密码,包括大小写字母,数字,符号,可指定长度 Browser 主要功能 基本浏览器功能 MusicPlayer 主要功能 音乐播放器 PyTunes 主要功能 轻量级音乐播放器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值