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
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)
        invaders.add(auto_bee)
        drawing_group.add(auto_bee)

drawing_group.add(player_bee)

pygame.display.set_caption('Bee Invaders')
pygame.mouse.set_visible(0)

clock = pygame.time.Clock()
angles = ((45, 0, -45), (90, 0, -90), (135, 180, -135))

loop = True
time_last_fire = 0

while loop:
Beispiel #3
0
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]

    player_bee.setAngle(angles[ydir + 1][xdir + 1])
    player_bee.rect = player_bee.rect.move(
        (xdir * 8, ydir * 8)).clamp(screen_rect)

    # Detect collisions
    for bee in pygame.sprite.spritecollide(player_bee, auto_bees, True):
        bee.kill()

    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)
Beispiel #4
0
          (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]

    player_bee.setAngle(angles[ydir+1][xdir+1])
    player_bee.rect = player_bee.rect.move((xdir * 8, ydir * 8)).clamp(screen_rect)

    # Detect collisions
    for bee in pygame.sprite.spritecollide(player_bee, auto_bees, True):
        bee.kill()

    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 #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
    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()

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)
        invaders.add(auto_bee)
        drawing_group.add(auto_bee)

drawing_group.add(player_bee)

pygame.display.set_caption('Bee Invaders')
pygame.mouse.set_visible(0)

clock = pygame.time.Clock()
angles = (( 45,   0,  -45),
          ( 90,   0,  -90),
          (135, 180, -135))

loop = True
time_last_fire = 0