Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
weapon creation
#3
Hi, thanks for your answer, here is my new code :

class Weapon(object):
    def __init__(self, name, speed, dmg_min, dmg_max, wrange, gems_nb):
        self.name = name
        self.speed = speed
        self.dmg_min = dmg_min
        self.dmg_max = dmg_max
        self.wrange = wrange
        self.gems_nb = gems_nb

    def infos(self):
        print "Name = {}".format(self.name)
        print "Damage range = {}".format(self.wrange)
        print "Dps = {}".format((self.dmg_min + self.dmg_max) / 2 * self.speed)
        print "Nb gems = {}".format(self.gems_nb)
        print "Golden gem: {}".format(0)


class Sword(Weapon):
    def __init__(self, name='sword', speed=None, dmg_min=None, dmg_max=None, wrange=None, gems_nb=None, gems=[]):
            super(Sword, self).__init__(name, speed, dmg_min, dmg_max, wrange, gems_nb)
            self.gems = gems
            self.gems_nb = gems_nb


class Gem(object):
    def __init__(self, name, gems):
        return



excalibur = Sword('Excalibur', 10, 50, 120, "50-120", 1)
gold_gem = Gem("Golden gem", 100)
excalibur.infos()
class Weapon(object):
def __init__(self, name, speed, dmg_min, dmg_max, wrange, gems_nb):
self.name = name
self.speed = speed
self.dmg_min = dmg_min
self.dmg_max = dmg_max
self.wrange = wrange
self.gems_nb = gems_nb

def infos(self):
print "Name = {}".format(self.name)
print "Damage range = {}".format(self.wrange)
print "Dps = {}".format((self.dmg_min + self.dmg_max) / 2 * self.speed)
print "Nb gems = {}".format(self.gems_nb)
print "Golden gem: {}".format(0)


class Sword(Weapon):
def __init__(self, name='sword', speed=None, dmg_min=None, dmg_max=None, wrange=None, gems_nb=None, gems=[]):
super(Sword, self).__init__(name, speed, dmg_min, dmg_max, wrange, gems_nb)
self.gems = gems
self.gems_nb = gems_nb


class Gem(object):
def __init__(self, name, gems):
return



Output:
excalibur = Sword('Excalibur', 10, 50, 120, "50-120", 1) gold_gem = Gem("Golden gem", 100) excalibur.infos()
but actually the new problem is that my " excalibur " should have one gem, and one gem means damage = damage + 100
(so, dmg_min would be 150 instead of 50 and dmg_max should be 220 instead of 120)
and the "dps" output would be "dps : 1850 "instead of "dps = 850", that it was i want from the start
and i have no idea how to code that
thanks for help
Reply


Messages In This Thread
weapon creation - by haye - Sep-19-2017, 10:08 AM
RE: weapon creation - by ichabod801 - Sep-19-2017, 02:11 PM
RE: weapon creation - by haye - Sep-19-2017, 02:20 PM
RE: weapon creation - by buran - Sep-19-2017, 02:21 PM
RE: weapon creation - by haye - Sep-19-2017, 02:34 PM
RE: weapon creation - by ichabod801 - Sep-19-2017, 02:40 PM
RE: weapon creation - by haye - Sep-19-2017, 03:06 PM
RE: weapon creation - by ichabod801 - Sep-19-2017, 04:21 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020