Game Tenggelamkan Kapal Rezim “Dzalim” Dengan Python

Game Tenggelamkan Kapal Rezim Dzalim Dengan Python

Penjelasan

Pada tulisan akan dibuat sebuah game sederhana. Game ini akan bertujuan untuk menembak dan menenggelamkan sebuah kapal. Kapal berada pada sebuah titik koordinat baris dan kolom. Pemain akan diberikan kesempatan untuk menembak sebanyak 5 kali. Pemain menembak dengan cara menebak posisi baris dan kolom kapal. Jika tebakan tepat maka pemain dinyatakan menang dan berhasil. Namun jika dalam 5 kali kesempatan pemain tidak berhasil menebak dengan tepat maka pemain dinyatakan kalah.

Kode Program

from random import randint


def print_papan(papan):
    # menampilkan papan dalam bentuk baris dan kolom
    for baris in papan:
        print(" ".join(baris))
    print("")


def acak_baris(papan):
    # memberikan nilai acak untuk baris kapal
    return randint(0, len(papan) - 1)


def acak_kolom(papan):
    # memberikan nilai acak untuk kolom kapal
    return randint(0, len(papan[0]) - 1)


# list untuk menampung kolom dan baris papan
# papan akan berisi data berupa array 2 dimensi
papan = []

# mengisi list papan menjadi array 2 dimensi 5 x 5
# data yang diberikan semua berupa angka 0
# [['O', 'O', 'O', 'O', 'O'],
# ['O', 'O', 'O', 'O', 'O'],
# ['O', 'O', 'O', 'O', 'O'],
# ['O', 'O', 'O', 'O', 'O'],
# ['O', 'O', 'O', 'O', 'O']]
for x in range(5):
    papan.append(["O"] * 5)

# menentukan posisi baris dan kolom dari kapal
kapal_baris = acak_baris(papan)
kapal_kolom = acak_kolom(papan)

peluru = 5
hitung = peluru
permainan = True

print("Anda mempunyai kesempatan untuk 5 kali menembak.")
while permainan:
    print("Peluru Ke-", hitung - peluru + 1)
    tebakan_baris = int(input("Tebakan Baris (0 - 4): "))
    tebakan_kolom = int(input("Tebakan Kolom (0 - 4): "))

    # pengecekan ketepatan tebakan bari dan kolom
    if tebakan_baris == kapal_baris and tebakan_kolom == kapal_kolom:
        print("Berhasil! Anda berhasil menenggelamkan kapal rezim \"Dzalim\" !")
        papan[kapal_baris][kapal_kolom] = "#"
        print_papan(papan)
        print("Baris Kapal :", kapal_baris)
        print("Kolom Kapal :", kapal_kolom)
        permainan = False
    else:
        peluru -= 1
        if (tebakan_baris < 0 or tebakan_baris > 4) or (tebakan_kolom < 0 or tebakan_kolom > 4):
            print("Oops, tembakan jauh meleset.")
        elif(papan[tebakan_baris][tebakan_kolom] == "X"):
            print("Anda sudah pernah menembah pada titik ini.")
        else:
            print("Tembakanmu Meleset")
            papan[tebakan_baris][tebakan_kolom] = "X"
        print_papan(papan)

    # jika peluru sudah habis
    if peluru <= 0:
        print("Anda Kalah!")
        papan[kapal_baris][kapal_kolom] = "8"
        print_papan(papan)
        print("Baris Kapal :", kapal_baris)
        print("Kolom Kapal :", kapal_kolom)
        permainan = False

Keluaran Program

Selamat bermain! Semoga menyenangkan!

Be the first to comment

Leave a Reply

Your email address will not be published.


*