Menu
CoddyTech

Duvarı Temizle

Coddy'nin Godot Journey'sinin Projeler bölümünün bir parçası. Ders 10 / 36.

Son adım kazanmanın bir yolu: tüm tuğlaları kır.

Kalan tuğlaları say. 40'tan başla ve her brick_broken geldiğinde bir azalt. Sıfır olduğunda duvar temizlenir:

bricks_left -= 1
if bricks_left == 0:
	$HUD/Message.text = "You win!"
	get_tree().paused = true

Sıfırı kontrol etmeden önce bir azalt. Önce kontrol edersen son tuğlada kontrol 1'i görür ve 0'ı asla görmez.

Game Over ekranındaki Enter tuşu burada da yeni bir oyun başlatır. Breakout'un tamamlandı.

challenge icon

Görev

Orta

Her tuğlayı kırarak oyunu kazan.

  1. main.gd dosyasında var bricks_left = 40 ekle.
  2. _on_brick_broken içinde bricks_left değerini bir azalt.
  3. Hiç tuğla kalmadığında $HUD/Message içinde You win! mesajını göster ve oyunu duraklat.

“Oyna” düğmesine bas ve duvarı temizle: You win! mesajı görünür ve top durur. Ardından “Kontrol et” düğmesine bas.

Kendin dene

extends Node2D

const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]

var score = 0
var lives = 3

func _ready():
	for row in 5:
		for column in 8:
			var brick = BRICK.instantiate()
			brick.position = Vector2(68 + column * 72, 60 + row * 26)
			brick.color = COLORS[row]
			add_child(brick)
	$Ball.brick_broken.connect(_on_brick_broken)
	$HUD/Score.text = "Score: 0"
	$Ball.missed.connect(_on_missed)
	$HUD/Lives.text = "Lives: 3"

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("action"):
		get_tree().paused = false
		get_tree().reload_current_scene()

func _on_brick_broken():
	score += 10
	$HUD/Score.text = "Score: %d" % score

func _on_missed():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives
	if lives == 0:
		$HUD/Message.text = "Game Over"
		get_tree().paused = true
quiz iconKendini test et

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

Projeler bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground