Menu
CoddyTech

Faixas Aleatórias

Parte da seção Regras do jogo do Journey de Godot da Coddy. Lição 21 de 29.

Algumas escolhas aleatórias precisam de um número inteiro, como uma entre cinco pistas ou o resultado do lançamento de um dado.

randi_range(a, b) fornece um número inteiro aleatório de a a b, incluindo ambos:

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

A tela tem 640 pixels de largura, então cada uma das cinco pistas tem 128 pixels. Multiplique a pista por 128 e depois some 64 para chegar ao meio da pista:

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

Isso resulta em x = 64, 192, 320, 448 ou 576, sem nenhum valor entre eles.

challenge icon

Desafio

Fácil

Faça os blocos caírem em cinco faixas.

  1. Em _on_spawn_timer_timeout(), escolha uma faixa com var lane = randi_range(0, 4).
  2. Faça o bloco surgir em lane * 128 + 64.

Pressione “Jogar”: os blocos caem em colunas organizadas. Em seguida, pressione “Verificar”.

Experimente você mesmo

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 iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Regras do jogo

Pratique por conta própria: Playground de Godot