Menu
CoddyTech

Rastgele Şeritler

Coddy'nin Godot Journey'sinin Oyun Kuralları bölümünün bir parçası. Ders 21 / 29.

Bazı rastgele seçimler, beş şeritten biri veya zar atışı gibi bir tam sayı gerektirir.

randi_range(a, b), a ile b arasından, ikisi de dahil olacak şekilde rastgele bir tam sayı verir:

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

Ekran 640 piksel genişliğindedir, bu nedenle beş şeridin her biri 128 piksel genişliğindedir. Şerit numarasını 128 ile çarpın, ardından şeridin ortasına ulaşmak için 64 ekleyin:

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

Böylece x = 64, 192, 320, 448 veya 576 değerleri elde edilir; arada başka değer olmaz.

challenge icon

Görev

Kolay

Blokların beş şeritte düşmesini sağla.

  1. _on_spawn_timer_timeout() içinde var lane = randi_range(0, 4) ile bir şerit seç.
  2. Bloğu lane * 128 + 64 konumunda oluştur.

“Oyna” düğmesine bas: bloklar düzgün sütunlar hâlinde düşer. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Oyun Kuralları bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground