Question: I have the following code for a SET game in python, I have tried to get my cards in it to visualize it but everytime

I have the following code for a SET game in python, I have tried to get my cards in it to visualize it but everytime I get a open black window which immidiately closes and I have no idea what to do with it: "import pygame
import sys
import random
import threading
import queue
import time
from enum import Enum
import os
# Enum definitions
class Number(Enum):
ONE =1
TWO =2
THREE =3
class Symbol(Enum):
DIAMOND = 'diamond'
SQUIGGLE = 'squiggle'
OVAL = 'oval'
class Color(Enum):
RED = 'red'
GREEN = 'green'
PURPLE = 'purple'
class Shading(Enum):
SOLID = 'solid'
STRIPED = 'striped'
OPEN = 'open'
# SetCard class
class SetCard:
def __init__(self, number, symbol, color, shading):
self.number = number
self.symbol = symbol
self.color = color
self.shading = shading
def __repr__(self):
return f'Number: {self.number.value}, Symbol: {self.symbol.value}, Color: {self.color.value}, Shading: {self.shading.value}'
@staticmethod
def is_set(card1, card2, card3):
properties =['number', 'symbol', 'color', 'shading']
for prop in properties:
if len(set([getattr(card1, prop), getattr(card2, prop), getattr(card3, prop)]))!=2:
return False
return True
@staticmethod
def find_all_sets(cards):
n = len(cards)
sets =[]
for i in range(n-2):
for j in range(i+1, n-1):
for k in range(j+1, n):
if SetCard.is_set(cards[i], cards[j], cards[k]):
sets.append((cards[i], cards[j], cards[k]))
return sets
# Function to initialize Pygame and load card images
def init_pygame(deck):
pygame.init()
screen = pygame.display.set_mode((800,600))
pygame.display.set_caption("SET Game")
card_images ={}
folder_path = r"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards" # Raw string to handle backslashes
for card in deck:
# Assuming your card names match the deck entries, e.g., "greendiamondfilled1.gif" for the card "greendiamondfilled1"
card_path = os.path.join(folder_path, f"{card}.gif")
card_images[card]= pygame.image.load(card_path)
return screen, card_images
# Function to draw cards on the screen
def draw_cards(screen, table_cards, card_images):
screen.fill((0,0,0)) # Black background
for i, card in enumerate(table_cards):
x =50+(i %3)*150
y =50+(i //3)*200
screen.blit(card_images[card],(x, y))
# Main game function
def play_set_game():
deck =[SetCard(Number(num), Symbol(sym), Color(col), Shading(shade))
for num in Number for sym in Symbol for col in Color for shade in Shading]
random.shuffle(deck)
table_cards = deck[:12]
deck = deck[12:]
screen, card_images = init_pygame(deck)
# Game loop
running = True
while running and deck:
draw_cards(screen, table_cards, card_images)
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Add more event handling as needed
pygame.quit()
if __name__=="__main__":
play_set_game()", I have the folder name ""C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards" and the images ""C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondempty2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondempty3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondfilled1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondfilled2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondfilled3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondshaded1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondshaded2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplediamondshaded3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalempty1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalempty2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalempty3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalfilled1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalfilled2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalfilled3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalshaded1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalshaded2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purpleovalshaded3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplesquiggleempty1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplesquiggleempty2.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplesquiggleempty3.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplesquigglefilled1.gif"
"C:\Users\Gebruiker\OneDrive - HvA\Desktop\cards\purplesquigglefilled2.gif"" copied as path .

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!