Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
def main():
    print "ICFP 2015"

    map_number = 0

    if not os.path.exists('Movements'):
        os.makedirs('Movements')

    datalist = [data0, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
                data11, data12, data13, data14, data15, data16, data17, data18, data19, data20,
                data21, data22, data23, data24]

    for gid in reversed(range(3,4)):
        # test JSON parser
        problem_dict = handlejson.parse_to_dictionary(datalist[gid])

        powerwords = ['ei!', 'tsathoggua', 'yuggoth', 'necronomicon', 'ia! ia!', "r'lyeh", "in his house at r'lyeh dead cthulhu waits dreaming."]
        mvlists = main2(problem_dict, powerwords, 0, 0, 0)

        print mvlists
Ejemplo n.º 4
0
def fake():
    map_number = 2
    s = map_number
    p = 0

    if not os.path.exists('Movements'):
        os.makedirs('Movements')

    datalist = [data0, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10,
                data11, data12, data13, data14, data15, data16, data17, data18, data19, data20,
                data21, data22, data23, data24]

    # test JSON parser
    problem_dict = handlejson.parse_to_dictionary(datalist[map_number])



    # create a boardmanager
    boardmanager = BoardManager(problem_dict)


    # boardmanager.path_generation(p)

    r = boardmanager.calc_board_state(boardmanager.get_initial_board(s), sys.argv[1])
Ejemplo n.º 5
0
parser.add_argument('-f', type=list, nargs='+', action='append')
parser.add_argument('-t', type=int)
parser.add_argument('-m', type=int)
parser.add_argument('-c', type=int)
parser.add_argument('-p', type=list, nargs='+', action='append')

args = parser.parse_args()

f = [ "".join(i[0]) for i in args.f ]
t = args.t
m = args.m
c = args.c
p = [ "".join(i[0]) for i in args.p ]

j = [ handlejson.parse_to_dictionary(open(i).read()) for i in f ]


for singlejson in j:
# do something
    l_mv=main.main2(singlejson, p, t, m, c)

    for i,seed in enumerate(singlejson['sourceSeeds']):
        current_mv = l_mv[i]
        conv = convert_class_to_letters.convert_greedy(current_mv,p)
        # handlejson.send_response(singlejson['id'],[seed],conv,'test')

arr_tuple_pid_seednr_tag_sol = []
for singlejson in j:
    for i,seed in enumerate(singlejson['sourceSeeds']):
        current_mv = l_mv[i]
Ejemplo n.º 6
0
#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:
					print ".",
					#print gameid, seedid,'the move',currentmove,'=',testmove,'yields',score,'points'
					bestmoves.append((gameid,seedid,currentmove,testmove,score))
					break

	#print bestmoves
	f = open('bestmoves_'+str(nr)+'.txt','w')
	f.write(str(bestmoves))