Menu
CoddyTech
flag Ru iconРусскийdown icon

Случайные полосы

Часть раздела Правила игры путешествия по Godot на Coddy. Урок 21 из 29.

Для некоторых случайных выборов требуется целое число, например одна из пяти полос или результат броска кубика.

randi_range(a, b) возвращает случайное целое число от a до b включительно:

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

Ширина экрана — 640 пикселей, поэтому каждая из пяти полос имеет ширину 128 пикселей. Умножь номер полосы на 128, затем прибавь 64, чтобы получить середину полосы:

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

Получаются значения x = 64, 192, 320, 448 или 576, и никаких промежуточных значений.

challenge icon

Задание

Легко

Сделай так, чтобы блоки падали по пяти дорожкам. Выбери дорожку с помощью randi_range(0, 4) и создай блок в позиции lane * 128 + 64.

Попробуйте сами

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 iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Правила игры

Потренируйтесь самостоятельно: Песочница Godot