Python ile Adam Asmaca Oyunu
Bu yazımızda, Python programlama dili kullanarak temsili bir adam asmaca oyunu kodladık. Öncelikle bilmeyenler için oyunun nasıl bir şey olduğunu anlatalım.
Adam Asmaca temelde kelime tahmini üzerine kurulu bir bilgi yarışması oyunudur. Doğru bir şekilde tahmin edilmeyen her harf için, asılı bir adamın çizimi adım adım tamamlanır. Oyunun amacı da zaten seçilen kelimeyi tamamen tahmin etmek ve böylece adamın tamamen çizilmesini (temsili olarak asılmasını) engellemektir. Her yanlış tahminde, adamın çizimi parça parça tamamlanır ve en sonunda asılmış olur. Yani özetle eğer adam çizilmeden kelime tahmin edilirse tahmin eden oyuncu kazanır; eğer adam tamamen çizilirse kelimeyi seçen oyuncu kazanır.
Kodumuzu yazmak için while döngüsü, for föngüsü ve koşul ifadelerinden olan if-else deyimlerinden yararlandık. Bakınız:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
import random kelimeler = ["kedi", "köpek", "kablumbağa", "yunus", "balina", "fok", "arı", "atmaca", "güvercin", "aslan"] secilen_kelime = random.choice(kelimeler) gecerliHarfler = "abcçdefgğhıijklmnoöpqrsştuüvwxyz" toplamHak = 5 yapilanTahmin = "" # Oyun görselleri ADAM_ASMACA_GORSLLERI = [ """ -------- | | | | | | """, """ -------- | | | O | | | """, """ -------- | | | O | | | | """, """ -------- | | | O | /| | | """, """ -------- | | | O | /|\ | | """, """ -------- | | | O | /|\ | / | """, """ -------- | | | O | /|\ | / \ | """ ] print("Adam Asmaca Oyununa Hoş Geldiniz!") while toplamHak > 0: gercekKelime = "" for harf in secilen_kelime: if harf in yapilanTahmin: gercekKelime += harf else: gercekKelime += "_ " if gercekKelime == secilen_kelime: print(gercekKelime) print("Tebrikler kazandınız!") break print(ADAM_ASMACA_GORSLLERI[5 - toplamHak]) print("Hayvan adını tahmin edin:", gercekKelime) print(f"Kalan hakkınız: {toplamHak}") tahmin = input("Bir harf tahmin edin: ").lower() if tahmin in gecerliHarfler: yapilanTahmin += tahmin if tahmin not in secilen_kelime: toplamHak -= 1 else: print("Lütfen geçerli bir harf giriniz...") else: print("Maalesef kaybettiniz. Doğru kelime:", secilen_kelime) |
Bu kodda, oyun görselleri ADAM_ASMACA_GORSLLERI
adlı bir liste içerisinde tutulmaktadır. toplamHak
değişkeni, kullanıcının kalan tahmin hakkını belirtir. Harf tahminleri doğru olduğunda kelime içerisinde gösterilir. Yanlış tahminlerde ise toplamHak
azaltılır ve yanlış tahmin sayısına göre Adam Asmaca’nın belirli bir aşaması ekrana yazdırılır. Kodu çalıştırmak için: Trinket