Μάθημα : PyGame

109 - Μανώλης Αργυρός

Ενότητες μαθήματος

ΜΑΘΗΜΑ 2: Σχήματα και χρώματα

# Τι θα μάθουμε: συντεταγμένες (x, y), pygame.draw, χρώματα RGB

import pygame
from sys import exit

pygame.init()
screen = pygame.display.set_mode((800, 400))
pygame.display.set_caption('Σχήματα')
clock = pygame.time.Clock()

# ΣΥΝΤΕΤΑΓΜΕΝΕΣ: το (0, 0) είναι η πάνω-αριστερή γωνία
#   x μεγαλώνει προς τα δεξιά  ->
#   y μεγαλώνει προς τα ΚΑΤΩ
#
#   (0,0) ----------------> x
#     |
#     |
#     v y

house_x = 250   # η αριστερή πλευρά του σπιτιού

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            exit()

    screen.fill('skyblue')

    # Χρώμα με όνομα, ή με τρεις αριθμούς (κόκκινο, πράσινο, μπλε) από 0 έως 255
    pygame.draw.circle(screen, 'yellow', (700, 70), 40)            # ήλιος: κέντρο (700, 70), ακτίνα 40
    pygame.draw.rect(screen, (60, 180, 75), (0, 300, 800, 100))    # γρασίδι: (x, y, πλάτος, ύψος)
 
    # ΣΠΙΤΙ: όλα μετράνε από το house_x
    pygame.draw.rect(screen, (200, 80, 60), (house_x, 200, 150, 100))  # σπίτι
    pygame.draw.polygon(screen, (120, 40, 40),
                        [(house_x - 20, 200), (house_x + 75, 130), (house_x + 170, 200)])  # σκεπή
    pygame.draw.rect(screen, 'brown', (house_x + 55, 245, 40, 55))     # πόρτα
 
    # pygame.draw.line(screen, 'white', (400, 100), (550, 100), 5)   # γραμμή πάχους 5
 
    # σύννεφο: τρεις άσπροι κύκλοι + ένα ορθογώνιο για την επίπεδη βάση
    pygame.draw.circle(screen, 'white', (440, 105), 25)
    pygame.draw.circle(screen, 'white', (475, 88), 32)
    pygame.draw.circle(screen, 'white', (515, 105), 25)
    pygame.draw.rect(screen, 'white', (440, 105, 75, 25))

    pygame.display.update()
    clock.tick(60)
 
----------------------------------------------------------------------------------------------------------
ΑΣΚΗΣΗ

1. Πρόσθεσε ένα παράθυρο στο σπίτι (ένα μικρό pygame.draw.rect).

2. Βάλε ένα δέντρο: καφέ ορθογώνιο κορμός + πράσινος κύκλος φύλλωμα.