PythonYazılım

Python İle Amiral Battı Oyunu Yapımı

Merhaba arkadaşlar bugün Python ile amiral battı oyunu yapıyoruz. Oyun alanımızı board adı ile bir liste olarak tanımlıyoruz. 5×5 şeklinde bir matris oluşturuyorz. 3 adet gemi belirliyoruz. Bunların konumlarını randint fonksiyonu ile belirliyoruz. Satır ve sütun için rastgele sayılar alıyoruz. Ardından gemilerin konumlarının aynı olup olmadığını kontrol ediyoruz. Eğer konumları ayrı ise bir geminin konumu değiştiriyoruz. Ardından kullanıcının girdiği değerler ile gemilerin konumunu karşılaştırıyoruz ve durumlarını yazıyoruz.

from random import randint
board = []
sayac = 0
puan = 250
for i in range(5):
    board.append(["0"]*5)

def print_board(board):
    for satir in board:
        print (" ".join(satir))
def rand(board):
    return randint(1,len(board)-1)

print("-" * 35)
print("Amiral battı oyununa hoş geldiniz")
print("-" * 35)
print("Puanınız:", puan)
print("-" * 35)
print_board(board)

gemi_satir = rand(board)
gemi_sutun = rand(board)
gemi1_satir = rand(board)
gemi1_sutun = rand(board)
gemi2_satir = rand(board)
gemi2_sutun = rand(board)

while True:
    if(gemi_satir == gemi1_satir and gemi_sutun == gemi1_sutun):
        gemi1_satir = rand(board)
        gemi1_sutun = rand(board)
        continue
    elif (gemi_satir == gemi2_satir and gemi_sutun == gemi2_sutun):
        gemi2_satir = rand(board)
        gemi2_sutun = rand(board)
        continue
    elif (gemi1_satir == gemi2_satir and gemi1_sutun == gemi2_sutun):
        gemi2_satir = rand(board)
        gemi2_sutun = rand(board)
        continue
    else:
        print("-" * 35)
        tahmin_satir = int(input("Satır giriniz: "))
        tahmin_sutun = int(input("Sütun giriniz: "))

        if (tahmin_satir == gemi_satir and tahmin_sutun == gemi_sutun)\
            or (tahmin_satir == gemi1_satir and tahmin_sutun == gemi1_sutun) \
            or (tahmin_satir == gemi2_satir and tahmin_sutun == gemi2_sutun):
            if board[tahmin_satir - 1][tahmin_sutun - 1] == "/":
                print("-" * 35)
                print("Zaten tahmin ettiniz")
                print_board(board)
                print(puan)
            else:
                print("-" * 35)
                print("Tebrikler gemiyi batırdınız!")
                board[tahmin_satir - 1][tahmin_sutun - 1] = "/"
                print("Puanınız:",puan)
                print("-" * 35)
                print_board(board)
                sayac += 1
        else:
            if (tahmin_satir < 0 or tahmin_sutun < 0) or (tahmin_satir >5 or tahmin_sutun >5):
                print("-" * 35)
                print("Alan sınırları dışında değer girdiniz")

            elif board[tahmin_satir - 1][tahmin_sutun - 1] == "X":
                print("-" * 35)
                print("Zaten tahmin ettiniz")
                print("-" * 35)
                print_board(board)
            else:
                print("-" * 35)
                print("Vuramadınız")
                board[tahmin_satir - 1][tahmin_sutun - 1] = "X"
                puan -= 10
                print("Puanınız:", puan)
                print("-" * 35)
                print_board(board)

            if sayac == 3:
                print("-" * 35)
                print("Tebrikler bütün gemileri batırdınız ve oyunu kazandınız")
                print("-" * 35)
                break

İlgili Makaleler

4 Yorum

  1. Merhaba, Python Yeni Başlayanlar İçin Örnek Projeler yazınız altında gösterilen bütün örnek projelerde girdilerde sıkıntı var. Özellikle yeni başlayanları hedefleyen bir yazıda böyle bir hatanın büyük bir sıkıntı oluşturacağından söyleme ihtiyacı duydum.

    1. Sitede yaptığımız düzenleme sonucu bozulmuş kodlar. Şu an sorun halledildi. Yorumunuz için teşekkürler.

  2. biraz gelecekten yazıyorum ama bir sorum olucak ben bu kodları yazdım ama çalıştırdığımda herhangi birşey olmuyor python hakkında nerdeyse hiç bilgim yok etkileşimli bir pencerede nasıl çalıştırıcağım bunu yardımcı olurmusunuz

    1. Biraz geç olacak ama file bölümünden new file’a tıkla. Buradaki kodları yapıştır. Sonra f5 yap veya run bölümündeki run module ‘a tıkla. Belki hata verebilir boşluklardan dolayı, onları düzenle ve tekrar run module yap. Sonrasında kaydet ve kodların çalıştığını göreceksin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Kapalı