turtle_match/main.py

49 lines
1.3 KiB
Python

import os
import random
import pygame
from image_sprite import Card
# CONSTANTS
WIDTH = 1600
HEIGHT = 900
BACKGROUND_COLOR = (66, 135, 245)
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('Turtle Cards')
# Creates list of images, doubles it, and shuffles it
image_files = os.listdir('images')
image_files.remove('turtle.jpg')
image_files.extend(image_files)
random.shuffle(image_files)
# Create sprites
cards = [Card(f'images/{image_files}', WIDTH, HEIGHT) for file in image_files]
# Move sprites
for i in range(16):
# Note: Coordinates start from (0, 0) at top left of screen.
# Arrange cards in a grid, 4x4, with a margin of 20 pixels between each card.
# Array from left to right, then top to bottom.
cards[i].move(i * (150 * i % 4) + 85, i * (150 * int(i / 4)) + 85)
game_is_running = True
while game_is_running:
# Draw things
screen.fill(BACKGROUND_COLOR)
for card in cards:
screen.blit(card.image, card.rect)
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_is_running = False
clicked_cards = []
for card in cards:
if card.is_clicked():
clicked_cards.append(card)
card.on_click()
card.flip_card()
pygame.display.flip()