Python ile Taş Kağıt Makas Oyunu Kodlama
Bu örneğimizde, Python programlama dilini kullanarak “taş – kağıt – makas” adlı oyunu kodlayacağız. Oyunun kuralları aşağıdaki gibidir:
- Taş, makası kırarak yener.
- Kağıt, taşı sararak yener.
- Makas, kağıdı keserek yener.
Kodlama rastgelelik içerdiği için random modülü kullanılacaktır. Kullanıcıdan veri giriş olacağı için input () fonksiyonundan ve koşul test edileceği için if-else ifadelerinden yararlanılmıştır. Ayrıca kullanıcı, tekrar tekrar oynayabilsin diye döngü içine aldık ve bunun için while döngüsünü kullandı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 |
import random oyun_resimleri = ['''taş: _______ ---' ____ (_____) (_____) (____) ---.__(___) ''', '''kağıt: _______ ---' ____)____ ______) _______) _______) ---.__________) ''', '''makas: _______ ---' ____)____ ______) __________) (____) ---.__(___) '''] devam = "evet" while devam.lower() == "evet": insan_secimi = int(input('''Taş, kağıt, makas? "Taş" seçmek için "0", "kağıt" seçmek için "1" ve "makas" seçmek için "2" rakamına basın...\n''')) if 0 <= insan_secimi <= 2: print("Seçiminiz...") print(oyun_resimleri[insan_secimi]) bilgisayar_secimi = random.randint(0, 2) print("Bilgisayar seçiyor...") print(oyun_resimleri[bilgisayar_secimi]) if insan_secimi == 0 and bilgisayar_secimi == 2: print("Kazandınız!") elif bilgisayar_secimi == 0 and insan_secimi == 2: print("Kaybettiniz!") elif bilgisayar_secimi > insan_secimi: print("Kaybettiniz") elif insan_secimi > bilgisayar_secimi: print("Kazandınız!") elif bilgisayar_secimi == insan_secimi: print("Berabere kaldınız!") else: print("Geçersiz değer girdiniz...") devam = input("Tekrar oynamak ister misiniz? (evet/hayır): ") |
- İlk olarak, taş, kağıt ve makas resimleri bir liste içerisine alınır.
- Daha sonra, kullanıcıdan taş, kağıt veya makas seçimini yapması istenir. Kullanıcı 0, 1 veya 2 sayılarından birini girer.
- Eğer kullanıcı 0, 1 veya 2 sayılarından birini girdiyse, seçtiği değer ve bilgisayarın rastgele seçtiği değer ekrana yazdırılır.
- Daha sonra, kazanan belirlenir:
- Kullanıcının ve bilgisayarın seçimleri arasındaki fark modulo 3 alınır. Bu sonuca göre:
- 0 ise, yani seçimler aynı ise, berabere kalınmıştır.
- 1 ise, yani bilgisayarın seçimi, kullanıcının seçiminden bir sonraki seçim ise, kullanıcı kaybetmiştir.
- 2 ise, yani kullanıcının seçimi, bilgisayarın seçiminden bir sonraki seçim ise, kullanıcı kazanmıştır.
- Kullanıcının ve bilgisayarın seçimleri arasındaki fark modulo 3 alınır. Bu sonuca göre:
- Kazanan belirlendikten sonra sonuç ekrana yazdırılır ve program sonlanır.
- Eğer kullanıcı 0, 1 veya 2 dışında bir değer girerse, ‘Geçersiz değer girdiniz…’ yazdırılır ve program sonlanır.
Kodu çalıştırmak için: Trinket