Μάθημα : PyGame
ΜΑΘΗΜΑ 4: Χρόνος - Γραμματοσειρά (font)

# Προσθήκη χρόνου και γραμματοσειράς στο παιχνίδι
import pygame
from sys import exit
from random import randint
pygame.init()
screen = pygame.display.set_mode((1200, 700))
clock = pygame.time.Clock()
font = pygame.font.Font(None, 40)
player = pygame.Rect(100, 500, 30, 30)
star = pygame.Rect(600, 300, 15, 15)
points = 0
star_time = pygame.time.get_ticks() # πότε εμφανίστηκε το αστέρι
game_active = True
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
if game_active:
# 7 δευτερόλεπτα για κάθε αστέρι
seconds_left = 7 - (pygame.time.get_ticks() - star_time) // 1000
if seconds_left <= 0:
game_active = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player.x = player.x - 5
if keys[pygame.K_RIGHT]:
player.x = player.x + 5
if keys[pygame.K_UP]:
player.y = player.y - 5
if keys[pygame.K_DOWN]:
player.y = player.y + 5
if player.left < 0:
player.left = 0
if player.right > 1200:
player.right = 1200
if player.top < 0:
player.top = 0
if player.bottom > 700:
player.bottom = 700
if player.colliderect(star):
points = points + 1
star.x = randint(0, 1185)
star.y = randint(0, 685)
star_time = pygame.time.get_ticks() # ο χρόνος ξαναρχίζει
screen.fill('skyblue')
pygame.draw.rect(screen, 'red', player)
pygame.draw.rect(screen, 'gold', star)
screen.blit(font.render('Χρόνος: ' + str(seconds_left), True, 'black'), (20, 20))
screen.blit(font.render('Πόντοι: ' + str(points), True, 'black'), (1050, 20))
else:
screen.fill('navy')
screen.blit(font.render('Έχασες! Πόντοι: ' + str(points), True, 'white'), (450, 330))
pygame.display.update()
clock.tick(60)
----------------------------------------------------------------------------------------------
ΔΟΚΙΜΑΣΕ:
Δώσε μπόνους. Αν πιάσεις το αστέρι όταν μένουν ακόμα 5 ή περισσότερα δευτερόλεπτα, πάρε 2 πόντους αντί για 1.