Ana içeriğe geç

Oyun Örnekleri

Lordex ile yazılmış eğlenceli oyun örnekleri.

Sayı Tahmin Oyunu

fonksiyon sayi_tahmin_oyunu() {
yaz("=== SAYI TAHMİN OYUNU ===")
yaz("1 ile 100 arasında bir sayı tuttum!")

hedef = int(rastgele() * 100) + 1
tahmin_sayisi = 0
max_tahmin = 7

iken (tahmin_sayisi < max_tahmin) {
kalan = max_tahmin - tahmin_sayisi
yaz("\nKalan hak: " + kalan)
yaz("Tahmininiz:")

tahmin = int(oku())
tahmin_sayisi = tahmin_sayisi + 1

eger (tahmin == hedef) {
yaz("\n🎉 TEBRİKLER!")
yaz("Doğru sayıyı " + tahmin_sayisi + " tahminde buldunuz!")
geri_don
} degilse_eger (tahmin < hedef) {
eger (hedef - tahmin > 20) {
yaz("❄️ Çok soğuk! Daha BÜYÜK bir sayı deneyin")
} degilse {
yaz("⬆️ Daha büyük bir sayı deneyin")
}
} degilse {
eger (tahmin - hedef > 20) {
yaz("🔥 Çok sıcak! Daha KÜÇÜK bir sayı deneyin")
} degilse {
yaz("⬇️ Daha küçük bir sayı deneyin")
}
}
}

yaz("\n😢 Tahmin hakkınız bitti!")
yaz("Doğru sayı: " + hedef)
}

sayi_tahmin_oyunu()

Taş Kağıt Makas

fonksiyon tas_kagit_makas() {
secenekler = ["taş", "kağıt", "makas"]
oyuncu_puan = 0
bilgisayar_puan = 0
tur = 0
max_tur = 5

yaz("=== TAŞ KAĞIT MAKAS ===")
yaz("İlk " + max_tur + " turdan fazla kazanan oyunu alır!\n")

iken (tur < max_tur) {
yaz("\n--- TUR " + (tur + 1) + " ---")
yaz("Seçiminiz (taş/kağıt/makas):")
oyuncu = oku()

bilgisayar_secim = int(rastgele() * 3)
bilgisayar = secenekler[bilgisayar_secim]

yaz("\nSiz: " + oyuncu)
yaz("Bilgisayar: " + bilgisayar)

eger (oyuncu == bilgisayar) {
yaz("🤝 Berabere!")
} degilse_eger (
(oyuncu == "taş" ve bilgisayar == "makas") veya
(oyuncu == "kağıt" ve bilgisayar == "taş") veya
(oyuncu == "makas" ve bilgisayar == "kağıt")
) {
yaz("✅ Bu turu kazandınız!")
oyuncu_puan = oyuncu_puan + 1
} degilse {
yaz("❌ Bu turu kaybettiniz!")
bilgisayar_puan = bilgisayar_puan + 1
}

yaz("\nSkor - Siz: " + oyuncu_puan + " | Bilgisayar: " + bilgisayar_puan)
tur = tur + 1
}

yaz("\n=== OYUN BİTTİ ===")
eger (oyuncu_puan > bilgisayar_puan) {
yaz("🎉 KAZANDINIZ!")
} degilse_eger (bilgisayar_puan > oyuncu_puan) {
yaz("😢 KAYBETTİNİZ!")
} degilse {
yaz("🤝 BERABERE!")
}
}

tas_kagit_makas()

Adam Asmaca

