Beispiel #1
0
 def draw(self):
     if self.inInventory:
         self.x = 380
         self.y = 700
     self.win.blit(self.image, (self.x, self.y))
     self.collision_box = Rect(self.x, self.y, 32, 32)
     hit_box = self.collision_box.get_rect()
Beispiel #2
0
    def draw(self):
        if self.walkCount + 1 >= 18:
            self.walkCount = 0
        if self.currDir is not 'Stand':
            if self.currDir is 'Left':
                self.win.blit(self.leftFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(self.rightFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(self.downFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
        # else:
        elif self.currDir is 'Stand':
            if self.facing is 'Left':
                self.win.blit(self.leftFig[0], (self.x, self.y))
            if self.facing is 'Right':
                self.win.blit(self.rightFig[0], (self.x, self.y))
            if self.facing is 'Up':
                self.win.blit(self.upFig[0], (self.x, self.y))
            if self.facing is 'Down':
                self.win.blit(self.downFig[0], (self.x, self.y))


        self.collision_box = Rect(self.x+12, self.y+5, 38, 60)
        hit_box = self.collision_box.get_rect()
Beispiel #3
0
    def draw(self):
        if self.walkCount + 1 >= 30:
            self.walkCount = 0
        if self.currDir is not 'Stand':
            if self.currDir is 'Left':
                self.win.blit(self.leftFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(self.rightFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(self.downFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
        # else:
        elif self.currDir is 'Stand':
            if self.facing is 'Left':
                self.win.blit(self.leftFig[0], (self.x, self.y))
            if self.facing is 'Right':
                self.win.blit(self.rightFig[0], (self.x, self.y))
            if self.facing is 'Up':
                self.win.blit(self.upFig[0], (self.x, self.y))
            if self.facing is 'Down':
                self.win.blit(self.downFig[0], (self.x, self.y))

        else:
            if self.currDir is 'Left':
                self.win.blit(
                    self.leftFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(
                    self.rightFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // len(self.leftFig)],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(
                    self.downFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1

        self.collision_box = Rect(self.x + 5, self.y + 10, 36, 58)
        hit_box = self.collision_box.get_rect()
        pygame.draw.polygon(self.win, (255, 255, 255),
                            self.triangle.get_points(), 0)
Beispiel #4
0
 def __init__(self,  x, y, width, height, imagepng, itemname, window):
     self.x = x
     self.y = y
     self.width = width
     self.height = height
     self.win = window
     self.imagepng = imagepng
     self.itemname = itemname
     self.collision_box = Rect(self.x + 12, self.y + 5, 38, 60)
     self.inInventory = False
     self.image = pygame.image.load(imagepng)
Beispiel #5
0
class Item(object):

    def __init__(self,  x, y, width, height, imagepng, itemname, window):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.win = window
        self.imagepng = imagepng
        self.itemname = itemname
        self.collision_box = Rect(self.x + 12, self.y + 5, 38, 60)
        self.inInventory = False
        self.image = pygame.image.load(imagepng)

    def pickUpItem(self):
        self.inInventory = True

    def dropItem(self, MishkarX, MishkarY):
        self.x = MishkarX + 5
        self.y = MishkarY - 5
        self.inInventory = False

    def draw(self):
        if self.inInventory:
            self.x = 380
            self.y = 700
        self.win.blit(self.image, (self.x, self.y))
        self.collision_box = Rect(self.x, self.y, 32, 32)
        hit_box = self.collision_box.get_rect()
        # pygame.draw.rect(self.win, (255, 0, 0), hit_box, 2)

    def getCollisionBox(self):
        return self.collision_box
Beispiel #6
0
 def __init__(self, x, y, width, height, listOfFigures, window):
     self.x = x
     self.y = y
     self.width = width
     self.height = height
     self.win = window
     self.health = 100
     self.vel = 5
     # self.inventory = Item.Item("MishkarBests/unicorn.png", "unicorn")
     self.collision_box = Rect(self.x+12, self.y+5, 38, 60)
     self.walkCount = 0
     self.facing = 'Down'
     self.currDir = 'Stand'
     self.downFig = [pygame.image.load(img) for img in listOfFigures[0]]
     self.upFig = [pygame.image.load(img) for img in listOfFigures[1]]
     self.leftFig = [pygame.image.load(img) for img in listOfFigures[2]]
     self.rightFig = [pygame.image.load(img) for img in listOfFigures[3]]
     self.health = 100
Beispiel #7
0
 def __init__(self, x, y, width, height, listOfFigures, window):
     self.x = x
     self.y = y
     self.width = width
     self.height = height
     self.win = window
     self.vel = 3
     self.collision_box = Rect(self.x + 30, self.y + 5, 38, 60)
     self.walkCount = 0
     self.facing = 'Down'
     self.currDir = 'Stand'
     self.downFig = [pygame.image.load(img) for img in listOfFigures[0]]
     self.upFig = [pygame.image.load(img) for img in listOfFigures[1]]
     self.leftFig = [pygame.image.load(img) for img in listOfFigures[2]]
     self.rightFig = [pygame.image.load(img) for img in listOfFigures[3]]
     self.stepCount = 0
     self.triangle_offset = (23, 18)
     self.triangle = Triangle(self.x + self.triangle_offset[0],
                              self.y + self.triangle_offset[0], 30, 200,
                              self.facing)
Beispiel #8
0
    def draw(self):
        if self.walkCount + 1 >= 30:
            self.walkCount = 0
        if self.currDir is not 'Stand':
            if self.currDir is 'Left':
                self.win.blit(self.leftFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(self.rightFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(self.downFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
        # else:
        elif self.currDir is 'Stand':
            if self.facing is 'Left':
                self.win.blit(self.leftFig[0], (self.x, self.y))
            if self.facing is 'Right':
                self.win.blit(self.rightFig[0], (self.x, self.y))
            if self.facing is 'Up':
                self.win.blit(self.upFig[0], (self.x, self.y))
            if self.facing is 'Down':
                self.win.blit(self.downFig[0], (self.x, self.y))

        else:
            if self.currDir is 'Left':
                self.win.blit(
                    self.leftFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(
                    self.rightFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // len(self.leftFig)],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(
                    self.downFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1

        self.collision_box = Rect(self.x + 5, self.y + 10, 36, 58)
Beispiel #9
0
class Townie(object):
    def __init__(self, x, y, width, height, listOfFigures, window):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.win = window
        self.vel = 3
        self.collision_box = Rect(self.x + 30, self.y + 5, 38, 60)
        self.walkCount = 0
        self.facing = 'Down'
        self.currDir = 'Stand'
        self.downFig = [pygame.image.load(img) for img in listOfFigures[0]]
        self.upFig = [pygame.image.load(img) for img in listOfFigures[1]]
        self.leftFig = [pygame.image.load(img) for img in listOfFigures[2]]
        self.rightFig = [pygame.image.load(img) for img in listOfFigures[3]]
        self.stepCount = 0
        self.triangle_offset = (23, 18)
        self.triangle = Triangle(self.x + self.triangle_offset[0],
                                 self.y + self.triangle_offset[0], 30, 200,
                                 self.facing)

    def draw(self):
        if self.walkCount + 1 >= 30:
            self.walkCount = 0
        if self.currDir is not 'Stand':
            if self.currDir is 'Left':
                self.win.blit(self.leftFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(self.rightFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(self.downFig[self.walkCount // 10],
                              (self.x, self.y))
                self.walkCount += 1
        # else:
        elif self.currDir is 'Stand':
            if self.facing is 'Left':
                self.win.blit(self.leftFig[0], (self.x, self.y))
            if self.facing is 'Right':
                self.win.blit(self.rightFig[0], (self.x, self.y))
            if self.facing is 'Up':
                self.win.blit(self.upFig[0], (self.x, self.y))
            if self.facing is 'Down':
                self.win.blit(self.downFig[0], (self.x, self.y))

        else:
            if self.currDir is 'Left':
                self.win.blit(
                    self.leftFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(
                    self.rightFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // len(self.leftFig)],
                              (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(
                    self.downFig[self.walkCount // len(self.leftFig)],
                    (self.x, self.y))
                self.walkCount += 1

        self.collision_box = Rect(self.x + 5, self.y + 10, 36, 58)
        hit_box = self.collision_box.get_rect()
        pygame.draw.polygon(self.win, (255, 255, 255),
                            self.triangle.get_points(), 0)
        # pygame.draw.rect(self.win, (255, 0, 0), hit_box, 2)

    def movement(self, voidDirections):

        if self.stepCount != 0:
            # if not GameFunctions.collisionToBe(self, Mishkar)
            pass
        else:
            self.stepCount = random.randrange(30, 50)
            ranDir = random.randrange(0, 5)
            possibleDir = ['Left', 'Right', 'Up', 'Down', 'Stand']
            self.currDir = possibleDir[ranDir]

        if self.currDir is 'Left' and 'Left' not in voidDirections:
            self.stepCount -= 1
            self.x -= self.vel
            self.facing = 'Left'
            self.triangle.movement_update(self.x + self.triangle_offset[0],
                                          self.y + self.triangle_offset[1],
                                          self.facing)

        elif self.currDir is 'Right' and 'Right' not in voidDirections:
            self.stepCount -= 1
            self.x += self.vel
            self.facing = 'Right'
            self.triangle.movement_update(self.x + self.triangle_offset[0],
                                          self.y + self.triangle_offset[1],
                                          self.facing)
        elif self.currDir is 'Up' and 'Up' not in voidDirections:
            self.stepCount -= 1
            self.y -= self.vel
            self.facing = 'Up'
            self.triangle.movement_update(self.x + self.triangle_offset[0],
                                          self.y + self.triangle_offset[1],
                                          self.facing)
        elif self.currDir is 'Down' and 'Down' not in voidDirections:
            self.stepCount -= 1
            self.y += self.vel
            self.facing = 'Down'
            self.triangle.movement_update(self.x + self.triangle_offset[0],
                                          self.y + self.triangle_offset[1],
                                          self.facing)
        else:
            self.stepCount -= 1
            self.currDir = 'Stand'
            self.triangle.movement_update(self.x + self.triangle_offset[0],
                                          self.y + self.triangle_offset[1],
                                          self.facing)

    def getCollisionBox(self):
        return self.collision_box
Beispiel #10
0
class Mishkar(object):

    def __init__(self, x, y, width, height, listOfFigures, window):
        self.x = x
        self.y = y
        self.width = width
        self.height = height
        self.win = window
        self.health = 100
        self.vel = 5
        # self.inventory = Item.Item("MishkarBests/unicorn.png", "unicorn")
        self.collision_box = Rect(self.x+12, self.y+5, 38, 60)
        self.walkCount = 0
        self.facing = 'Down'
        self.currDir = 'Stand'
        self.downFig = [pygame.image.load(img) for img in listOfFigures[0]]
        self.upFig = [pygame.image.load(img) for img in listOfFigures[1]]
        self.leftFig = [pygame.image.load(img) for img in listOfFigures[2]]
        self.rightFig = [pygame.image.load(img) for img in listOfFigures[3]]
        self.health = 100

    def existance(self):
        print("I exist")

    def inventory(self):
        pass

    def draw(self):
        if self.walkCount + 1 >= 18:
            self.walkCount = 0
        if self.currDir is not 'Stand':
            if self.currDir is 'Left':
                self.win.blit(self.leftFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Right':
                self.win.blit(self.rightFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Up':
                self.win.blit(self.upFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
            elif self.currDir is 'Down':
                self.win.blit(self.downFig[self.walkCount // 2], (self.x, self.y))
                self.walkCount += 1
        # else:
        elif self.currDir is 'Stand':
            if self.facing is 'Left':
                self.win.blit(self.leftFig[0], (self.x, self.y))
            if self.facing is 'Right':
                self.win.blit(self.rightFig[0], (self.x, self.y))
            if self.facing is 'Up':
                self.win.blit(self.upFig[0], (self.x, self.y))
            if self.facing is 'Down':
                self.win.blit(self.downFig[0], (self.x, self.y))


        self.collision_box = Rect(self.x+12, self.y+5, 38, 60)
        hit_box = self.collision_box.get_rect()
        # pygame.draw.rect(self.win, (255, 0, 0), hit_box, 2)

    def movement(self, keyPressed, voidDirections):

        if keyPressed[pygame.K_LEFT] and 'Left' not in voidDirections:
            self.currDir = 'Left'
            self.facing = 'Left'
            self.x -= self.vel

        elif keyPressed[pygame.K_RIGHT] and 'Right' not in voidDirections:
            self.currDir = 'Right'
            self.facing = 'Right'
            self.x += self.vel

        elif keyPressed[pygame.K_UP] and 'Up' not in voidDirections:
            self.currDir = 'Up'
            self.facing = 'Up'
            self.y -= self.vel

        elif keyPressed[pygame.K_DOWN] and "Down" not in voidDirections:
            self.currDir = 'Down'
            self.facing = 'Down'
            self.y += self.vel

        else:
            self.currDir = 'Stand'

    def interact(self, object, keyPressed):
        if GameFunctions.isCollisionCollisionBox(self, object):
            if keyPressed[pygame.K_x]:
                object.pickUpItem()

        else:
            if keyPressed[pygame.K_z] and object.inInventory:
                object.dropItem(self.getCollisionBox().x, self.collision_box.y)

    def getCollisionBox(self):
        return self.collision_box

    def updateDir(self, keyPressed):
        if keyPressed[pygame.K_LEFT]:
            self.currDir = 'Left'
        elif keyPressed[pygame.K_RIGHT]:
            self.currDir = 'Right'
        elif keyPressed[pygame.K_UP]:
            self.currDir = 'Up'
        elif keyPressed[pygame.K_DOWN]:
            self.currDir = 'Down'