Esempio n. 1
0
 def init_game(self):
     self.game = get_day_game()
     self.letters = get_letters(16, random_seed=self.game)
     self.act_letters = [False for _ in range(16)]
     self.last_pos = None
     self.played = False
     self.state = State.PLAY
     game = storage.get_value("game")
     if game == self.game: # Game in progress
         self.score = storage.get_value("score")
         self.countdown = storage.get_value("countdown")
         self.guesses = storage.get_guesses()
         self.word_counts = storage.get_word_counts()
         self.area_content = storage.get_area()
     else: # A new game
         self.score = 0
         storage.set_value("score", self.score)
         self.countdown = 180
         storage.set_value("countdown", self.countdown)
         self.guesses = []
         storage.set_guesses(self.guesses)
         self.word_counts = [0 for i in range(6)]
         storage.set_word_counts(self.word_counts)
         self.area_content = ""
         storage.set_value("area", self.area_content)
Esempio n. 2
0
    def runModel(self):
        self.text = ""
        letters, _ = get_letters(get_processed_image(self.image))
        for letter in letters:

            self.text += get_char(self.model.predict(letter).argmax())
        print(self.text)
 def _fill_word_in_matrix(self,
                          word,
                          orientation=ACROSS,
                          start_elem=(0, 0)):
     i, j = start_elem
     self.filled_pos[word] = {
         'position': (i, j),
         'orientation': orientation
     }
     if orientation == ACROSS:
         for l in get_letters(word, self.lang):
             self.puzzle_matrix[i][j] = l
             j += 1
     else:
         for l in get_letters(word, self.lang):
             self.puzzle_matrix[i][j] = l
             i += 1
Esempio n. 4
0
 def do_POST(self):
     data = self.rfile.read(int(self.headers['content-length']))
     image = cv2.imdecode(numpy.fromstring(data, numpy.uint8), cv2.IMREAD_UNCHANGED)
     letter, image = get_letters(image)
     word = get_word(letter)
     self.send_response(200)
     self.end_headers()
     self.wfile.write(json.dumps({'label': word}).encode())
     return
Esempio n. 5
0
    def init_game(self):
        self.game = get_day_game()
        self.letters = get_letters(16, random_seed=self.game)
        self.act_letters = [False for _ in range(16)]
        self.last_pos = None
        self.played = False
        self.state = State.PLAY

        self.score = 0
        storage.set_value("score", self.score)
        self.countdown = 300
        storage.set_value("countdown", self.countdown)
        self.guesses = []
        storage.set_guesses(self.guesses)
        self.word_counts = [0 for i in range(6)]
        storage.set_word_counts(self.word_counts)
        self.area_content = ""
        storage.set_value("area", self.area_content)
    def _check_overlap(self, word, orientation, x, y):
        i, j = x, y
        next_pos = calculate_next_pos[orientation](i, j,
                                                   length(word, self.lang))
        for a in get_letters(word, self.lang):
            try:
                (i, j) = next(next_pos)
                print("i={} j={}".format(i, j))
            except StopIteration as e:
                print("stop iteration received after will fit word={} i, j={}".
                      format(word, (i, j)))

            if self.puzzle_matrix[i][j] != " ":
                if self.puzzle_matrix[i][j] == a:
                    continue
                else:
                    print("Overlap of letter {} with {} at {}".format(
                        a, self.puzzle_matrix[i][j], (i, j)))
                    return True
        return False
Esempio n. 7
0
from ortools.sat.python import cp_model
from country_printer import CountriesPartialSolutionPrinter
import utils

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--input_file", type=str, help="Countries input file", required=True)
parser.add_argument("--output_file", type=str, help="Optional output file to write solution to (.txt)")
parser.add_argument("--num_solutions", type=int, help="Maximum number of solutions to print, if 0, print all", default = 5)

args = parser.parse_args()

letters = utils.get_letters()
countries = utils.load_countries_file(args.input_file)

def get_all_countries(countries):
    return list(countries.keys())

def get_all_cities(countries):
    all_cities = []
    for country in countries.keys():
        all_cities.extend(countries.get(country))
    return all_cities

def create_country_variables(countries):
    place_country = {}
    place_letter = {}
    all_countries = get_all_countries(countries)
    for co in all_countries:
        # Get the first letter of the country
        country_letter = co[0].lower()