fonksiyon adam_asmaca() {
kelimeler = ["lordex", "programlama", "bilgisayar", "algoritma", "fonksiyon"]

// Rastgele kelime seç
secilen = kelimeler[int(rastgele() * uzunluk(kelimeler))]
kelime_uzunluk = uzunluk(secilen)

// Tahmin edilen harfler
tahminler = []
yanlis_tahmin = 0
max_yanlis = 6

yaz("=== ADAM ASMACA ===")
yaz("Kelimede " + kelime_uzunluk + " harf var!\n")

iken (yanlis_tahmin < max_yanlis) {
// Kelimenin durumunu göster
durum = ""
i = 0
tamamlandi = evet

iken (i < kelime_uzunluk) {
harf = secilen[i]
bulundu = hayir

icin (t in tahminler) {
eger (t == harf) {
bulundu = evet
}
}

eger (bulundu) {
durum = durum + harf + " "
} degilse {
durum = durum + "_ "
tamamlandi = hayir
}

i = i + 1
}

yaz("\nKelime: " + durum)
yaz("Kalan hak: " + (max_yanlis - yanlis_tahmin))

eger (tamamlandi) {
yaz("\n🎉 TEBRİKLER! Kelimeyi buldunuz: " + secilen)
geri_don
}

yaz("Bir harf tahmin edin:")
tahmin = oku()

// Daha önce tahmin edildi mi?
daha_once_var = hayir
icin (t in tahminler) {
eger (t == tahmin) {
daha_once_var = evet
}
}

eger (daha_once_var) {
yaz("⚠️ Bu harfi zaten tahmin ettiniz!")
} degilse {
ekle(tahminler, tahmin)

// Harf kelimede var mı?
harf_var = hayir
i = 0
iken (i < kelime_uzunluk) {
eger (secilen[i] == tahmin) {
harf_var = evet
}
i = i + 1
}

eger (harf_var) {
yaz("✅ Doğru harf!")
} degilse {
yaz("❌ Yanlış harf!")
yanlis_tahmin = yanlis_tahmin + 1
}
}
}

yaz("\n😢 OYUN BİTTİ!")
yaz("Doğru kelime: " + secilen)
}

adam_asmaca()

Zar Oyunu

fonksiyon zar_oyunu() {
yaz("=== ZAR OYUNU ===")
yaz("İki zar atılacak. 7 veya 11 gelirse kazanırsınız!")
yaz("2, 3 veya 12 gelirse kaybedersiniz!")
yaz("Diğer durumlarda o sayıyı tekrar atmaya çalışırsınız.\n")

oku("Başlamak için Enter'a basın...")

zar1 = int(rastgele() * 6) + 1
zar2 = int(rastgele() * 6) + 1
toplam = zar1 + zar2

yaz("\n🎲 Zar 1: " + zar1)
yaz("🎲 Zar 2: " + zar2)
yaz("Toplam: " + toplam)

eger (toplam == 7 veya toplam == 11) {
yaz("\n🎉 KAZANDINIZ!")
} degilse_eger (toplam == 2 veya toplam == 3 veya toplam == 12) {
yaz("\n😢 KAYBETTİNİZ!")
} degilse {
hedef = toplam
yaz("\nHedef sayınız: " + hedef)
yaz("Şimdi " + hedef + " gelene kadar zar atın!")
yaz("Eğer 7 gelirse kaybedersiniz!\n")

devam = evet
iken (devam) {
oku("Zar atmak için Enter'a basın...")

zar1 = int(rastgele() * 6) + 1
zar2 = int(rastgele() * 6) + 1
toplam = zar1 + zar2

yaz("🎲 Zar 1: " + zar1)
yaz("🎲 Zar 2: " + zar2)
yaz("Toplam: " + toplam)

eger (toplam == hedef) {
yaz("\n🎉 KAZANDINIZ! Hedefe ulaştınız!")
devam = hayir
} degilse_eger (toplam == 7) {
yaz("\n😢 KAYBETTİNİZ! 7 geldi!")
devam = hayir
} degilse {
yaz("Tekrar deneyin...\n")
}
}
}
}

zar_oyunu()

Basit Quiz Oyunu

