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
- Rastgelelik:
rastgele()fonksiyonunu kullanın - Döngüler: Oyun turları için
ikenkullanın - Skor Takibi: Değişkenlerle puan tutun
- Kullanıcı Girdisi:
oku()ile interaktif olun - 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
- Algoritmalar - Oyunlarda kullanılabilecek algoritmalar
- Projeler - Daha karmaşık projeler
- Built-in Fonksiyonlar - Yararlı fonksiyonlar
Ödev
Bu oyunları geliştirin:
- Zorluk seviyeleri ekleyin
- Skor tablosu yapın
- Daha fazla özellik ekleyin