Menu
CoddyTech

Esquive : Fin de partie

Fait partie de la section Règles du jeu du Journey Godot de Coddy. Leçon 28 sur 29.

À zéro vie, le jeu continue. Le score continue de grimper et le nombre de vies passe sous zéro.

Termine le jeu comme tu l’as fait dans la salle des pics. Affiche le libellé caché GameOver et mets le jeu en pause. La pause arrête les deux minuteurs, donc le score reste égal au nombre de secondes pendant lesquelles tu as survécu. Les blocs s’arrêtent là où ils se trouvent.

if lives == 0:
	$HUD/GameOver.visible = true
	get_tree().paused = true
challenge icon

Défi

Moyen

Termine la partie lorsque toutes les vies sont épuisées.

  1. Dans _on_player_hurt(), après la ligne de mise à jour de l’étiquette, vérifie si lives vaut 0.
  2. Si c’est le cas, affiche $HUD/GameOver et mets le jeu en pause.

Appuie sur « Jouer » et subis trois coups : Game Over s’affiche et les blocs s’arrêtent. Puis appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

var block_scene = preload("res://block.tscn")
var score = 0
var lives = 3

func _ready():
	$HUD/Score.text = "Score: %d" % score
	$HUD/Lives.text = "Lives: %d" % lives
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
	$ScoreTimer.timeout.connect(_on_score_timer_timeout)
	$Player.hurt.connect(_on_player_hurt)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives

Toutes les leçons de Règles du jeu

Entraînez-vous par vous-même : Playground Godot