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)
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
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
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
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()