Tu vas créer un jeu Zelda interactif !

3. ÉTAPE 2 : Créer un personnage qui se déplace

Objectif

L'élève crée un carré bleu (le héros) qui se déplace avec les flèches du clavier.

Question motivante

"Maintenant qu'on a une fenêtre, où place-t-on le personnage ? Comment le fait-on bouger ?"

Concepts clés à maîtriser

  1. Rectangle Pygame : pygame.Rect(x, y, largeur, hauteur)

  2. Position (x, y) : coordonnées du joueur

  3. Détecter les touches clavier : pygame.key.get_pressed()

  4. Les touches directionnelles : pygame.K_UP, pygame.K_DOWN, pygame.K_LEFT, pygame.K_RIGHT

  5. Mettre à jour la position : player.x += 5 (déplacement)

  6. Afficher un rectangle : pygame.draw.rect(screen, color, rect)


import pygame
import sys

pygame.init()

WIDTH, HEIGHT = 1200, 800
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Zelda avec Python")

BLACK, BLUE = (0, 0, 0), (0, 0, 255)

# ===== PARAMÈTRES DU JOUEUR =====
player_x = 600
player_y = 400
player_width = 40
player_height = 40
player_speed = [COMPLETE] # À quelle vitesse se déplace le joueur ?

running = True
while running:
for event in pygame.event.get():
[COMPLETE] # Vérifier si on ferme

# ===== CAPTURER LES TOUCHES =====
keys = [COMPLETE] # Récupérer l'état des touches

if keys[pygame.K_UP]:
[COMPLETE] # Déplacer le joueur vers le haut
if [COMPLETE]: # Vérifier si DOWN est pressé
player_y += player_speed
if keys[pygame.K_LEFT]:
player_x -= player_speed
if [COMPLETE]: # Ajouter le déplacement à droite

# ===== AFFICHAGE =====
screen.fill(BLACK)
[COMPLETE] # Dessiner le rectangle bleu du joueur
pygame.display.update()

pygame.quit()
sys.exit()

À toi de jouer

  1. Change la couleur du joueur en rouge ou vert

  2. Augmente ou diminue la vitesse de déplacement

  3. Fais apparaître le joueur à une position différente (coin haut-gauche)

  4. Défi + : Empêche le joueur de sortir de l'écran (bonus : bordures invisibles)

Erreurs courantes

ErreurSolution
Le joueur ne bouge pasVérifier que keys[pygame.K_UP] est bien complet
Le joueur sort de l'écranAjouter des conditions pour limiter x et y
Le joueur bouge trop vite/lentementAjuster player_speed


Progression observable


✓ Fenêtre noire ✓ Carré bleu au centre ✓ Carré bouge avec les flèches ✓ Le joueur peut se déplacer partout à l'écran

Lien pédagogique

Ce système de déplacement sera réutilisé pour les ENNEMIS à l'Étape 3.