Python ile Zar Atma Oyunu
Bu yazımızda, Python programlama dili ile örnek bir zar atma oyunu kodlayacağız.
- İlk olarak
import random
ifadesi ile başlıyoruz. Böylece, rastgele sayı üretme yeteneği eklemek için Python’un random modülünü içe aktarmış oluyoruz. Bu modül, zar atma simülasyonunun merkezi olan rastgele zar değerlerini oluşturmamızı sağlayacak. - Zarların temsili şekillerini dictionary (sözlük) içinde sakladık.
- 1 ile 6 arasında rastgele bir tam sayı üretmek için
random.randint(1, 6)
fonksiyonunu kullandık vezar_at
adında bir fonksiyonun içine yazdık. Sonuç olarak, bu fonksiyon bir zarın atıldığında alabileceği herhangi bir değeri döndürebilir.
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 |
import random def zar_at(): return random.randint(1, 6) def zar_goster(zar): zar_sekli = { 1: ''' +-------+ | | | O | | | +-------+ ''', 2: ''' +-------+ | O | | | | O | +-------+ ''', 3: ''' +-------+ | O | | O | | O | +-------+ ''', 4: ''' +-------+ | O O | | | | O O | +-------+ ''', 5: ''' +-------+ | O O | | O | | O O | +-------+ ''', 6: ''' +-------+ | O O | | O O | | O O | +-------+ ''' } return zar_sekli[zar] def oyun(): while True: input("Zar atmak için enter'a basın!") zar_sonucu = zar_at() print(zar_goster(zar_sonucu)) devam = input("Tekrar zar atmak istiyor musunuz? (E/h) ") if devam.lower() == 'h': break oyun() |
Bu kodu çalıştırdığınızda, her “Enter” tuşuna bastığınızda bir zar atışı gerçekleştirebilir ve verilen şekiller ile zarın kaç geldiğini görebilirsiniz. Oyunu sonlandırmak için “h” tuşuna basabilirsiniz. Kodu çalıştırmak için: Trinket
Bu sefer sorumuzu biraz daha genişleteceğiz. Bilgisayar da zar atsın ve büyük zar atmış olan kazansın.
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 |
import random def zar_at(): return random.randint(1, 6) def zar_goster(zar): zar_sekli = { 1: ''' +-------+ | | | O | | | +-------+ ''', 2: ''' +-------+ | O | | | | O | +-------+ ''', 3: ''' +-------+ | O | | O | | O | +-------+ ''', 4: ''' +-------+ | O O | | | | O O | +-------+ ''', 5: ''' +-------+ | O O | | O | | O O | +-------+ ''', 6: ''' +-------+ | O O | | O O | | O O | +-------+ ''' } return zar_sekli[zar] def oyun(): while True: input("Zar atmak için enter'a basın!") senin_zarin = zar_at() bilgisayarin_zari = zar_at() print("Senin Zarın:") print(zar_goster(senin_zarin)) print("Bilgisayarın Zarı:") print(zar_goster(bilgisayarin_zari)) if senin_zarin > bilgisayarin_zari: print("Kazandın!") elif senin_zarin < bilgisayarin_zari: print("Bilgisayar kazandı!") else: print("Berabere!") devam = input("Tekrar oynamak istiyor musunuz? (E/h) ") if devam.lower() == 'h': break oyun() |
Yukarıdaki kodumuz ise, hem kullanıcıya hem de bilgisayara bir zar atma şansı verir ve her iki zarın sonucunu resim olarak gösterir ve hangi zarın daha büyük olduğunu belirler. Benzer şekilde oyunu tekrar oynamak için “Enter” tuşuna veya sonlandırmak için “h” tuşuna basabilirsiniz. Kodu çalıştırmak için: Trinket