day6老王开枪打人

不要被骄傲遮蔽了双眼 不要被骄傲遮蔽了双眼     2022-10-02     755

关键词:

1.图示

    

2 程序

  1)版本1:框架的搭建

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象

    #2.创建1个枪对象

    #3.创建1个弹夹对象

    #4.创建子弹对象

    #5.创建一个敌人

    #6.alex把子弹安装到弹夹中

    #7.alex把弹夹安装到枪中

    #8.alex拿枪

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()

 

 

  2)版本2:创建类对象

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    gun_dan = Gun_dan(10)  #一个子弹掉10滴血


    #6.alex把子弹安装到弹夹中

    #7.alex把弹夹安装到枪中

    #8.alex拿枪

    #5.创建一个敌人

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()

 

  

  3)版本3:安装子弹

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    gun_dan = Gun_dan(10)  #一个子弹掉10滴血

    #6.alex把子弹安装到弹夹中
    #alex.安装子弹到弹夹中(弹夹,子弹)
    alex.install(gun_jia,gun_dan)

    #7.alex把弹夹安装到枪中

    #8.alex拿枪

    #5.创建一个敌人

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()

 

  

  4)安装弹夹

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

    def install2(self,gun_temp,gun_jia_temp):
        '''安装弹夹到枪'''
        #枪保存弹夹
        gun_temp.save2(gun_jia_temp)

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型
        self.gun_jia = None  #用来记录弹夹对象的引用

    def save2(self,gun_jia_temp):
        '''用一个属性来保存这个弹夹对象的引用'''
        self.gun_jia = gun_jia_temp

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    gun_dan = Gun_dan(10)  #一个子弹掉10滴血

    #6.alex把子弹安装到弹夹中
    #alex.安装子弹到弹夹中(弹夹,子弹)
    alex.install(gun_jia,gun_dan)

    #7.alex把弹夹安装到枪中
    #alex.安装弹夹到枪(枪,弹夹)
    alex.install2(ak47,gun_jia)

    #8.alex拿枪

    #5.创建一个敌人

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()

 

  5)测试弹夹,枪

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

    def install2(self,gun_temp,gun_jia_temp):
        '''安装弹夹到枪'''
        #枪保存弹夹
        gun_temp.save2(gun_jia_temp)

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型
        self.gun_jia = None  #用来记录弹夹对象的引用

    def save2(self,gun_jia_temp):
        '''用一个属性来保存这个弹夹对象的引用'''
        self.gun_jia = gun_jia_temp
    
    def __str__(self):
        if self.gun_jia:
            return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
        else:
            return "枪的信息为:%s,没有弹夹..."%(self.name)

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

    def __str__(self):
        return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    for i in range(15):
        gun_dan = Gun_dan(10)  #一个子弹掉10滴血

        #6.alex把子弹安装到弹夹中
        #alex.安装子弹到弹夹中(弹夹,子弹)
        alex.install(gun_jia,gun_dan)

    #7.alex把弹夹安装到枪中
    #alex.安装弹夹到枪(枪,弹夹)
    alex.install2(ak47,gun_jia)

    #test1:测试弹夹的信息
    print(gun_jia)

    #test2:测试枪的信息
    print(ak47)

    #8.alex拿枪

    #5.创建一个敌人

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()

 

