Menu
CoddyTech

Làn đường ngẫu nhiên

Thuộc phần Luật chơi trong hành trình Godot của Coddy. Bài học 21 trên 29.

Một số lựa chọn ngẫu nhiên cần số nguyên, chẳng hạn như chọn một trong năm làn hoặc gieo xúc xắc.

randi_range(a, b) trả về một số nguyên ngẫu nhiên từ a đến b, bao gồm cả hai giá trị:

var roll = randi_range(1, 6)	# 1, 2, 3, 4, 5 hoặc 6

Màn hình rộng 640 pixel, nên mỗi làn rộng 128 pixel. Nhân làn với 128, rồi cộng 64 để đến giữa làn:

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

Như vậy, x = 64, 192, 320, 448 hoặc 576, không có giá trị nào ở giữa.

challenge icon

Thử thách

Dễ

Cho các khối rơi xuống theo năm làn.

  1. Trong _on_spawn_timer_timeout(), chọn một làn bằng var lane = randi_range(0, 4).
  2. Cho khối xuất hiện tại lane * 128 + 64.

Nhấn Chơi: các khối rơi xuống thành những cột ngay ngắn. Sau đó nhấn Kiểm tra.

Tự làm thử

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 iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Luật chơi

Tự luyện tập: Playground Godot