Menu
CoddyTech

Losowe tory

Część sekcji Zasady gry ścieżki Godot w Coddy. Lekcja 21 z 29.

Niektóre losowe wybory wymagają liczby całkowitej, na przykład wyboru jednego z pięciu pasów albo wyniku rzutu kostką.

randi_range(a, b) zwraca losową liczbę całkowitą od a do b, włącznie:

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

Ekran ma 640 pikseli szerokości, więc każdy z pięciu pasów ma 128 pikseli. Pomnóż numer pasa przez 128, a następnie dodaj 64, aby uzyskać środek pasa:

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

Daje to x = 64, 192, 320, 448 lub 576, bez żadnych wartości pomiędzy nimi.

challenge icon

Wyzwanie

Łatwy

Spraw, aby bloki spadały na pięciu pasach. Wybierz pas za pomocą randi_range(0, 4) i utwórz blok w miejscu lane * 128 + 64.

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Zasady gry

Poćwicz samodzielnie: Edytor online Godot