Menu
CoddyTech

Positions aléatoires

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

Les blocs qui tombent toujours au même endroit sont faciles à esquiver. Les nombres aléatoires rendent chaque manche différente.

randf_range(a, b) donne un nombre aléatoire entre a et b, avec des décimales. Chaque appel en donne un nouveau :

spawn(randf_range(40, 600))

Un bloc fait 36 pixels de large. Ainsi, la plage de 40 à 600 permet de garder chaque bloc entièrement dans l’écran de 640 pixels.

Appelez-la dans la fonction du minuteur, chaque fois qu’un bloc apparaît. Un nombre choisi une seule fois et conservé dans une variable reste le même pendant toute la partie.

challenge icon

Défi

Facile

Fais tomber chaque bloc à un endroit aléatoire.

  1. Dans _on_spawn_timer_timeout(), remplace 320 par randf_range(40, 600).
  2. Laisse-le dans la fonction afin que chaque bloc ait sa propre coordonnée x.

Appuie sur « Jouer » : les blocs tombent sur tout l’écran. Puis appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

var block_scene = preload("res://block.tscn")

func _ready():
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)

func _on_spawn_timer_timeout():
	spawn(320)

func spawn(x):
	var block = block_scene.instantiate()
	block.position = Vector2(x, -30)
	add_child(block)

Toutes les leçons de Règles du jeu

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