Я пытаюсь создать игру для поиска слов, и у меня возникли некоторые проблемы. Ключевой особенностью программы является то, что мне нужно использовать слова, которые были найдены. Мне предоставляется список всех возможных ответов, поэтому я не обязательно проверяю сетку на наличие слов, тем не менее, мне все еще нужно иметь возможность найти их, чтобы я мог заглавными буквами. Слова могут быть ориентированы по горизонтали, вертикали и диагонали (как вперед, так и назад). Мне также нужно проверить победителя и перечислить слова, найденные каждым игроком.
Какая простая функция поможет мне найти предложенные слова и обновить их на доске, чтобы они стали заглавными? Это должно быть применимо во всех 8 возможных ориентациях (горизонтальной, вертикальной, диагональной и их разворотах)
Пример:
d q g
e o f
g g g
После того, как «собака» угадана, мне нужно матрицу на дисплей:
D q g
e O f
g g G
Ниже приведен базовый c пример программы:
import os, random
board = [['l', 'y', 'n', 'e', 't', 'w'], ['n', 'l', 'a', 'i', 'f', 'o'], ['a', 'l', 'l', 'd', 'h', 'r'], ['e', 'a', 't', 'a', 'o', 'g'], ['l', 'f', 'e', 'w', 'f', 't'], ['c', 'r', 'd', 'r', 'a', 'w']]
answers = ['clean', 'draw', 'fall', 'grow', 'ten', 'today', 'eat', 'hear']
guessed = []
NUM_ROWS = 6
NUM_COLS = 6
NUM_PLAYERS = 2
def printBoard():
os.system("clear")
for row in range(NUM_ROWS):
for col in range(NUM_ROWS):
print(str(board[row][col]), end=" ")
print()
def capital(word):
#Help needed here
def checkEnd():
if answers != []:
return True
else:
return False
turn = random.randint(0,int(NUM_PLAYERS)-1) #Random First Turn
while checkEnd():
printBoard()
turn = (turn + 1) % int(NUM_PLAYERS)
guess = input("Player " + str(turn) + ", please enter a word: ")
if guess.islower() and len(guess) >=3:
if guess in answers:
print(guess, ' found!')
index = answers.index(guess)
answers.pop(index)
guessed.append(guess)
#Capitalize Function
elif guess in guessed:
print(guess, ' has already been guessed. Next player')
else:
print(guess, ' word is not found. Next player')
else:
print(guess, ' is an invalid entry. Next player')
printBoard()
print("Game Over!")
#Check for winner
Дайте мне знать, если что-то не понятно. Заранее спасибо.