Ejemplo n.º 1
0
from module_4.GraphicsModule4 import Gfx
from module_4.PowerBoard import PowerBoard
import pygame
import sys

if __name__ == '__main__':
    pb = PowerBoard((4, 4))
    pb.add_random_tile()
    gfx = Gfx(pb, 30, (600, 600))
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_DOWN:
                    pb.move_and_add_random_tile('d')
                if event.key == pygame.K_UP:
                    pb.move_and_add_random_tile('u')
                if event.key == pygame.K_RIGHT:
                    pb.move_and_add_random_tile('r')
                if event.key == pygame.K_LEFT:
                    pb.move_and_add_random_tile('l')

        gfx.draw()
Ejemplo n.º 2
0
    start_time = time.time()

    ann_best_tiles = []
    random_best_tiles = []
    for i in range(50):
        pb = PowerBoard((4, 4))
        pb.add_random_tile()
        while True:
            if pb.is_game_over():
                pb.print_to_console()
                ann_best_tiles.append(max(pb.get_board()))
                break
            network_output = pba.evaluate_one_board(
                convert_list_to_2d(pb.get_board()))
            pb.move_and_add_random_tile(directions[network_output])
            """
            possible_directions = pb.get_possible_move_directions()
            for choice in network_output:
                if directions[choice] in possible_directions:
                    pb.move_and_add_random_tile(directions[choice])
                    break
            """

    for i in range(50):
        pb = PowerBoard((4, 4))
        pb.add_random_tile()
        while True:
            if pb.is_game_over():
                pb.print_to_console()
                random_best_tiles.append(max(pb.get_board()))
Ejemplo n.º 3
0
    error_rates = pba.do_training(no_of_epochs)

    start_time = time.time()

    ann_best_tiles = []
    random_best_tiles = []
    for i in range(50):
        pb = PowerBoard((4, 4))
        pb.add_random_tile()
        while True:
            if pb.is_game_over():
                pb.print_to_console()
                ann_best_tiles.append(max(pb.get_board()))
                break
            network_output = pba.evaluate_one_board(convert_list_to_2d(pb.get_board()))
            pb.move_and_add_random_tile(directions[network_output])
            """
            possible_directions = pb.get_possible_move_directions()
            for choice in network_output:
                if directions[choice] in possible_directions:
                    pb.move_and_add_random_tile(directions[choice])
                    break
            """

    for i in range(50):
        pb = PowerBoard((4, 4))
        pb.add_random_tile()
        while True:
            if pb.is_game_over():
                pb.print_to_console()
                random_best_tiles.append(max(pb.get_board()))
Ejemplo n.º 4
0
        game_over = False
        while True:
            """
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()
            """
            b = time()
            if not game_over:

                empties = len(pb.get_empty_spaces())

                search_state = PowerBoardState(PowerBoardState.get_recursion_depth_roof(empties))
                search_state.board = pb.get_board()
                decision = search_state.decision()
                with open("2048moves.txt", 'a') as log:
                    log.write("\n\n" + str(pb.get_board()))
                    log.write("\n" + decision)
                pb.move_and_add_random_tile(decision)
                c = time()
                print(c-b)
                if pb.is_game_over():
                    game_over = True
                    print('Game over after', c-a)
                    print('Max tile:', pb.get_max_tile())
                    break



                #gfx.draw()
Ejemplo n.º 5
0
        a = time()
        game_over = False
        while True:
            """
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()
            """
            b = time()
            if not game_over:

                empties = len(pb.get_empty_spaces())

                search_state = PowerBoardState(
                    PowerBoardState.get_recursion_depth_roof(empties))
                search_state.board = pb.get_board()
                decision = search_state.decision()
                with open("2048moves.txt", 'a') as log:
                    log.write("\n\n" + str(pb.get_board()))
                    log.write("\n" + decision)
                pb.move_and_add_random_tile(decision)
                c = time()
                print(c - b)
                if pb.is_game_over():
                    game_over = True
                    print('Game over after', c - a)
                    print('Max tile:', pb.get_max_tile())
                    break

                #gfx.draw()