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()
from random import randint import pygame from pygame.locals import * from bee import Bee from projectile import Projectile from monster import Monster pygame.init() screen = pygame.display.set_mode((700, 700), 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() invaders = pygame.sprite.Group() projectiles = pygame.sprite.Group() monsters = pygame.sprite.Group() drawing_group = pygame.sprite.OrderedUpdates() player_bee = Bee(10, screen.get_height() - 200) for x in range(10, screen.get_width(), 100): for y in range(10, screen.get_height() - 300, 100): auto_bee = Bee(x, y) auto_bee.setAngle(180)
import pygame from pygame.locals import * from bee import Bee 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)