def MainCollide(self, dx, dy): for block in gb.maps.new_blocks: if self.rect.colliderect(block): if block.is_wall: if dx > 0: self.rect.right = block.rect.left if dx < 0: self.rect.left = block.rect.right if dy > 0: self.rect.bottom = block.rect.top if dy < 0: self.rect.top = block.rect.bottom #block.ID 3 is stairs down if block.ID == 3: gb.onLevel += 1 gb.mapName = 'level' + str(gb.onLevel) + '.level' gb.LoadGame() gb.MovePlayer() # Closed door 2 if block.ID == 7: gb.maps.new_blocks.remove(block) newblock = gb.maps.Blocks(5, block.rect.x, block.rect.y, 'door_open2.png', False) gb.maps.new_blocks.append(newblock) # Closed door 1 if block.ID == 8: gb.maps.new_blocks.remove(block) newblock = gb.maps.Blocks(6, block.rect.x, block.rect.y, 'door_open1.png', False) gb.maps.new_blocks.append(newblock) # locked door 1 if block.ID == 9: if self.keys: self.keys -= 1 gb.maps.new_blocks.remove(block) newblock = gb.maps.Blocks(5, block.rect.x, block.rect.y, 'door_open2.png', False) gb.maps.new_blocks.append(newblock) # locked door 2 if block.ID == 10: if self.keys: self.keys -= 1 gb.maps.new_blocks.remove(block) newblock = gb.maps.Blocks(6, block.rect.x, block.rect.y, 'door_open1.png', False) gb.maps.new_blocks.append(newblock)
def Saving(self): waiting = True key = gb.pygame.key.get_pressed() gb.pygame.font.init() myfont = gb.pygame.font.SysFont("monospace", 30) color = (0,0,0) while waiting: event = gb.pygame.event.poll() if event.type == gb.pygame.QUIT: waiting = False gb.maps.render() saveText = myfont.render("Save", 1, (255, 255, 255)) quitText = myfont.render("Quit", 1, (255, 255, 255)) yesBox = gb.pygame.draw.rect(gb.window.screen, (color), (((800/3)), 100, 125, 50)) noBox = gb.pygame.draw.rect(gb.window.screen, (color), ((((800/4)*2)), 100, 125, 50)) yesOutline = gb.pygame.draw.rect(gb.window.screen, (255,100,100), (yesBox.x, yesBox.y, 125, 50), 2) noOutline = gb.pygame.draw.rect(gb.window.screen, (255,100,100), (noBox.x, noBox.y, 125, 50), 2) posx, posy = gb.pygame.mouse.get_pos() if event.type == gb.pygame.KEYDOWN and event.key == gb.pygame.K_ESCAPE: waiting = False if event.type == gb.pygame.MOUSEBUTTONUP: if event.button == 1: if yesBox.collidepoint(posx, posy): gb.maps.save() gb.LoadGame() waiting = False if noBox.collidepoint(posx, posy): waiting = False gb.playing = False gb.SettingUp.SetUp(True) gb.window.screen.blit(saveText, (yesBox.x + 30, yesBox.y + 10)) gb.window.screen.blit(quitText, (noBox.x + 30, noBox.y + 10)) gb.pygame.display.flip() gb.window.RenderWindow('black')