Tutorial game sederhana ini akan membantu Anda mempraktikkan dasar-dasar pemrograman Python.

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.

Kode lengkap untuk tutorial ini tersedia di repositori GitHub.

instagram viewer
  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.
    impor acak
  4. Sajikan pesan kepada pemain, minta mereka memasukkan batu, kertas, atau gunting.
    pilihanpengguna = masukan("Batu, kertas, atau gunting? ").lebih rendah()
  5. Inisialisasi larik yang disebut "moveOptions" yang menyimpan daftar gerakan yang tersedia yang dapat dimainkan oleh Anda atau komputer.
    moveOptions = ['batu', 'kertas', 'gunting']
  6. Saat pemain memasukkan input, validasikan untuk memastikan itu adalah salah satu gerakan yang tersedia. Setelah pemain memasukkan langkah yang valid, cetak pesan konfirmasi.
    ketika (Pilihan pengguna tidak di dalam moveOptions):
    pilihanpengguna = masukan("Pilihan tidak sah. Pasti batu, kertas, atau gunting: ").lebih rendah()

    mencetak("")
    mencetak(f"Kamu memilih {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)
    mencetak(f"Komputer memilih {pilihankomputer}.")
  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").
    bergerak = {
    'batu': { 'ketukan': 'gunting', 'kalah Untuk': 'kertas' },
    'gunting': { 'ketukan': 'kertas', 'kalah Untuk': 'batu' },
    'kertas': { 'ketukan': 'batu', 'kalah Untuk': 'gunting' },
    }
  3. Gunakan pernyataan if Python untuk memeriksa apakah langkah Anda dan langkah komputer menghasilkan seri. Jika tidak, gunakan kamus gerakan untuk membandingkan gerakan pemain dengan gerakan komputer.
    jika userChoice == computerChoice:
    mencetak(f"Anda dan komputer memilih {userChoice}. Ini seri!")
    kalau tidak:
    jika (bergerak[pilihanpengguna]['ketukan'] == pilihan komputer):
    mencetak(F"{userChoice} ketukan {pilihankomputer}. Kamu menang!")

    jika (bergerak[pilihanpengguna]['kalah Untuk'] == pilihan komputer):
    mencetak(F"{userChoice} kalah dari {pilihankomputer}. Komputer menang!")
    Sebagai contoh, jika Anda memilih "rock", maka nilai gerakan[userChoice]['beats'] akan menjadi "scissors". 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":
    defberbelok():
    pilihanpengguna = masukan("Batu, kertas, atau gunting? ").lebih rendah()

    moveOptions = ['batu', 'kertas', 'gunting']

    ketika (Pilihan pengguna tidak di dalam moveOptions):
    pilihanpengguna = masukan("Pilihan tidak sah. Pasti batu, kertas, atau gunting: ").lebih rendah()

    mencetak("")
    mencetak(f"Kamu memilih {userChoice}.")

    computerChoice = random.choice (moveOptions)
    mencetak(f"Komputer memilih {pilihankomputer}.")

    bergerak = {
    'batu': { 'ketukan': 'gunting', 'kalah Untuk': 'kertas' },
    'gunting': { 'ketukan': 'kertas', 'kalah Untuk': 'batu' },
    'kertas': { 'ketukan': 'batu', 'kalah Untuk': 'gunting' },
    }

    jika userChoice == computerChoice:
    mencetak(f"Anda dan komputer memilih {userChoice}. Ini seri!")
    kalau tidak:
    jika (bergerak[pilihanpengguna]['ketukan'] == pilihan komputer):
    mencetak(F"{userChoice} ketukan {pilihankomputer}. Kamu memenangkan ronde ini!")

    jika (bergerak[pilihanpengguna]['kalah Untuk'] == pilihan komputer):
    mencetak(F"{userChoice} kalah dari {pilihankomputer}. Komputer menang!")

  2. Pemain dan komputer masing-masing mengambil tiga putaran. Tambahkan variabel global yang disebut "putaran" di bagian atas file.
    belokan = 3
  3. Setelah fungsi turn(), menggunakan Python untuk loop 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.
    untuk saya dalam jangkauan (belokan):
    mencetak("")
    mencetak(f" Bulat {i+1}: ")
    berbelok()
  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.
    skor komputer = 0
    skor pemain = 0

    defberbelok():
    global skor komputer, skor pemain

  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".
    jika (bergerak[pilihanpengguna]['ketukan'] == pilihan komputer):
    mencetak(F"{userChoice} ketukan {pilihankomputer}. Kamu memenangkan ronde ini!")
    skor pemain += 1

    jika (bergerak[pilihanpengguna]['kalah Untuk'] == pilihan komputer):
    mencetak(F"{userChoice} kalah dari {pilihankomputer}. Komputer menang!")
    skor komputer += 1

  6. Di akhir fungsi turn(), cetak pembaruan skor total untuk setiap pemain.
    # Cetak pembaruan skor total setelah putaran
    mencetak("")
    mencetak(f"SCOREBOARD | Skor pemain: {playerScore} | Skor komputer: {computerScore}")
  7. Di akhir permainan, dan setelah perulangan for yang mengulang giliran pemain dan komputer, cetak pemenang terakhir.
    mencetak("")

    jika (Skor komputer > Skor pemain):
    mencetak(f"Komputer menang dengan {computerScore} poin!")
    elif (playerScore > computerScore):
    mencetak(f"Anda menang dengan {playerScore} poin!")
    kalau tidak:
    mencetak(f"Ini seri! Anda berdua menang dengan {playerScore} poin!")

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:
    pythonBatu gunting kertas.py
  3. Mainkan permainan dengan memasukkan 'batu', 'kertas', atau 'gunting'.

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.