Dégager le mur
Fait partie de la section Projets du Journey Godot de Coddy. Leçon 10 sur 36.
La dernière étape consiste à trouver un moyen de gagner : casser toutes les briques.
Compte les briques restantes. Commence à 40 et enlève-en une chaque fois que brick_broken arrive. Quand il en reste zéro, le mur est dégagé :
bricks_left -= 1
if bricks_left == 0:
$HUD/Message.text = "You win!"
get_tree().paused = trueEnlève-en une avant de vérifier si le nombre est égal à zéro. Si tu vérifies d’abord, le test voit 1 pour la dernière brique et ne voit jamais 0.
La touche Entrée depuis l’écran Game Over démarre aussi une nouvelle partie ici. Ton Breakout est terminé.
Défi
MoyenGagne la partie en cassant chaque brique.
- Dans
main.gd, ajoutevar bricks_left = 40. - Dans
_on_brick_broken, enlève-en une àbricks_left. - Quand il n’en reste plus, affiche
You win!dans$HUD/Messageet mets le jeu en pause.
Appuie sur « Jouer » et détruis le mur : You win! s’affiche et la balle s’arrête. Puis appuie sur « Vérifier ».
Essayez vous-même
extends Node2D
const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]
var score = 0
var lives = 3
func _ready():
for row in 5:
for column in 8:
var brick = BRICK.instantiate()
brick.position = Vector2(68 + column * 72, 60 + row * 26)
brick.color = COLORS[row]
add_child(brick)
$Ball.brick_broken.connect(_on_brick_broken)
$HUD/Score.text = "Score: 0"
$Ball.missed.connect(_on_missed)
$HUD/Lives.text = "Lives: 3"
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("action"):
get_tree().paused = false
get_tree().reload_current_scene()
func _on_brick_broken():
score += 10
$HUD/Score.text = "Score: %d" % score
func _on_missed():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/Message.text = "Game Over"
get_tree().paused = true
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Projets
Entraînez-vous par vous-même : Playground Godot