Skip to content
Snippets Groups Projects
Commit fca90341 authored by Harri Vaara's avatar Harri Vaara
Browse files

Upload New File

parent 7a32b1c1
No related branches found
No related tags found
No related merge requests found
import pygame
import random
# Alustetaan Pygame
pygame.init()
# Asetetaan ikkunan koko
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Lumihiutaleet")
# Värit
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# Ladataan lumihiutaleiden kuvat
flake_images = [
pygame.image.load("lumihiutale1.png"),
pygame.image.load("lumihiutale2.png"),
pygame.image.load("lumihiutale3.png")
]
# Lumihiutale-luokka
class Snowflake(pygame.sprite.Sprite):
def __init__(self):
super().__init__()
# Valitaan satunnainen lumihiutale
self.image = random.choice(flake_images)
# Asetetaan lumihiutaleen koko satunnaisesti
scale_factor = random.uniform(0.1, 0.3)
self.image = pygame.transform.scale(self.image, (int(self.image.get_width() * scale_factor), int(self.image.get_height() * scale_factor)))
self.rect = self.image.get_rect()
# Asetetaan lumihiutale satunnaiseen kohtaan ylhäältä
self.rect.x = random.randint(0, SCREEN_WIDTH - self.rect.width)
self.rect.y = random.randint(-20, -100) # Putoaa satunnaisesta kohdasta ylhäältä
self.speed = random.uniform(1, 3) # Putoamisnopeus
def update(self):
# Siirretään lumihiutaleita alaspäin
self.rect.y += self.speed
# Kun lumihiutale menee ruudun alareunaan, asetetaan se takaisin ylös
if self.rect.y > SCREEN_HEIGHT:
self.rect.y = random.randint(-100, -20)
self.rect.x = random.randint(0, SCREEN_WIDTH - self.rect.width)
# Lumihiutaleet sprite-ryhmä
all_snowflakes = pygame.sprite.Group()
# Luodaan vähintään 10 lumihiutaletta
for _ in range(10):
snowflake = Snowflake()
all_snowflakes.add(snowflake)
# Pygamen pääsilmukka
running = True
while running:
# Tapahtumakäsittely
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Päivitetään lumihiutaleet
all_snowflakes.update()
# Täytetään tausta mustaksi
screen.fill(BLACK)
# Piirretään lumihiutaleet
all_snowflakes.draw(screen)
# Päivitetään näyttö
pygame.display.update()
# Säilytetään 60 FPS
pygame.time.Clock().tick(60)
# Lopetetaan Pygame
pygame.quit()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment