Farih.co.id
Home Programming Cara Membuat Game Batu, Kertas, Gunting Menggunakan Python

Cara Membuat Game Batu, Kertas, Gunting Menggunakan Python

Person with scissors hand gesture

Membuat game “Rock, Paper, Scissors” dengan Python adalah cara yang bagus untuk meningkatkan keterampilan pemrograman Anda. Anda dapat membuat game dengan satu skrip Python, dan memainkannya di baris perintah.


Permainan dimulai dengan menanyakan pilihan pemain: “batu”, “kertas”, atau “gunting”. Kemudian menunggu mereka untuk memasukkan tanggapan mereka. Anda dapat memainkan game melawan pemain “komputer”, yang secara otomatis akan memilih langkahnya.

Gim ini juga dapat mencakup banyak putaran. Jadi, meskipun Anda kalah di babak pertama, Anda masih bisa mencoba memenangkan dua dari tiga!


Cara Mengatur Game dan Meminta Gerakan Pemain

Saat permainan dimulai, program Python harus meminta pemain untuk memasukkan “batu”, “kertas”, atau “gunting”, dan menerima tanggapan pemain. Untuk menyiapkan game baru, mulailah dengan membuat file Python baru dengan ekstensi .py.

  1. Buat file baru bernama RockPaperScissors.py.
  2. Buka file Python baru menggunakan editor teks apa saja, seperti Notepad++ atau Visual Studio Code.
  3. Di bagian atas file, impor modul acak. Anda akan menggunakan ini nanti dalam permainan untuk memilih gerakan secara acak untuk giliran komputer.
     import random 
  4. Sajikan pesan kepada pemain, minta mereka memasukkan batu, kertas, atau gunting.
     userChoice = input("Rock, paper, or scissors? ").lower() 
  5. Inisialisasi larik yang disebut “moveOptions” yang menyimpan daftar gerakan yang tersedia yang dapat dimainkan oleh Anda atau komputer.
     moveOptions = ['rock', 'paper', 'scissors'] 
  6. Saat pemain memasukkan input, validasikan untuk memastikan itu adalah salah satu gerakan yang tersedia. Setelah pemain memasukkan langkah yang valid, cetak pesan konfirmasi.
     while (userChoice not in moveOptions):
        userChoice = input("Invalid choice. Must be rock, paper, or scissors: ").lower()

    print("")
    print(f"You chose {userChoice}.")

Cara Bergiliran Dengan Komputer dan Membandingkan Gerakan

Setelah Anda memasukkan langkah Anda, komputer akan mengambil giliran dengan memilih “batu”, “kertas”, atau “gunting” secara acak. Gim kemudian harus membandingkan langkah Anda dengan langkah komputer untuk menentukan siapa yang menang.

  1. Gunakan modul acak untuk membuat komputer memilih secara acak dari daftar gerakan yang tersedia.
     computerChoice = random.choice(moveOptions)
    print(f"The computer chose {computerChoice}.")
  2. Anda harus membandingkan langkah Anda dengan langkah komputer untuk menentukan siapa yang menang. Anda dapat melakukannya dengan membuat kamus baru. Kamus ini berisi setiap gerakan (misalnya, “batu”), dan gerakan apa yang menang atau kalah (misalnya, “batu” mengalahkan “gunting” dan kalah dari “kertas”).
     moves = {
        'rock': { 'beats': 'scissors', 'losesTo': 'paper' },
        'scissors': { 'beats': 'paper', 'losesTo': 'rock' },
        'paper': { 'beats': 'rock', 'losesTo': 'scissors' },
    }
  3. Gunakan pernyataan Python if untuk memeriksa apakah langkah Anda dan langkah komputer menghasilkan seri. Jika tidak, gunakan kamus gerakan untuk membandingkan gerakan pemain dengan gerakan komputer.
     if userChoice == computerChoice:
        print(f"Both you and the computer chose {userChoice}. It's a tie!")
    else:
        if (moves[userChoice]['beats'] == computerChoice):
            print(f"{userChoice} beats {computerChoice}. You win!")

        if (moves[userChoice]['losesTo'] == computerChoice):
            print(f"{userChoice} loses to {computerChoice}. The computer wins!")

    Sebagai contoh, jika Anda memilih “batu”, maka nilai bergerak[userChoice][‘beats’] akan menjadi “gunting”. Jika pilihan komputer adalah “gunting”, itu berarti langkah Anda mengalahkan langkah mereka.

Cara Menjaga Skor Antara Pemain dan Komputer Antara Beberapa Putaran

Anda juga dapat menambahkan putaran tambahan, di mana Anda dan komputer masing-masing melakukan tiga putaran.