弹夹的信息为:15/20
枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20

 

   

  6)老王拿枪,并且测试

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name
        self.gun = None  #用来保存枪对象的引用
        self.hp = 100

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

    def install2(self,gun_temp,gun_jia_temp):
        '''安装弹夹到枪'''
        #枪保存弹夹
        gun_temp.save2(gun_jia_temp)

    def catch(self,gun_temp):
        '''拿枪'''
        self.gun = gun_temp

    def __str__(self):
        if self.gun:
            return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
        else:
            return "%s的血量是%d,他没有枪.."%(self.name,self.hp)

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型
        self.gun_jia = None  #用来记录弹夹对象的引用

    def save2(self,gun_jia_temp):
        '''用一个属性来保存这个弹夹对象的引用'''
        self.gun_jia = gun_jia_temp
    
    def __str__(self):
        if self.gun_jia:
            return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
        else:
            return "枪的信息为:%s,没有弹夹..."%(self.name)

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

    def __str__(self):
        return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    for i in range(15):
        gun_dan = Gun_dan(10)  #一个子弹掉10滴血

        #6.alex把子弹安装到弹夹中
        #alex.安装子弹到弹夹中(弹夹,子弹)
        alex.install(gun_jia,gun_dan)

    #7.alex把弹夹安装到枪中
    #alex.安装弹夹到枪(枪,弹夹)
    alex.install2(ak47,gun_jia)

    #test1:测试弹夹的信息
    print(gun_jia)

    #test2:测试枪的信息
    print(ak47)

    #8.alex拿枪
    #alex.拿枪(枪)
    alex.catch(ak47)

    #test3.测试老王对象
    print(alex)

    #5.创建一个敌人

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()
弹夹的信息为:15/20
枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20

 

 

  7)创建敌人

class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name
        self.gun = None  #用来保存枪对象的引用
        self.hp = 100

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

    def install2(self,gun_temp,gun_jia_temp):
        '''安装弹夹到枪'''
        #枪保存弹夹
        gun_temp.save2(gun_jia_temp)

    def catch(self,gun_temp):
        '''拿枪'''
        self.gun = gun_temp

    def __str__(self):
        if self.gun:
            return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
        else:
            return "%s的血量是%d,他没有枪.."%(self.name,self.hp)

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型
        self.gun_jia = None  #用来记录弹夹对象的引用

    def save2(self,gun_jia_temp):
        '''用一个属性来保存这个弹夹对象的引用'''
        self.gun_jia = gun_jia_temp
    
    def __str__(self):
        if self.gun_jia:
            return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
        else:
            return "枪的信息为:%s,没有弹夹..."%(self.name)

class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

    def __str__(self):
        return "弹夹的信息为:%d/%d"%(len(self.list_dan),self.max)

class Gun_dan(object):
    '''子弹类'''
    def __init__(self,damage):
        self.damage = damage  #记录子弹的伤害

def main():
    '''用来控制这个程序的流程'''
    pass

    #1.创建alex对象
    alex = Person("alex")

    #2.创建1个枪对象
    ak47 = Gun("AK47")

    #3.创建1个弹夹对象
    gun_jia = Gun_jia(20)  #20代表弹夹的容量

    #4.创建子弹对象
    for i in range(15):
        gun_dan = Gun_dan(10)  #一个子弹掉10滴血

        #6.alex把子弹安装到弹夹中
        #alex.安装子弹到弹夹中(弹夹,子弹)
        alex.install(gun_jia,gun_dan)

    #7.alex把弹夹安装到枪中
    #alex.安装弹夹到枪(枪,弹夹)
    alex.install2(ak47,gun_jia)

    #test1:测试弹夹的信息
    print(gun_jia)

    #test2:测试枪的信息
    print(ak47)

    #8.alex拿枪
    #alex.拿枪(枪)
    alex.catch(ak47)

    #test3.测试老王对象
    print(alex)

    #5.创建一个敌人
    jack = Person("jack")
    print(jack)

    #9.alex拿枪打jack


if __name__ == "__main__":
    main()
弹夹的信息为:15/20
枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
alex的血量是:100,他有枪,枪的信息为:AK47,弹夹的信息为:弹夹的信息为:15/20
jack的血量是100,他没有枪..

 

  

  8)alex开枪??? 难点

 #alex拿枪打jack     
 #老王.扣扳机(jack)

'''让枪发射子弹打敌人'''
#枪.开火(敌人)

'''枪从弹夹中获取1发子弹,然后让子弹击中敌人'''

