import pygame, random groesse = breite, hoehe = 700, 700 screen = pygame.display.set_mode(groesse) uhr = pygame.time.Clock() global_pos = 0 global_move = 0 class Spieler(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) self.image = pygame.image.load("lel.png") self.rect = self.image.get_rect() self.rect.topleft = (0, 0) self.move = [0, 0] def update(self): self.rect.move_ip(self.move) if not pygame.sprite.groupcollide(spielerGruppe, blockGruppe, 0, 0): self.rect.move_ip([0, 10]) if self.rect.topleft[1] > hoehe: print("Game over") exit(0) class Block(pygame.sprite.Sprite): def __init__(self, pos): pygame.sprite.Sprite.__init__(self) self.image = pygame.image.load("Block.png") self.rect = self.image.get_rect() self.rect.topleft = pos self.pos = pos def update(self): global global_pos self.rect.centerx = global_pos - self.pos[0] spieler = Spieler() spielerGruppe = pygame.sprite.RenderClear() spielerGruppe.add(spieler) blockGruppe = pygame.sprite.RenderClear() blockGruppe.add(Block((0, 500))) blockGruppe.add(Block((-128, 500))) blockGruppe.add(Block((-256, 500))) blockGruppe.add(Block((-256 - 128, 500 - 128))) while True: events = pygame.event.get() for event in events: if event.type == pygame.QUIT: exit(0) elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: if pygame.sprite.groupcollide(spielerGruppe, blockGruppe, 0, 0): spieler.rect.move_ip((0, -200)) elif event.key == pygame.K_a: global_move -= 10 elif event.key == pygame.K_d: global_move += 10 elif event.type == pygame.KEYUP: if event.key == pygame.K_SPACE: global_move = 0 elif event.key == pygame.K_a or event.key == pygame.K_d: global_move = 0 screen.fill((255, 255, 195)) global_pos -= global_move spielerGruppe.update() blockGruppe.update() spielerGruppe.draw(screen) blockGruppe.draw(screen) pygame.display.flip() uhr.tick(30)