猜词游戏

这是一个用Python编写的猜词游戏,包含单词列表、猜测次数限制和字母猜测处理等功能。玩家需要在限定次数内猜出随机选择的单词,游戏结束后会显示正确答案。

猜词游戏

import random

words = ['chicken', 'dog', 'cat', 'mouse', 'frog']
guessTimes = 14
guessLetters = ""


def pickWord():
    return random.choice(words)

def play():
    word = pickWord()

    while True:
        guess = getGuess(word)

        if processGuess(guess, word):
            print('You win!')
            break
        if guessTimes == 0:
            print('Game over!')
            print('The word was: ' + word)
            break

def getGuess(word):
    printWordWithBlanks(word)
    print('Guess Times Remaining: ' + str(guessTimes))
    guess = input('Guess a letter?')
    return guess

def processGuess(guess, word):
    global guessTimes
    global guessLetters

    guessTimes = guessTimes - 1
    guessLetters = guessLetters + guess

    for letter in word:
        if guessLetters.find(letter) == -1:
            return False

    return True

def printWordWithBlanks(word):
    displayWord = ""
    for letter in word:
        if guessLetters.find(letter) > -1:
            #letter found
            displayWord = displayWord + letter
        else:
            #letter not found
            displayWord = displayWord + '-'

    print(displayWord)

play()
Python实现Hangman游戏是一个经典的编程练习。这是一个互动游戏,玩家需在有限回合内出计算机随机选择的单。 要实现该游戏,需要一个包含单列表的`words.txt`文件,计算机从中随机选一个单游戏开始时,告知用户单的字母数量,用户每轮一个字母(A - Z),并立即得到测是否正确的反馈。若对,字母会显示在正确位置;若错,测次数减1。每轮结束后,显示部分出的单和未到的字母,同时提醒剩余测次数。游戏在玩家出完整单或用完测次数时结束。若玩家输了,需显示正确单。此外,若玩家两次相同字母,会收到提示并被要求重新测。 以下是一个简单的Python代码示例: ```python import random # 加载单列表 def load_words(): with open("words.txt", 'r') as f: line = f.readline() wordlist = line.split() return wordlist # 选择随机单 def choose_word(wordlist): return random.choice(wordlist) # 显示当前测进度 def get_guessed_word(secret_word, letters_guessed): result = "" for letter in secret_word: if letter in letters_guessed: result += letter else: result += "_ " return result # 显示未测的字母 def get_available_letters(letters_guessed): import string all_letters = string.ascii_lowercase result = "" for letter in all_letters: if letter not in letters_guessed: result += letter return result # 主游戏函数 def hangman(secret_word): guesses_remaining = 8 letters_guessed = [] print("欢迎来到Hangman游戏!") print(f"我选择的单包含 {len(secret_word)} 个字母。") while guesses_remaining > 0: print(f"你还剩下 {guesses_remaining} 次测机会。") print("未测的字母:", get_available_letters(letters_guessed)) guess = input("请输入一个字母: ").lower() if guess in letters_guessed: print("你已经过这个字母了,请再试一次。") continue letters_guessed.append(guess) if guess in secret_word: print("对了!") else: print("错了!") guesses_remaining -= 1 print("目前测的进度:", get_guessed_word(secret_word, letters_guessed)) if "_" not in get_guessed_word(secret_word, letters_guessed): print("恭喜你,你对了整个单!") return print(f"很遗憾,你输了。正确的单是 {secret_word}。") # 运行游戏 if __name__ == "__main__": wordlist = load_words() secret_word = choose_word(wordlist) hangman(secret_word) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值