'''子弹打中人,让敌人掉血'''

 '''根据杀伤力,掉相应的血量'''
class Person(object):
    '''人的类'''
    def __init__(self,name):
        self.name = name
        self.gun = None  #用来保存枪对象的引用
        self.hp = 100

    def install(self,gun_jia_temp,gun_dan_temp):
        '''把子弹安装到弹夹'''
        #弹夹.保存子弹(子弹)
        gun_jia_temp.save(gun_dan_temp)

    def install2(self,gun_temp,gun_jia_temp):
        '''安装弹夹到枪'''
        #枪保存弹夹
        gun_temp.save2(gun_jia_temp)

    def catch(self,gun_temp):
        '''拿枪'''
        self.gun = gun_temp

    def __str__(self):
        if self.gun:
            return "%s的血量是:%d,他有枪,%s"%(self.name,self.hp,self.gun)
        else:
            return "%s的血量是%d,他没有枪.."%(self.name,self.hp)

    def pull(self,enemy):
        '''让枪发射子弹打敌人'''
        #枪.开火(敌人)
        self.gun.fire(enemy)
        
    def lose_blood(self,damage):
        '''根据杀伤力,掉相应的血量'''
        self.hp -= damage

class Gun(object):
    '''一个枪的类'''
    def __init__(self,name):
        self.name = name   #用来记录枪的类型
        self.gun_jia = None  #用来记录弹夹对象的引用

    def save2(self,gun_jia_temp):
        '''用一个属性来保存这个弹夹对象的引用'''
        self.gun_jia = gun_jia_temp
    
    def __str__(self):
        if self.gun_jia:
            return "枪的信息为:%s,弹夹的信息为:%s"%(self.name,self.gun_jia)
        else:
            return "枪的信息为:%s,没有弹夹..."%(self.name)

    def fire(self,enemy):
        '''枪从弹夹中获取1发子弹,然后让子弹击中敌人'''
        #先从弹夹去子弹
        #弹夹.弹出一发子弹
        dan =  self.gun_jia.pop()

        #让这个子弹去伤害敌人
        if dan:
            #子弹.打中(敌人)
            dan.hit(enemy)
        else:
            print("弹夹中没有子弹了")


class Gun_jia(object):
    '''弹夹的类'''
    def __init__(self,max_num):
        self.max = max_num   #用来记录弹夹的最大容量
        self.list_dan = []  #用来记录所有子弹的引用

    def save(self,gun_dan_temp):
        '''把子弹保存到弹夹'''
        self.list_dan.append(gun_dan_temp)

    def __str__

一个老王开枪案例带你一步一步领略程序开发的魅力(代码片段)

一、前言  我身边的很多同学都认为学计算机专业的人,代码写的好很正常,认为自己不是学计算机专业的,不会写代码很正常,或者这么说,觉得会写代码是一种天赋。其实不然,我们现在必须要清楚当代社会的局势,当代... 查看详情

面向对象2(代码片段)

应用:老王开枪1.人类属性姓名血量持有的枪方法安子弹安弹夹拿枪(持有抢)开枪2.子弹类属性杀伤力方法伤害敌人(让敌人掉血)3.弹夹类属性容量(子弹存储的最大值)当前保存的子弹方法保存子弹(安装子弹的时候)弹出子... 查看详情

jooq 交易开枪 - 不能使用'returningResult()'?

】jooq交易开枪-不能使用\\\'returningResult()\\\'?【英文标题】:jooqtransactionjumpingthegun-cantuse\'returningResult()\'?jooq交易开枪-不能使用\'returningResult()\'?【发布时间】:2021-12-2723:57:24【问题描述】:使用JOOQ3.11.11/Java11创建一个事务来写... 查看详情

华农oj2192:hzk又在打人crt合并/待补(代码片段)

