def possibleid(a): mv = [] if type(a) == str: mv = convert_class_to_letters.convert_back_letter_to_classes(a) else: mv = a for gameid in range(25): gamedata = data.datas[gameid] bm = data_structures.BoardManager(handlejson.parse_to_dictionary(gamedata)) for seedid in range(len(bm.queued_units)): score = bm.calc_board_state(bm.get_initial_board(seedid),mv).move_score if score >= 0: #print gameid,seedid return (gameid,seedid) return None
def firstpart(inputstring): inputstring_mv = convert_class_to_letters.convert_back_letter_to_classes(inputstring) a = check_word.possibleid(inputstring_mv) if a == None: return None g,s = a bm = data_structures.BoardManager(handlejson.parse_to_dictionary(data.datas[g])) score = bm.calc_board_state(bm.get_initial_board(s),inputstring_mv).move_score if score <0: return None handlejson.send_response(g,[allseeds[g][s]],inputstring,'qwe') return (g,s,inputstring,score)
import data_structures import data import handlejson import itertools import convert_class_to_letters pop=['ei!', 'yuggoth', 'tsathoggua', 'necronomicon', 'ia! ia!', "r'lyeh"] pop_mov=[ convert_class_to_letters.convert_back_letter_to_classes(i) for i in pop ] #print pop, pop_mov for nr in range(1,6): print nr #allmoves = list(itertools.product(pop,repeat=2)) #nr=6 allmoves = list(itertools.permutations(range(len(pop)),nr)) #print allmoves bestmoves=[] for gameid in range(25): gamedata = data.datas[gameid] bm = data_structures.BoardManager(handlejson.parse_to_dictionary(gamedata)) for seedid in range(len(bm.queued_units)): for currentmove in allmoves: testmove = [ b for a in currentmove for b in pop_mov[a] ] score = bm.calc_board_state(bm.get_initial_board(seedid),testmove).move_score if score >= 0: