Game teks sederhana yang dapat Anda mainkan di baris perintah adalah proyek pemula yang bagus.
Apakah Anda ingin memainkan game yang Anda tulis sendiri? Nah, Anda berada di tempat yang tepat. Hangman adalah permainan tebak kata yang populer dan Anda dapat membuat versi Anda sendiri dengan sedikit usaha.
Game ini adalah penghibur yang sempurna, akrab dengan acara dan serial game TV populer seperti Wheel of Fortune, Letterbox, dan Party Time. Dan Python adalah bahasa yang mudah digunakan untuk membuat klon Hangman.
Cara Memainkan Game Hangman
Hangman adalah gim terkenal di mana satu pemain memikirkan sebuah kata dan pemain lain mencoba menebaknya dengan menyarankan huruf dengan jumlah tebakan yang tetap. Satu pemain (dalam hal ini program) menampilkan urutan tanda hubung yang mewakili setiap huruf dari kata tersebut, bersama dengan karakter sebagai titik awal. Pemain lain (atau pengguna) menebak karakter yang ada dalam kata tersebut, satu per satu.
Jika huruf yang mereka tebak ada di kata target, program akan mengisi tanda hubung dengan karakter tersebut. Jika tidak, pemain kehilangan satu kesempatan, dan program menggambar elemen figur tongkat sebagai penghitungan. Dalam total tujuh peluang, jika pengguna menebak kata dengan benar, mereka memenangkan permainan. Jika tidak, program menyelesaikan gambar manusia tongkatnya.
Anda dapat membuat daftar kata-kata favorit Anda atau mengunduh yang serupa Daftar Mieliestronk lebih dari 58.000 kata bahasa Inggris. Anda juga dapat menjelajahi dan membuat game berbasis teks menyenangkan lainnya seperti an permainan kuis interaktif atau a game petualangan berbasis teks dengan Python.
Cara Membuat Game Hangman
Kode sumber game Hangman ini, bersama dengan file daftar kata, ada di sini repositori GitHub dan bebas untuk digunakan.
Impor acak modul dan menentukan fungsi, get_random_word_from_wordlist(), untuk memilih kata acak dari file. File teks mungkin berisi kata benda umum, atau nama tempat, hewan, film, dan lainnya sesuai keinginan Anda. Tentukan daftar menggunakan tanda kurung siku-siku ([]).
Menggunakan dengan pernyataan untuk membuka file dan meneruskan mode sebagai 'R' menunjukkan mode read-only. Ini secara otomatis menangani penutupan file di akhir blok bahkan dalam kasus kesalahan. Jika Anda melihat hangman_wordlist.txt file, Anda akan melihat ada satu kata yang ada di setiap baris, sehingga file memisahkan setiap kata dengan karakter baris baru.
Lewati karakter pelarian untuk baris baru (\N) ke membelah() berfungsi untuk menyimpan setiap kata dalam daftar yang Anda tentukan sebelumnya. Menggunakan pilihan acak() untuk mengembalikan kata acak dari daftar.
import random
defget_random_word_from_wordlist():
wordlist = []
with open("hangman_wordlist.txt", 'r') as file:
wordlist = file.read().split("\n")
word = random.choice(wordlist)
return word
Selanjutnya tentukan fungsi get_some_letters(), yang menggunakan kata yang dipilih secara acak sebagai parameter. Fungsi ini akan menampilkan urutan tanda hubung kosong (_) dan beberapa surat kepada pengguna.
Tentukan daftar kosong huruf untuk menyimpan semua karakter yang ada dalam kata. Menggunakan suhu variabel untuk menyimpan string yang berisi jumlah tanda hubung kosong yang sama dengan panjang kata. Menggunakan daftar() untuk mengubah string menjadi daftar karakter dan mengulanginya. Menggunakan menambahkan() untuk menambahkan karakter ke daftar jika belum ada.
Menggunakan pilihan acak() untuk memilih karakter acak yang akan Anda tampilkan kepada pengguna bersama dengan tanda hubung kosong. Ulangi karakter kata menggunakan menghitung untuk melacak indeks setiap karakter.
Saat Anda menemukan karakter yang dipilih secara acak, ganti tanda hubung kosong dengannya. Menggunakan bergabung() untuk menyatukan daftar karakter menjadi string lengkap dan mengembalikannya.
defget_some_letters(word):
letters = []
temp = '_' * len(word)
for char in list(word):
ifchar not in letters:
letters.append(char)
character = random.choice(letters)
for num, char in enumerate(list(word)):
ifchar == character:
templist = list(temp)
templist[num] = char
temp = ''.join(templist)
return temp
Tentukan fungsi draw_hangman() yang mengambil jumlah peluang sebagai parameter. Fungsi ini memberikan sosok orang yang digantung. Karena jumlah peluang terus menurun, begitu pula peluang untuk bertahan hidup. Saat habis, angkanya selesai dan permainan selesai.
defdraw_hangman(chances):
if chances == 6:
print("________ ")
print("| | ")
print("| ")
print("| ")
print("| ")
print("| ")
elif chances == 5:
print("________ ")
print("| | ")
print("| 0 ")
print("| ")
print("| ")
print("| ")
elif chances == 4:
print("________ ")
print("| | ")
print("| 0 ")
print("| / ")
print("| ")
print("| ")
elif chances == 3:
print("________ ")
print("| | ")
print("| 0 ")
print("| /| ")
print("| ")
print("| ")
elif chances == 2:
print("________ ")
print("| | ")
print("| 0 ")
print("| /|\ ")
print("| ")
print("| ")
elif chances == 1:
print("________ ")
print("| | ")
print("| 0 ")
print("| /|\ ")
print("| / ")
print("| ")
elif chances == 0:
print("________ ")
print("| | ")
print("| 0 ")
print("| /|\ ")
print("| / \ ")
print("| ")
Mendeklarasikan fungsi, start_hangman_game(), yang mendefinisikan logika utama program. Dapatkan kata acak dengan memanggil get_random_word_from_wordlist() berfungsi dan dapatkan urutan untuk ditampilkan kepada pengguna menggunakan get_some_letters() fungsi.
Tetapkan jumlah peluang menjadi tujuh dan inisialisasi variabel, ditemukan, sebagai salah. Anda akan menyetel ini ke BENAR jika huruf yang ditebak ada dalam kata.
defstart_hangman_game():
word = get_random_word_from_wordlist()
temp = get_some_letters(word)
chances = 7
found = False
Mendeklarasikan loop yang berakhir saat pengguna menebak kata dengan benar atau kehabisan peluang. Mulailah permainan dengan menampilkan urutan, jumlah huruf dalam kata, dan peluang yang tersisa. Minta pengguna untuk menebak surat dan menerimanya menggunakan memasukkan() fungsi. Validasi input pengguna dengan memeriksa panjang karakter dan apakah itu alfabet.
whileTrue:
if chances == 0:
print(f"Sorry! You Lost, the word was: {word}")
print("Better luck next time")
break
print(" Guess the word ")
print(temp, end='')
print(f"\t(word has {len(word)} letters)")
print(f"Chances left: {chances}")
character = input("Enter the character you think the word may have: ")
iflen(character) > 1 ornotcharacter.isalpha():
print("Please enter a single alphabet only")
continue
Jika input valid, periksa apakah karakter ada di kata dan ganti menggunakan proses yang terlihat sebelumnya dan perbarui nilai yang ditemukan. Jika karakter tidak ada, kurangi jumlah peluang. Jika ada, ubah nilai yang ditemukan kembali ke nilai awal salah.
Jika tidak ada tanda hubung kosong yang tersisa, tampilkan bahwa pengguna menang bersama dengan jumlah tebakan yang dilakukan jika tidak, tampilkan grafik algojo sesuai dengan jumlah peluang yang tersisa.
else:
for num, char in enumerate(list(word)):
ifchar == character:
templist = list(temp)
templist[num] = char
temp = ''.join(templist)
found = True
if found:
found = False
else:
chances -= 1
if'_' not in temp:
print(f"\nYou Won! The word was: {word}")
print(f"You got it in {7 - chances} guess")
break
else:
draw_hangman(chances)
print()
Tentukan fungsi untuk memainkan game Hangman. Jika pengguna memasukkan ya, panggil start_hangman_game() berfungsi jika tidak keluar dari game dengan pesan yang sesuai. Jika masukan tidak valid, minta pengguna untuk masuk lagi.
print(" Welcome to the Hangman Game ")
whileTrue:
choice = input("Do you wanna play hangman? (yes/no): ")
if'yes'in choice.lower():
start_hangman_game()
elif'no'in choice.lower():
print('Quitting the game...')
break
else:
print("Please enter a valid choice.")
print("\n")
Output dari Game Hangman
Anda akan melihat output berikut jika Anda memenangkan permainan:
Anda akan melihat keluaran berikut jika Anda kalah dalam permainan:
Gunakan Python untuk Membuat Game
Anda dapat menggunakan Python untuk membuat game baris perintah serta game grafis. Beberapa game baris perintah menarik yang dapat Anda buat menggunakan Python termasuk game tebak angka, game Magic 8 Ball, Mad Libs, Rock/Paper/Scissors, dan game petualangan teks.
Beberapa game grafis menyenangkan yang mungkin Anda buat dengan python termasuk Tic Tac Toe, Maze, Snake, Pacman, Memory, Life. Bagian terbaik dari game ini adalah Anda dapat membuatnya hanya dengan Python Standard Library.