Setelah Anda dan komputer memilih batu, kertas, atau gunting, permainan akan menanyakan Anda lagi, dan melacak skor Anda. Skor untuk pemain meningkat berdasarkan siapa yang memenangkan babak tersebut.

  1. Kode saat ini mewakili satu putaran putaran yang dilakukan oleh pemain dan komputer. Tambahkan semua kode saat ini kecuali pernyataan impor di dalam fungsi turn() baru. Anda juga dapat mengubah pesan keluaran yang sesuai, untuk mengatakan “Anda memenangkan putaran ini” daripada “Anda menang”:
     def turn():
        userChoice = input("Rock, paper, or scissors? ").lower()

        moveOptions = ['rock', 'paper', 'scissors']

        while (userChoice not in moveOptions):
            userChoice = input("Invalid choice. Must be rock, paper, or scissors: ").lower()

        print("")
        print(f"You chose {userChoice}.")

        computerChoice = random.choice(moveOptions)
        print(f"The computer chose {computerChoice}.")

        moves = {
        'rock': { 'beats': 'scissors', 'losesTo': 'paper' },
        'scissors': { 'beats': 'paper', 'losesTo': 'rock' },
        'paper': { 'beats': 'rock', 'losesTo': 'scissors' },
        }

        if userChoice == computerChoice:
            print(f"Both you and the computer chose {userChoice}. It's a tie!")
        else:
            if (moves[userChoice]['beats'] == computerChoice):
                print(f"{userChoice} beats {computerChoice}. You win this round!")

            if (moves[userChoice]['losesTo'] == computerChoice):
                print(f"{userChoice} loses to {computerChoice}. The computer wins!")

  2. Pemain dan komputer masing-masing mengambil tiga putaran. Tambahkan variabel global yang disebut “putaran” di bagian atas file.
     turns = 3 
  3. Setelah fungsi turn() , gunakan loop Python for untuk mengulang putaran tiga kali. Di awal setiap putaran, cetak angka putaran. Panggil fungsi turn() untuk meminta pemain dan komputer melakukan gerakan mereka untuk ronde tersebut.
     for i in range(turns):
        print("")
        print(f"--- Round {i+1}: ---")
        turn()
  4. Untuk melacak siapa yang memenangkan setiap putaran, tambahkan variabel skor untuk setiap pemain, di bagian atas file. Anda akan menetapkan nilai ke variabel-variabel ini di dalam fungsi turn(), jadi pastikan untuk menggunakannya sebagai variabel global.
     computerScore = 0
    playerScore = 0

    def turn():
        global computerScore, playerScore

  5. Di dalam fungsi turn(), setelah pemain dan komputer bergerak, tambahkan satu poin ke skor pemenang. Ubah pernyataan if untuk menaikkan nilai variabel “playerScore” atau “computerScore”.
     if (moves[userChoice]['beats'] == computerChoice):
        print(f"{userChoice} beats {computerChoice}. You win this round!")
        playerScore += 1

    if (moves[userChoice]['losesTo'] == computerChoice):
        print(f"{userChoice} loses to {computerChoice}. The computer wins!")
        computerScore += 1

  6. Di akhir fungsi turn(), cetak pembaruan skor total untuk setiap pemain.
     
    print("")
    print(f"SCOREBOARD | Player's score: {playerScore} | Computer's score: {computerScore}")
  7. Di akhir permainan, dan setelah perulangan for yang mengulang giliran pemain dan komputer, cetak pemenang terakhir.
     print("")

    if (computerScore > playerScore):
        print(f"The computer wins with {computerScore} points!")
    elif (playerScore > computerScore):
        print(f"You win with {playerScore} points!")
    else:
        print(f"It's a tie! You both win with {playerScore} points!")

Cara Menjalankan Game

Untuk memainkan game, jalankan skrip Python menggunakan terminal atau command prompt. Masukkan langkah Anda dan tunggu komputer membuat langkah mereka. Setelah Anda menyelesaikan tiga putaran, program akan menampilkan pemenangnya.

  1. Buka prompt perintah atau terminal, dan arahkan ke folder tempat Anda menyimpan file Python.
  2. Gunakan perintah python untuk menjalankan skrip:
     python RockPaperScissors.py 
    Intro game Rock Paper Scissors di baris perintah
  3. Mainkan permainan dengan memasukkan ‘batu’, ‘kertas’, atau ‘gunting’.
    Gameplay Rock Paper Scissors di baris perintah

Pelajari Python dengan Membuat Game

Membuat game sederhana seperti game “Rock, Paper, Scissors” adalah cara yang bagus untuk lebih mengenal konsep pemrograman. Ada begitu banyak game seru lainnya yang bisa kamu buat menggunakan Python, seperti game petualangan berbasis teks.

Comment
Share:

Leave a Reply

Your email address will not be published. Required fields are marked *

Ad