Beispiel #1
0
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()
Beispiel #2
0
    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()
Beispiel #3
0
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
Beispiel #4
0
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))
Beispiel #5
0
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()
Beispiel #6
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()
Beispiel #7
0
    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()