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()
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()
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)
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)
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
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 __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)
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
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'