Débutant pygame

Bonjour à toutes et à tous, je débute mon tout premier projet sur pygame en suivant des tutos, seulement malgré le fait que je reproduise le même code, j’ai un message d’erreur qui apparaît quand je veux lancer le programme, étant débutant extrême j’ai beau me retourner les méninges, je n’ai aucune idée de ce qui ne va pas. Si quelqu’un pourrait m’aider j’en serai ravi.


Hello,
dans ton fichier Game il doit manquer une variable nommée « pressed »

Je crois avoir retrouvé le même tuto que celui que tu suis. Vérifie comme le dit @MoDDiB ton fichier game.py

Il doit avoir cette tête:

import pygame
from player import Player
 
#créer une classe pour le jeu
class Game:
 
    def __init__():
        self.player = Player()
        self.pressed = {}

Tout d’abord merci à tous les deux pour votre aide et votre réactivité.
J’ai bien la variable self.pressed dans mon game.py

je me retrouve maintenant avec une nouvelle erreur

Merci beaucoup pour votre aide

apparemment il me manquait juste un espace sur les lignes game.pressed sous elif event.type et if event.type, à priori le souci est donc résolu ici, seulement je me retrouve bloqué ici

Tu as essayé de mettre ton log dans ChatGPT ? Ça aide à éclaircir des messages d’erreurs parfois obscurs.

Tu as encore un problème d’indentation. Tes lignes 56 à 60 devraient être au même niveau que les précédentes.

1 « J'aime »

Tu as de gros problèmes d’indentations. Il faut que tu comprennes comment ca marche en python sinon tu iras de bug en bug.

En effet, en ligne 41 tu définis une boucle for pour tous les events. Mais tu arrêtes ta boucle en ligne 54. Donc après l’event n’est plus dispo.

Pour corriger ça tout ton bloc de la ligne 56 à 60 doit être indenté pour être sous le for. Sélectionne les lignes et appuies sur <TAB> pour être dans la boucle que tu définies en ligne 41.

Je ne suis pas un spécialiste de pygame mais je me demande même si le bloc qui détecte la touche ne devrait pas être dans le if / elif de la détection du KEYDOWN

1 « J'aime »

Bonjour @PenyLeGland ,
Il faut aussi que tu comprennes comment fonctionne un forum…
Ta question concerne du code, donc elle n’a rien à faire dans Blabla.
Je la déplace, mais merci de faire attention à l’avenir

Il faut éviter les copies d’écran et préférer copier le code entre 2 lignes de ```

Mon code

Ça permet une meilleur lisibilité et surtout aux personnes qui t’aident de copier le code chez eux pour le tester.

Comme a fait SkullyFM.

tu peux même commencer le bloc par :

```python

pour avoir la bonne colorisation :slight_smile: