Cara Membuat Game Tebak Kata Dengan Python
Cara Membuat Game Tebak Kata Dengan Python

Cara Membuat Game Tebak Kata Dengan Python

Pada artikel ini akan membahas cara membuat game tebak kata dengan Python, Python merupakan bahasa sederhana yang bisa digunakan untuk membuat aplikasi, program perhitungan dan game sederhana dengan bahasa pemrograman Python. Hal ini bisa membuat ketertarikan kita mengenai bahasa pemrograman semakin meningkat, tentunya bahasa pemrograman Python. Karena membuat sesuatu dengan bahasa pemrograman adalah hal yang unik, menarik, menantang dan kreatif. Jadi, ayo coba belajar membuat aplikasi sederhana dengan Python!

Pada artikel ini kita akan membahas ncara membuat program sebuah game tebak kata dengan bahasa pemrograman Python. Game tebak kata mungkin sudah tidak asing untuk kalian yang memiliki smartphone Android yang bisa kalian unduh gamenya di Playstore.

Dengan tampilan mobile yang menarik, tentunya membuat kalian tertarik untuk memainkannya. Tapi, bagaimana jika kalian memainkan game tebak kata versi komputer yang dibuat oleh bahasa pemrograman Python?

Cara Membuat Game Tebak Kata Dengan Python

Belajar ngoding sambil belajar membuat program dan menghasilkan program yang bisa dipergunakan, Wah, tentunya sangat keren bukan?

Cara membuat program dengan bahasa Python tentunya akan sangat menarik, membuat aplikasi sederhana dengan Python akan membuat kita bisa sedikit mengenal bahasa pemrograman Python.

Karena bahasa Python ini merupakan bahasa yang paling sederhana dan juga termasuk bahasa yang paling populer di Indonesia.

Cara kerja game ini pun cukup mudah, kalian hanya perlu memasukan huruf per huruf untuk bisa menghasilkan sebuah kalimat yang tepat. Kalimat-kalimat tersebut tentunya sudah tersedia pada kodingan dibawah ini.

Saya menggunakan Python versi 3.7.2, kamu bisa mencobanya juga menggunakan Python versi lama.

Berikut adalah hasilnya :

Game Tebak Gambar Dengan Python

Berikut adalah kodingannya : 


import random


def acakkata():  # list kata
    katakata = ['mutlak',
                'benar',
                'terserap',
                'menonjolkan',
                'aktivis',
                'sebenarnya',
                'aktualitas',
                'remaja',
                'mempengaruhi',
                'terpengaruh',
                'udara',
                'waspada',
                'sepanjangwaktu',
                'mengalegorisasikan',
                'persekutuan',
                'aliansi',
                'kiasan',
                'sindiran',
                'baik',
                'samasekali',
                'memperkuat',
                'analisis',
                'semu',
                'tampaknya',
                'penampilan',
                'menangkap',
                'menilai',
                'penilaian',
                'anggapan',
                'astronomis',
                'sikap',
                'rata-rata',
                'sadar',
                'kesadaran',
                'bayi',
                'padadasarnya',
                'tongkat',
                'kepercayaan',
                'keyakinan',
                'besar',
                'darah',
                'berbasisluas',
                'tanpahenti',
                'pusat',
                'bersertifikat',
                'nyanyian',
                'klaim',
                'rahasia',
                'memikirkan',
                'tanggungjawab',
                'komentar',
                'komentator',
                'lengkap',
                'samasekali',
                'memahami',
                'terpadu',
                'curhat',
                'dugaan',
                'hatinurani',
                'kesadaran',
                'besar',
                'sangat']
    kataterpilih = random.choice(katakata)
    return kataterpilih


def cektebakan(parsekata, huruftebakan=None):  # cek apakan huruf ada di kata
    if huruftebakan in parsekata:
        return True
    else:
        return False


def hitunginput(huruftebakan):  # menghitung jumlah input tebakan
    count = 0
    for i in huruftebakan:
        count += 1
    return count