fonksiyon quiz_oyunu() {
sorular = [
{"soru": "Türkiye'nin başkenti neresi?", "cevap": "ankara"},
{"soru": "2 + 2 kaç eder?", "cevap": "4"},
{"soru": "Güneş sisteminde kaç gezegen var?", "cevap": "8"},
{"soru": "Bir yılda kaç ay vardır?", "cevap": "12"},
{"soru": "Dünyanın en büyük okyanusu?", "cevap": "pasifik"}
]

puan = 0
soru_no = 0

yaz("=== QUIZ OYUNU ===")
yaz("Toplam " + uzunluk(sorular) + " soru var!\n")

icin (soru_obj in sorular) {
soru_no = soru_no + 1
yaz("\nSoru " + soru_no + ": " + soru_obj["soru"])
cevap = kucuk_harf(oku("Cevabınız: "))

eger (cevap == soru_obj["cevap"]) {
yaz("✅ Doğru!")
puan = puan + 1
} degilse {
yaz("❌ Yanlış! Doğru cevap: " + soru_obj["cevap"])
}
}

yaz("\n=== SONUÇ ===")
yaz("Puanınız: " + puan + "/" + uzunluk(sorular))

yuzde = (puan * 100) / uzunluk(sorular)
eger (yuzde == 100) {
yaz("🏆 Mükemmel! Tüm soruları doğru cevapladınız!")
} degilse_eger (yuzde >= 70) {
yaz("👍 Harika! Çok iyi bir performans!")
} degilse_eger (yuzde >= 50) {
yaz("😊 İyi! Biraz daha pratik yapabilirsiniz.")
} degilse {
yaz("📚 Daha fazla çalışmanız gerekiyor!")
}
}

quiz_oyunu()

Hafıza Oyunu

fonksiyon hafiza_oyunu() {
yaz("=== HAFIZA OYUNU ===")
yaz("Size bir sayı dizisi gösterilecek.")
yaz("Ardından aynı sırayla girmeniz gerekecek!\n")

seviye = 1
max_seviye = 5

iken (seviye <= max_seviye) {
yaz("\n--- SEVİYE " + seviye + " ---")

// Rastgele sayı dizisi oluştur
dizi = []
i = 0
iken (i < seviye + 2) {
ekle(dizi, int(rastgele() * 10))
i = i + 1
}

// Diziyi göster
yaz("Diziyi ezberleyin:")
icin (sayi in dizi) {
yaz(sayi)
}

yaz("\nHazır mısınız?")
oku()

// Ekranı temizle (simüle)
yaz("\n\n\n\n\n\n\n\n\n\n")

// Kullanıcıdan diziyi girmesini iste
yaz("Diziyi girin (her sayıdan sonra Enter):")
kullanici_dizi = []
i = 0
iken (i < uzunluk(dizi)) {
sayi = int(oku())
ekle(kullanici_dizi, sayi)
i = i + 1
}

// Kontrol et
dogru = evet
i = 0
iken (i < uzunluk(dizi)) {
eger (dizi[i] != kullanici_dizi[i]) {
dogru = hayir
}
i = i + 1
}

eger (dogru) {
yaz("✅ Doğru! Bir sonraki seviyeye geçiyorsunuz!")
seviye = seviye + 1
} degilse {
yaz("❌ Yanlış!")
yaz("Doğru dizi: " + dizi)
yaz("Sizin diziniz: " + kullanici_dizi)
yaz("\nSeviye " + seviye + "'de oyun bitti!")
geri_don
}
}

yaz("\n🏆 TEBRİKLER!")
yaz("Tüm seviyeleri tamamladınız!")
}

hafiza_oyunu()

İpuçları

Oyun Geliştirme
  1. Rastgelelik: rastgele() fonksiyonunu kullanın
  2. Döngüler: Oyun turları için iken kullanın
  3. Skor Takibi: Değişkenlerle puan tutun
  4. Kullanıcı Girdisi: oku() ile interaktif olun
  5. Koşullar: Kazanma/kaybetme durumlarını kontrol edin
Dikkat
  • Sonsuz döngülere dikkat edin
  • Kullanıcı girdisini doğrulayın
  • Geçersiz girişleri yakalayın

Sonraki Adımlar

Ödev

Bu oyunları geliştirin:

  • Zorluk seviyeleri ekleyin
  • Skor tablosu yapın
  • Daha fazla özellik ekleyin