Я хочу создать игру с угадыванием слов, где программа случайно выбирает слово из моего списка слов, и пользователь должен угадать слово.Случайное слово угадывание игры
- Пользователь может угадать только одну букву за раз.
- Пользователю разрешено иметь только 6 неудачных догадок. (Проиграет, когда используются 6 неудачных попыток).
- Пользователь выигрывает, если он угадывает полное слово до 6 неудачных попыток.
Так я столкнулся целый ряд проблем, связанные с моей программой:
- Как сделать угаданное письмо остановиться на бланках, когда он переходит к следующему раунду догадки?
- Если слово имеет две одинаковые буквы, как я могу отображать его на моих пробелах?
- Как показать все пропущенные письма пользователя для каждого раунда?
Вот что я сделал до сих пор:
import random
wordlist = ['giraffe','dolphin',\
'pineapple','durian',\
'blue','purple', \
'heart','rectangle']
#Obtain random word
randWord = random.choice(wordlist)
#Determine length of random word and display number of blanks
blanks = '_ ' * len(randWord)
print()
print ("Word: ",blanks)
#Set number of failed attempts
count = 6
#Obtain guess
while True:
print()
guess = input ("Please make a guess: ")
if len(guess) != 1:
print ("Please guess one letter at a time!")
elif guess not in 'abcdefghijklmnopqrstuvwxyz':
print ("Please only guess letters!")
#Check if guess is found in random word
for letters in randWord:
if guess == letters:
letterIndex = randWord.index(guess)
newBlanks = blanks[:letterIndex*2] + guess + blanks[letterIndex*2+1:]
print ("Guess is correct!")
else:
count -=1
print ("Guess is wrong! ", count, " more failed attempts allowed.")
print()
print("Word: ",newBlanks)
Результаты, которые я надеюсь получить (для randWord 'фиолетовый'):
Word: _ _ _ _ _ _
Missed:
Please make a guess: l
Guess is correct!
Word: _ _ _ _ l _
Missed:
Please make a guess: z
Guess is wrong! 5 more failed attempts allowed.
Word: _ _ _ _ l _
Missed: z
Please make a guess: o
Guess is wrong! 4 more failed attempts allowed.
Word: _ _ _ _ l _
Missed: z, o
Please make a guess: p
Guess is correct!
Word: p _ _ p l _
Missed: z, o
Please make a guess: e
Guess is correct!
Word: p _ _ p l e
Missed: z, o
Please make a guess: r
Guess is correct!
Word: p _ r p l e
Missed: z, o
Please make a guess: u
Guess is correct!
Word: p u r p l e
YOU WON!
Вы можете взглянуть на [этой] смежный вопрос (http://stackoverflow.com/q/15454035/1639625) –
@AlexisPigeon Whops, не видел этого. Но он не дважды публиковал ... он трижды выложил! Предложите закрыть другие вопросы без ответов. –
@tobias_k да, я перестал считать ... –