def progresskata(parsekata, progress, huruftebakan=None):  # fungsi tebak per 1 kata
    if progress == None:  # jika game baru di mulai progress masih * semua
        progress = []
        for i in parsekata:
            progress.append('*')

    for i in (i for i, x in enumerate(parsekata) if x == huruftebakan):
        progress[i] = str(huruftebakan)  # ubah * jd huruf

    return progress


def tebaklangsung(parsekata, huruftebakan):  # fungsi tebakan langsung
    kata = ''.join(parsekata)
    tebak = ''.join(huruftebakan)

    if kata == tebak:
        return True
    else:
        return False


def cekselesai(progress):  # cek progress kata yang di tebak
    ada = -1
    for i in (i for i, x in enumerate(progress) if x == '*'):
        ada = i

    if ada != -1:
        return True
    else:
        return False


def join(kata):  # menggabungkan isi list
    kata = ' '.join(kata)
    return kata


def sudahdipilih(baghuruf, pilihan):  # fungsi cek huruf pernah dipilih
    ada = -1
    for i in (i for i, x in enumerate(baghuruf) if x == pilihan):
        ada = i

    if ada != -1:
        return True
    else:
        return False


def main():
    kata = acakkata()
    parsekata = list(kata)
    panjangkata = len(parsekata)
    progress = None
    tertebak = False
    telahdipilih = []

    # print(parsekata)
    print('Selamat datang pada GAME TEBAK KATA.')

    langkah = 0
    while not tertebak:
        print('Kata berisi %d huruf, ' % panjangkata, end='')
        huruftebakan = input('silahkan tebak 1 huruf: ')

        jmltebakan = hitunginput(huruftebakan)
        if jmltebakan == 1:  # jika input hanya 1 huruf
            # S: cek huruf sudah pernah di pilih
            cektlhdipilih = sudahdipilih(telahdipilih, huruftebakan)
            if cektlhdipilih:
                print('Anda sudah menebak hurur %s sebelumnya.' % huruftebakan)
                print(join(progress))
                continue  # lansung langkah berikutnya
            else:
                telahdipilih.append(huruftebakan)
            # E: cek huruf sudah pernah di pilih

            # S: cek jika huruf tebakan ada dalam kata
            cekada = cektebakan(parsekata, huruftebakan)
            if cekada:
                progress = progresskata(parsekata, progress, huruftebakan)
                print(join(progress))
            else:
                print('Tidak mengandung huruf ', huruftebakan)
                print(join(progress))
            # E: cek jika huruf tebakan ada dalam kata

            # S: cek jika huruf sudah berhasil tertebak
            selesai = cekselesai(progress)
            if not selesai:
                print('Selamat Anda berhasil!!!')
                print('Kata ''%s'' tertebak dalam %d langkah.' % (join(parsekata), langkah))
                tertebak = True
            # E: cek jika huruf sudah berhasil tertebak
        else:  # jika input lebih dari 1 huruf
            if jmltebakan == 0:  # tidak ada input
                print('Tidak ada input, masukkna satu huruf.')
                print(join(progress))
            else:  # input lebih dari satu, tebakan langsung
                langsung = tebaklangsung(parsekata, huruftebakan)
                if langsung == True:  # jika tebakan langsung benar
                    print('Selamat tebakan langsung anda berhasil!!!')
                    print('Kata ''%s'' tertebak dalam %d langkah.' % (join(parsekata), langkah))
                    tertebak = True
                else:  # tebakan langsung salah
                    print('Tebakan langsung anda belum tepat.')
                    print(join(progress))
        langkah += 1


main()
Advertisement

Baca juga:

Your Reactions:

Admin
Fusce justo lacus, sagittis vel enim vitae, euismod adipiscing ligula. Maecenas cursus gravida quam a auctor. Etiam vestibulum nulla id diam consectetur condimentum.