简体   繁体   English

如何为刽子手游戏创建列表和测试

[英]how to create a list and test for a hangman game

So right now I'm creating a hangman game.所以现在我正在创建一个刽子手游戏。 I'm a beginner programmer and I'm kind of stuck right now.我是一个初学者程序员,我现在有点卡住了。

I need to create a list for the program to pick a word from and then use that word for the hangman game.我需要为程序创建一个列表,从中选择一个单词,然后将该单词用于刽子手游戏。 In addition I have to create a test to check if the player lost.此外,我必须创建一个测试来检查玩家是否输了。 Any help or advice would be greatly appreciated!任何帮助或建议将不胜感激!

def hangman(secretWord):
        lettersGuessed = []
        availableLetters = list("abcdefghijklmnopqrstuvwxyz")
        mistakes = 8
        while mistakes > 0:
            if wordFound(secretWord, lettersGuessed):
                print("You figured it out!")
                break
            print(displayWord(secretWord, lettersGuessed))
            print("Available letters:", " ".join(availableLetters))
            print("You have", mistakes, "mistakes left")
            guess = input("guess letter: ")
            if guess.lower() in availableLetters:
                availableLetters.remove(guess)
                lettersGuessed.append(guess)
                if guess in secretWord:
                    print("Good Guess!")
                else:
                    mistakes -= 1
                    print("Bad guess.")
            else:
                print("You already guessed that one")
        #Create a test to see if player lost.
        #print a message if the player lost.

    def displayWord(secretWord, lettersGuessed):
        word = []
        for i in secretWord:
            if i in lettersGuessed:
                word.append(i)
            else:
                word.append("_")
        return(" ".join(word))

    def wordFound(secretWord, lettersGuessed):
        for i in secretWord:
            if i not in lettersGuessed:
                return False
        return True

Do you try to create a list like:您是否尝试创建一个列表,例如:

list1 = ['word1', 'word2', 'word3', 'word4']

And then select random word:然后选择随机单词:

random.randint(1, 10)

Or read a txt with the words and then slecet a random word:或者读取带有单词的 txt,然后随机抽取一个单词:

# -*- coding: utf-8 -*-

import random

with open('somefile.txt', 'r') as f:
    list1 = [i.rstrip() for i in f.readlines()]

word = random.choice(list1)

default.txt:默认.txt:

worda
wordb
wordc
wordd

For the test, you can simply use mistakes variable:对于测试,您可以简单地使用错误变量:

if mistakes == 0:
    print("You lost, the word was {0}".format(secretWord))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM