#Jag importerar alla kommandon som ryms inom Pygame, samt vissa systemkommandon. import pygame, sys, os from pygame.locals import * #Här importerar jag alla bilder på Pacman och spöken. #Pacmanbilderna ordnades även in i en lista, pacList, för att skapa en ordning bland dem. pac1 = pygame.image.load('Pacman1.png') pac2 = pygame.image.load('Pacman2.png') pac3 = pygame.image.load('Pacman3.png') pac4 = pygame.image.load('Pacman4.png') wall = pygame.image.load('Wall.png') pacList = [pac1, pac2, pac3, pac4, pac3, pac2] ghost1 = pygame.image.load('ghost1.png') ghost2 = pygame.image.load('ghost2.png') ghost3 = pygame.image.load('ghost3.png') ghost4 = pygame.image.load('ghost4.png') #Antalet rutor i x- och y-led, spelplanen höjd och bredd samt bakgrundsfärgen i RGB-skala definieras. #Jag initierar också den inbyggda spelklockan. xCords, yCords = 20, 20 size =width, height = 800, 800 bgc = (0, 0, 0) clock = pygame.time.Clock() #Spelplanen skapas och fylls ut med färgen. Planen namnges som "Pacman" screen = pygame.display.set_mode((width, height)) screen.fill(bgc) pygame.display.set_caption("Pacman") class Pacman(object): def __init__(self, speed=5, x=400, y=400, sprite=pacList): self.speed = speed self.x = x self.y = y self.pos = (self.x,self.y) self.spriteNum = 0 self.sprite = sprite def move(self, direction): if direction == "up": self.y -= self.speed if direction == "down": self.y += self.speed if direction == "right": self.x += self.speed if direction == "left": self.x -= self.speed return (self.x, self.y) def spriteChange(self): if self.spriteNum == 5: self.spriteNum = 0 else: self.spriteNum += 1 if direction == "down": return self.rot_center(90) return self.sprite[self.spriteNum] def rot_center(self, angle): orig_rect = (self.sprite[self.spriteNum]).get_rect() rot_image = pygame.transform.rotate(self.sprite[self.spriteNum], angle) rot_rect = orig_rect.copy() rot_rect.center = rot_image.get_rect().center rot_image = rot_image.subsurface(rot_rect).copy() return rot_image pacman = Pacman() direction = 0 done = False while not done: clock.tick(20) screen.fill((0, 0, 0)) for event in pygame.event.get(): if event.type == KEYDOWN and event.key == K_w: direction = "up" elif event.type == KEYDOWN and event.key == K_s: direction = "down" elif event.type == KEYDOWN and event.key == K_d: direction = "right" elif event.type == KEYDOWN and event.key == K_a: direction = "left" if event.type == pygame.QUIT: done = True screen.blit(pacman.spriteChange(), pacman.move(direction)) pygame.display.flip() pygame.quit()