Python Boggle Game Simulator - PullRequest
       39

Python Boggle Game Simulator

0 голосов
/ 01 октября 2019

Я впервые посещаю урок по питону в школе. Я пытаюсь создать симулятор изумительной игры.

  1. 16 кубиков (описанных на следующей странице) «катятся» и размещаются случайным образом на сетке 4x4.
  2. Игрокначинает набирать слова, которые появляются в сетке. Игрок должен искать слова, которые можно составить из букв последовательно смежных кубов
    • Слово не должно быть уже забито.
    • Оно должно содержать не менее трех букв.
    • Это должно быть слово на английском языке.
    • Оно должно присутствовать в сетке кубиков 4x4.
    • Он не может использовать один и тот же куб букв более одного раза в слове. Пользовательские записи не должны быть чувствительными к регистру. Игрок должен получить приглашение завершить эту фазу, введя букву «X».
  3. Когда игрок решит выйти, игроку будет представлен его окончательный счет. Игрок может получить очки за слово только в том случае, если он отвечает указанным выше требованиям. Программа должна распечатать, сколько очков игрок получил за каждое слово, и если слово не было включено, программа должна напечатать причину. Наконец, программа должна распечатать общий балл.

Вот что я получил до сих пор:

#Make the randomized board 

import numpy as np 
import random
dice = (          
('A', 'E', 'A', 'N', 'E', 'G'),
('A', 'H', 'S', 'P', 'C', 'O'),
('A', 'S', 'P', 'F', 'F', 'K'),
('O', 'B', 'J', 'O', 'A', 'B'),
('I', 'O', 'T', 'M', 'U', 'C'),
('R', 'Y', 'V', 'D', 'E', 'L'),
('L', 'R', 'E', 'I', 'X', 'D'),
('E', 'I', 'U', 'N', 'E', 'S'),
('W', 'N', 'G', 'E', 'E', 'H'),
('L', 'N', 'H', 'N', 'R', 'Z'),
('T', 'S', 'T', 'I', 'Y', 'D'),
('O', 'W', 'T', 'O', 'A', 'T'),
('E', 'R', 'T', 'T', 'Y', 'L'),
('T', 'O', 'E', 'S', 'S', 'I'),
('T', 'E', 'R', 'W', 'H', 'V'),
('N', 'U', 'I', 'H', 'M', 'Qu'))


board=[]
for i in dice:
    roll_choice = random.choice(i)
    board.append(roll_choice)

random.shuffle(board)
board = np.array(board)
board = board.reshape(4,4)
print(board)

print(“Start typing your words! (Press enter after each word and enter ‘X’ when done)) 

#set list of words 
allwords = [] 

while True:  
    aword = input() 
    if aword == "X":
        print("Word Score Summary")  
        break
    else:   
        allwords.append(aword)

#download the dictionary
import nltk
nltk.download('words')

#check words
from nltk.corpus import words
"hello" in set(words.words())

Я борюсь со следующими требованиями: - Слово, должно быть, еще не было забито. - Должно быть не менее трех букв. - Он не может использовать один и тот же куб букв более одного раза в слове.

Любая помощь будет принята с благодарностью !!

...