Collision pygame
Fermé
Manjuve
-
26 juil. 2021 à 23:41
Manjuve Messages postés 3 Date d'inscription mardi 27 juillet 2021 Statut Membre Dernière intervention 27 juillet 2021 - 27 juil. 2021 à 18:09
Manjuve Messages postés 3 Date d'inscription mardi 27 juillet 2021 Statut Membre Dernière intervention 27 juillet 2021 - 27 juil. 2021 à 18:09
A voir également:
- Collidelist pygame
- Pygame text - Forum Python
- Get_pressed pygame ✓ - Forum Python
- Gravity pygame ✓ - Forum Python
- Pygame: masquer un texte 3 secondes plus tard - Forum Python
- Installer Pygame - Forum Python
4 réponses
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
27 juil. 2021 à 11:35
27 juil. 2021 à 11:35
Bonjour,
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
Manjuve
Messages postés
3
Date d'inscription
mardi 27 juillet 2021
Statut
Membre
Dernière intervention
27 juillet 2021
27 juil. 2021 à 14:29
27 juil. 2021 à 14:29
import pygame import random import time import sys from pygame.constants import K_DOWN, K_LEFT, K_RIGHT, K_UP pygame.init() NB_COL = 10 NB_ROW = 15 CELL_SIZE = 40 screen = pygame.display.set_mode(size=(NB_COL * CELL_SIZE, NB_ROW * CELL_SIZE)) timer = pygame.time.Clock() game_on = True def grid(): for i in range (NB_COL): for j in range (NB_ROW): rect = pygame.Rect(i*CELL_SIZE, j*CELL_SIZE, CELL_SIZE, CELL_SIZE) pygame.draw.rect(screen, pygame.Color("black"), rect, width = 1) def food_move(): x = random.randrange(0,360,40) y = random.randrange(0,560,40) global food food = pygame.Rect(x, y, CELL_SIZE, CELL_SIZE) food = pygame.draw.rect(screen, pygame.Color("green"), food) def snake_move(): x = 40 y = 40 if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: x-=40 elif event.key == pygame.K_RIGHT: x+=40 elif event.key == pygame.K_UP: y-=40 elif event.key == pygame.K_DOWN: y +=40 global snake snake = pygame.Rect(x, y, CELL_SIZE, CELL_SIZE) pygame.draw.rect(screen, pygame.Color("red"), snake) while game_on: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() screen.fill(pygame.Color("white")) grid() if food.colliderect(snake) == -1: food_move() snake_move() pygame.display.update() timer.tick(60)
yg_be
Messages postés
23306
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 novembre 2024
1 550
27 juil. 2021 à 15:01
27 juil. 2021 à 15:01
le message d'erreur mentionne-t-il un numéro de ligne?
es-tu certain que la variable foot a déjà une valeur au moment où tu exécutes cette ligne?
es-tu certain que la variable foot a déjà une valeur au moment où tu exécutes cette ligne?
Manjuve
Messages postés
3
Date d'inscription
mardi 27 juillet 2021
Statut
Membre
Dernière intervention
27 juillet 2021
>
yg_be
Messages postés
23306
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
1 novembre 2024
27 juil. 2021 à 18:09
27 juil. 2021 à 18:09
ligne 52, et oui effectivement la variable n'a pas encore de valeur
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 27 juil. 2021 à 16:12
Modifié le 27 juil. 2021 à 16:12
A la ligne 52 food est inconnue
Elle est initialisée juste après dans la fonction food_move() ... trop tard
Elle est initialisée juste après dans la fonction food_move() ... trop tard
Manjuve
Messages postés
3
Date d'inscription
mardi 27 juillet 2021
Statut
Membre
Dernière intervention
27 juillet 2021
27 juil. 2021 à 18:08
27 juil. 2021 à 18:08
ah oui merci!