Mes sprites (jetons) n'apparaissent pas à l'écran. J'ai inclus tout mon code en cas d'incident dans le corps du code. J'ai mis dans les étoiles le code qui avait directement à voir avec les sprites des jetons. L'essentiel du code est: trois blocs apparaissent à l'écran, et en ce moment j'essaie de faire apparaître 11, 15 ou 21 jetons (carrés oranges de 20x20 pixels) répartis dans le cercle du milieu. Ils ne se présentent pas. Ignorez le code sur les touches fléchées pour plus tard. Ma première priorité est de faire apparaître les sprites, mais si vous avez des suggestions pour accélérer ou mieux organiser mon code, j'aimerais l'entendre! Merci.Les sprites n'apparaissent pas
import pygame, sys
from pygame.locals import *
import pygame
import time
import random
pygame.init()
screen = pygame.display.set_mode((720, 480))
gray = pygame.Color(220, 220, 220)
black = pygame.Color(0, 0, 0)
blue = pygame.Color(0, 0, 255)
red = pygame.Color(255, 0 ,0)
white = pygame.Color(255, 255, 255)
t_end = time.time() + 60*15
g=0
f = open("results", "a")
f.write("trial number, answer, reaction time, correct answer, number of balls in left circle at response, number of balls in middle circle at response, number of balls in right circle at response\n")
f.close()
**class tokens(pygame.sprite.Sprite):
def __init__(self, color, width, height):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface([width, height])
self.image.fill(color)
self.rect = self.image.get_rect()
token_list = pygame.sprite.Group()**
while time.time() < t_end:
screen.fill(gray)
pygame.draw.rect(screen, black, Rect((30,140), (200,200)))
pygame.draw.rect(screen, black, Rect((260,140), (200,200)))
pygame.draw.rect(screen, black, Rect((490,140), (200,200)))
pygame.display.update()
**n = random.randint(1,3)
if n == 1:
n=11
elif n == 2:
n = 15
elif n == 3:
n = 21
x_coords = [35, 75, 115, 155, 195, 35, 75, 115, 155, 195, 35, 75, 115, 155, 195, 35, 75, 115, 155, 195]
y_coords = [170, 170, 170, 170, 170, 210, 210, 210, 210, 210, 250, 250, 250, 250, 250, 290, 290, 290, 290, 290]
for i in range(0,n):
token = tokens((255,120,0), 20, 20)
token.rect.x = x_coords[i-1]
token.rect.y = y_coords[i-1]
token_list.add(token)**
for event in pygame.event.get():
if event.type == KEYDOWN:
g+=1
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
answer = "left"
f = open("results", "a")
f.write(str(g) + ", left\n")
f.close()
pygame.draw.rect(screen, blue, Rect((30,140), (200,200)))
print("You picked left!")
pygame.display.update()
time.sleep(1)
screen.fill(black)
pygame.display.update()
time.sleep(1)
elif keys[pygame.K_RIGHT]:
answer = "right"
f = open("results", "a")
f.write(str(g) + ", right\n")
f.close()
pygame.draw.rect(screen, blue, Rect((490,140), (200,200)))
print("You picked right!")
pygame.display.update()
time.sleep(1)
screen.fill(black)
pygame.display.update()
time.sleep(1)