- 31 Mar 2023
- 79
- 38
HANGMAN
Deneme amaçlı oldugu icin sadece a harfi ile başlayan kelimeleri kullandim.
Python:
import random
import urllib.request
HANGMAN = (
"""
+-----+
|
|
|
|
|
=========
""",
"""
+-----+
| |
|
|
|
|
=========
""",
"""
+-----+
| |
O |
|
|
|
=========
""",
"""
+-----+
| |
O |
| |
|
|
=========
""",
"""
+-----+
| |
O |
/| |
|
|
=========
""",
"""
+-----+
| |
O |
/|\ |
|
|
=========
""",
"""
+-----+
| |
O |
/|\ |
/ |
|
=========
""",
"""
+-----+
| |
O |
/|\ |
/ \ |
|
=========
"""
)
# Get the word list from the internet and add the words to the list
def get_word_list(url):
response = urllib.request.urlopen(url)
data = response.read().decode('utf-8')
return data.splitlines()
# Choose a word at random
def select_word(word_list):
return random.choice(word_list)
# Guess the word
def guess_word(word, correct_guesses, wrong_guesses):
for letter in word:
if letter in correct_guesses:
print(letter, end=" ")
else:
print("_", end=" ")
print()
guess = input("Bir harf tahmin edin: ").lower()
if guess in word:
correct_guesses.add(guess)
print("Tebrikler, doğru harf!")
return True
else:
wrong_guesses.add(guess)
print("Maalesef yanlış. Tekrar deneyin.")
return False
# Play game
def play_game(word):
correct_guesses = set()
wrong_guesses = set()
missed_guesses = 0
while missed_guesses < len(HANGMAN) - 1:
print(HANGMAN[missed_guesses])
print(f"Doğru tahminler: {' '.join(sorted(correct_guesses))}")
print(f"Yanlış tahminler: {' '.join(sorted(wrong_guesses))}")
if not (guess_word(word, correct_guesses, wrong_guesses)):
missed_guesses += 1
if len(correct_guesses) == len(set(word)):
print(f"Tebrikler, kelimeyi buldunuz! Kelime: {word}")
return
print(HANGMAN[missed_guesses])
print(f"Maalesef kaybettiniz. Doğru kelime: {word}")
def main():
url = "https://raw.githubusercontent.com/ekartal/turkce-kelime-database/master/A.txt"
word_list = get_word_list(url)
word = select_word(word_list)
play_game(word)
if __name__ == "__main__":
main()
Deneme amaçlı oldugu icin sadece a harfi ile başlayan kelimeleri kullandim.