Python Forum
Boomerang implementing logic
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Boomerang implementing logic
#18
(Nov-05-2019, 08:58 PM)SheeppOSU Wrote: Are there any problems in using the boomerang. Also, there's a question that's been itching at me. What is pos? Whenever I make a game, I make it representing an x and y value. But the way pos is being interacted with makes it look like it's not made that sort of way. Could you give me an example of what it would look like printed?

I'm not sure if you mean this:

WEAPONS['boomerang'] = {'img': 'boomerang.png',
                       'speed': 340,
                       'lifetime': 550,
                       'rate': 900,
                       'kickback': 0,
                       'spread': 3,
                       'damage': 8,
                       'size': 'boomerang',
                       'count': 1}
This is in the player class, that the player is able to shoot weapons:

def shoot(self):
        if self.shoot_ammo == True:
            now = pg.time.get_ticks()
            if now - self.last_shot > WEAPONS[self.weapon]['rate']:
                self.last_shot = now
                dir = vec(1, 0).rotate(-self.rot)
                pos = self.pos + BARREL_OFFSET.rotate(-self.rot)
                self.vel = vec(-WEAPONS[self.weapon]['rate'], 0).rotate(-self.rot)
                for i in range(WEAPONS[self.weapon]['count']):
                    spread = uniform(-WEAPONS[self.weapon]['spread'], WEAPONS[self.weapon]['spread'])
                    Blowpipe(self.game, pos, dir.rotate(spread))
The position is a vector. vec is defined as this: vec = pg.math.Vector2

class Boomerang(pg.sprite.Sprite):
    def __init__(self, game, pos, dir):
        self.groups = game.all_sprites, game.blowpipes
        pg.sprite.Sprite.__init__(self, self.groups)
        self.game = game
        self.image = game.blowpipe_images[WEAPONS[game.player.weapon]['size']]
        self.rect = self.image.get_rect()
        self.pos = vec(pos)
        self.rect.center = pos
        # spread = uniform(-BLOWPIPE_SPREAD, BLOWPIPE_SPREAD)
        self.vel = dir * WEAPONS[game.player.weapon]['speed']
        self.spawn_time = pg.time.get_ticks()
        self.rot = 360
        self.last = pg.time.get_ticks()
        self.cooldown = 300
        self.direction = +1

    def update(self):
        self.pos += self.vel * self.game.dt
        self.rect.center = self.pos
        if pg.sprite.spritecollideany(self, self.game.walls):
            self.kill()
        if pg.time.get_ticks() - self.spawn_time > WEAPONS[self.game.player.weapon]['lifetime']:
            self.kill()
        if self.game.player.weapon == 'boomerang':
            now = pg.time.get_ticks()
            if now - self.last >= self.cooldown:
                self.direction = -1
                #self.pos -= self.vel * self.game.dt
            self.pos += self.vel * self.game.dt
            self.rect.center = self.pos
And yes, I can use the boomerang. It flies forward but is not coming back to the player.
Reply


Messages In This Thread
Boomerang implementing logic - by Piethon - Oct-28-2019, 07:09 PM
RE: Boomerang implementing logic - by metulburr - Oct-28-2019, 09:49 PM
RE: Boomerang implementing logic - by Piethon - Oct-29-2019, 02:58 PM
RE: Boomerang implementing logic - by SheeppOSU - Oct-28-2019, 11:32 PM
RE: Boomerang implementing logic - by nilamo - Oct-29-2019, 04:34 PM
RE: Boomerang implementing logic - by Piethon - Oct-31-2019, 05:58 PM
RE: Boomerang implementing logic - by nilamo - Oct-31-2019, 06:40 PM
RE: Boomerang implementing logic - by Piethon - Oct-31-2019, 09:33 PM
RE: Boomerang implementing logic - by SheeppOSU - Oct-31-2019, 09:46 PM
RE: Boomerang implementing logic - by Piethon - Nov-01-2019, 06:42 AM
RE: Boomerang implementing logic - by nilamo - Nov-01-2019, 03:18 PM
RE: Boomerang implementing logic - by Piethon - Nov-02-2019, 04:22 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-02-2019, 06:49 PM
RE: Boomerang implementing logic - by Piethon - Nov-03-2019, 07:25 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-03-2019, 09:32 PM
RE: Boomerang implementing logic - by Piethon - Nov-05-2019, 05:23 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-05-2019, 08:58 PM
RE: Boomerang implementing logic - by Piethon - Nov-06-2019, 03:41 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-06-2019, 11:22 PM
RE: Boomerang implementing logic - by Piethon - Nov-07-2019, 05:14 PM
RE: Boomerang implementing logic - by nilamo - Nov-07-2019, 05:17 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-07-2019, 11:54 PM
RE: Boomerang implementing logic - by Piethon - Nov-08-2019, 05:22 PM
RE: Boomerang implementing logic - by SheeppOSU - Nov-08-2019, 10:35 PM
RE: Boomerang implementing logic - by Piethon - Nov-10-2019, 12:46 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  A question about implementing the state engine code marienbad 4 3,302 Oct-20-2018, 02:08 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

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