2192:hzk又在打人TimeLimit:12SecMemoryLimit:512MBSubmit:52Solved:1[Submit][Status][WebBoard]Descriptionhzk又要打人了,他让我们做一个cpu能够计算一些简单的指令,首先他有n条指令,指令形如”cx”,其中c=+,^,*,x是一个非负整数.+a,*a,^a分别代表加,乘,... 查看详情

嘣嘣嘣!开枪啦~有狙击手

对战射击场景工厂场景集装箱场景科研舱场景雪地场景 查看详情

[ue4]让机器人开枪射击

  查看详情

day6

importos,datetimedirs=[‘tomcat‘,‘nginx‘,‘apache‘,‘python‘,‘app‘,‘android‘,‘ios‘]os.chdir(r‘E:\syz\ly-code\day6\logs‘)base_path=r‘E:\syz\ly-code\day6\logs‘fordindirs:p=os.path.join(base_path,d)os.mkdir 查看详情

4岁孩子发脾气,爱哭爱闹还动手打人,要怎么教育他?

   事实上,大部分宝宝的“打人”行为并不具有攻击目的,只要家长们正确引导,孩子“打人”的行为就会得到一定的改善。下面由我为大家带来关于四岁孩子喜欢打人该怎么引导http://m.zjia8.com/yuer/1230.html四岁孩... 查看详情

go(day6[反射])

反射:可以在运行时动态获取变量的相关信息 查看详情

五一day6

 五一 DAY6 TypeName  类型名VariableName 变量名函数库:#include<utility>Pair定义一个变量,它有两个元素:pair.first   pair.scecond,       &nbs 查看详情

乔布斯的简历17.4万拍卖,hr看了想打人

...美元的价格被拍卖,这份简历长啥样呢?HR看了想打人!乔布斯给惠普公司的求职信原件港真,这份简历换作今天,一个面试都拿不到! “SteveJobs”中的字 查看详情

乔布斯的简历17.4万拍卖,hr看了想打人

...美元的价格被拍卖,这份简历长啥样呢?HR看了想打人!乔布斯给惠普公司的求职信原件港真,这份简历换作今天,一个面试都拿不到! “SteveJobs”中的字 查看详情

go(day6[接口])

Go接口Interface定义:Interface类型可以定义?组?法,?来表示?个对象的?为特征。interface不能包含任何变量。 查看详情

day6

#Author:leonproduct_list=[(‘huawei‘,5000),(‘xiaomi‘,4000),(‘oppo‘,3000),(‘leshi‘,2000),]shopping_list=[]#一个空的列表salary=input(‘inputyoursalary:‘)#输入你的工资ifsalary.isdigit():#输入的字符为数字salary=int(salary)#整形, 查看详情

day6:vcp考试

Q101.RefertotheExhibit.WhichtabshowstheHardwareAccelerationsupportstatus?A.DevicesB.PropertiesC.PathsD.AdvancedOptions  Q102.WhichminorbadgeitemsmakeuptheEfficiencybadgescoreforanESXihostinv 查看详情

敏捷冲刺day6

一.每日会议1.照片2.昨日完成工作3.今日完成工作4.工作中遇到的困难二.每日燃尽图三.代码部分四.每日总结李绍乐蓝锦明方旭廖余俊谢季努 查看详情

孩子喜欢打人父母要怎么引导?听听专家的小建议

...有些孩子被父母宠坏了,不仅脾气暴躁,还喜欢打人。面对这种情况,许多家长会选择暴制暴,导致孩子更崇尚暴力。被打后,孩子不仅没有悔改,而且变得更糟。即使孩子被说服了,也只是因为害怕... 查看详情

day6-常用模块

1.re模块#=================================匹配模式=================================#一对一的匹配#‘hello‘.replace(old,new)#‘hello‘.find(‘pattern‘)#正则匹配importre#w与Wprint(re.findall(‘w‘,‘helloegon123‘))#[‘h‘,‘e‘, 查看详情