Поиск слова; Обновление платы - Python - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь создать игру для поиска слов, и у меня возникли некоторые проблемы. Ключевой особенностью программы является то, что мне нужно использовать слова, которые были найдены. Мне предоставляется список всех возможных ответов, поэтому я не обязательно проверяю сетку на наличие слов, тем не менее, мне все еще нужно иметь возможность найти их, чтобы я мог заглавными буквами. Слова могут быть ориентированы по горизонтали, вертикали и диагонали (как вперед, так и назад). Мне также нужно проверить победителя и перечислить слова, найденные каждым игроком.

Какая простая функция поможет мне найти предложенные слова и обновить их на доске, чтобы они стали заглавными? Это должно быть применимо во всех 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

Дайте мне знать, если что-то не понятно. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...