def main(): pygame.init() title = 'Bee, Get the Nectar!' screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) screenRect = screen.get_rect() Bee.loadImages() Flower.loadImages() background = loadImage('clover-large.jpg') drawTitle = True if drawTitle: font = pygame.font.Font(None, 48) text = font.render(title, 1, Color('white')) textpos = text.get_rect(centerx=screenRect.width/2, centery=25) background.blit(text, textpos) screen.blit(background, (0, 0)) pygame.display.flip() bee = Bee(screenRect) flowers = pygame.sprite.Group() score = Score() drawingGroup = pygame.sprite.RenderUpdates() drawingGroup.add(bee) drawingGroup.add(score) pygame.display.set_caption(title) pygame.mouse.set_visible(0) clock = pygame.time.Clock() angles = ((45, 90, 135), (0, 0, 180), (315, 270, 225)) # game loop loop = True while loop: # get input for event in pygame.event.get(): if event.type == QUIT \ or (event.type == KEYDOWN and event.key == K_ESCAPE): loop = False keystate = pygame.key.get_pressed() xdir = keystate[K_RIGHT] - keystate[K_LEFT] # -1, 0, or 1 ydir = keystate[K_DOWN] - keystate[K_UP] bee.setAngle(angles[xdir+1][ydir+1]) bee.rect = bee.rect.move((xdir * 8, ydir * 8)).clamp(screenRect) # Detect collisions for flower in pygame.sprite.spritecollide(bee, flowers, True): score.score += 1 flower.kill() if random.randint(0, 50) == 0: flower = Flower(screenRect) drawingGroup.add(flower) flowers.add(flower) drawingGroup.clear(screen, background) drawingGroup.update() changedRects = drawingGroup.draw(screen) pygame.display.update(changedRects) # maintain frame rate clock.tick(40) pygame.quit()
if keystate[K_SPACE]: time_now = time() time_since_fire = time_now - time_last_fire if time_since_fire > (.2 if shift else .5): time_last_fire = time() projectile = Projectile( player_bee.rect.x + player_bee.rect.width / 2, player_bee.rect.y) drawing_group.add(projectile) projectiles.add(projectile) xdir = keystate[K_RIGHT] - keystate[K_LEFT] # -1, 0, or 1 ydir = keystate[K_DOWN] - keystate[K_UP] player_bee.setAngle(angles[ydir + 1][xdir + 1]) player_bee.rect = player_bee.rect.move( (xdir * 8, ydir * 8)).clamp(screen_rect) pygame.sprite.groupcollide(projectiles, invaders, True, True) pygame.sprite.groupcollide(projectiles, monsters, True, True) drawing_group.clear(screen, background) drawing_group.update() changed_rects = drawing_group.draw(screen) pygame.display.update(changed_rects) clock.tick(60) pygame.quit()
screen = pygame.display.set_mode((700, 394), 0) screen_rect = screen.get_rect() background = screen.copy() for y in range(screen_rect.height): color_val = 255 - 255 * y / screen_rect.height pygame.draw.line(background, (0, color_val, 0), (0, y), (screen_rect.width, y)) Bee.loadImages() screen.blit(background, (0, 0)) pygame.display.flip() auto_bees = pygame.sprite.Group() player_bee = Bee(screen_rect) player_bee.rect = player_bee.rect.move((50, 50)) auto_bee = Bee(screen_rect) auto_bees.add(auto_bee) imgRect = player_bee.image.get_rect() player_bee.rect = imgRect.move(50, screen_rect.centery - imgRect.centery) drawing_group = pygame.sprite.RenderUpdates() drawing_group.add(player_bee, auto_bee) pygame.display.set_caption('One Bee') pygame.mouse.set_visible(0) clock = pygame.time.Clock() angles = ((45, 0, -45), (90, 0, -90), (135, 180, -135)) # game loop
pygame.init() screen = pygame.display.set_mode((700, 394), 0) screen_rect = screen.get_rect() background = screen.copy() for y in range(screen_rect.height): color_val = 255 - 255 * y / screen_rect.height pygame.draw.line(background, (0, color_val, 0), (0, y), (screen_rect.width, y)) Bee.loadImages() screen.blit(background, (0, 0)) pygame.display.flip() auto_bees = pygame.sprite.Group() player_bee = Bee(screen_rect) player_bee.rect = player_bee.rect.move((50, 50)) auto_bee = Bee(screen_rect) auto_bees.add(auto_bee) imgRect = player_bee.image.get_rect() player_bee.rect = imgRect.move(50, screen_rect.centery - imgRect.centery) drawing_group = pygame.sprite.RenderUpdates() drawing_group.add(player_bee, auto_bee) pygame.display.set_caption('One Bee') pygame.mouse.set_visible(0) clock = pygame.time.Clock() angles = (( 45, 0, -45), ( 90, 0, -90), (135, 180, -135))
pygame.mouse.set_visible(0) clock = pygame.time.Clock() angles = ((45, 0, -45), (90, 0, -90), (135, 180, -135)) # game loop loop = True while loop: # get input for event in pygame.event.get(): if event.type == QUIT \ or (event.type == KEYDOWN and event.key == K_ESCAPE): loop = False keystate = pygame.key.get_pressed() xdir = keystate[K_RIGHT] - keystate[K_LEFT] # -1, 0, or 1 ydir = keystate[K_DOWN] - keystate[K_UP] bee.setAngle(angles[ydir + 1][xdir + 1]) bee.rect = bee.rect.move((xdir * 8, ydir * 8)).clamp(screen_rect) drawing_group.clear(screen, background) drawing_group.update() changed_rects = drawing_group.draw(screen) pygame.display.update(changed_rects) # maintain frame rate clock.tick(40) pygame.quit()
clock = pygame.time.Clock() angles = (( 45, 0, -45), ( 90, 0, -90), (135, 180, -135)) # game loop loop = True while loop: # get input for event in pygame.event.get(): if event.type == QUIT \ or (event.type == KEYDOWN and event.key == K_ESCAPE): loop = False keystate = pygame.key.get_pressed() xdir = keystate[K_RIGHT] - keystate[K_LEFT] # -1, 0, or 1 ydir = keystate[K_DOWN] - keystate[K_UP] bee.setAngle(angles[ydir+1][xdir+1]) bee.rect = bee.rect.move((xdir * 8, ydir * 8)).clamp(screen_rect) drawing_group.clear(screen, background) drawing_group.update() changed_rects = drawing_group.draw(screen) pygame.display.update(changed_rects) # maintain frame rate clock.tick(40) pygame.quit()
keystate = pygame.key.get_pressed() mods = pygame.key.get_mods() shift = mods & KMOD_SHIFT if keystate[K_SPACE]: time_now = time() time_since_fire = time_now - time_last_fire if time_since_fire > (.2 if shift else .5): time_last_fire = time() projectile = Projectile(player_bee.rect.x + player_bee.rect.width / 2, player_bee.rect.y) drawing_group.add(projectile) projectiles.add(projectile) xdir = keystate[K_RIGHT] - keystate[K_LEFT] # -1, 0, or 1 ydir = keystate[K_DOWN] - keystate[K_UP] player_bee.setAngle(angles[ydir+1][xdir+1]) player_bee.rect = player_bee.rect.move((xdir * 8, ydir * 8)).clamp(screen_rect) pygame.sprite.groupcollide(projectiles, invaders, True, True) drawing_group.clear(screen, background) drawing_group.update() changed_rects = drawing_group.draw(screen) pygame.display.update(changed_rects) clock.tick(60) pygame.quit()