Menu
CoddyTech

Carriles aleatorios

Parte de la sección Reglas del juego del Journey de Godot de Coddy. Lección 21 de 29.

Algunas elecciones aleatorias necesitan un número entero, como una de cinco vías o el resultado de lanzar un dado.

randi_range(a, b) da un número entero aleatorio desde a hasta b, ambos incluidos:

var roll = randi_range(1, 6)	# 1, 2, 3, 4, 5 o 6

La pantalla tiene 640 píxeles de ancho, así que cada una de las cinco vías mide 128 píxeles. Multiplica la vía por 128 y después suma 64 para llegar al centro de la vía:

var lane = randi_range(0, 4)
spawn(lane * 128 + 64)

Eso da x = 64, 192, 320, 448 o 576, y ningún valor intermedio.

challenge icon

Desafío

Fácil

Haz que los bloques caigan en cinco carriles. Elige un carril con randi_range(0, 4) y genera el bloque en lane * 128 + 64.

Pruébalo tú mismo

extends Node2D

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

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

func _on_spawn_timer_timeout():
	spawn(randf_range(40, 600))

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

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Reglas del juego

Practica por tu cuenta: Playground de Godot