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 jednego z pięciu pasów lub 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)

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

challenge icon

Wyzwanie

Łatwy

Spraw, by bloki spadały pięcioma torami.

  1. W _on_spawn_timer_timeout() wybierz tor za pomocą var lane = randi_range(0, 4).
  2. Utwórz blok w pozycji lane * 128 + 64.

Naciśnij „Graj”: bloki spadają równymi kolumnami. Następnie naciśnij „Sprawdź”.

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