def cell_size_test(): b = Board(4, 9) _value = (34, 55) b.cell_size = _value assert b.cell_size[0] == _value[0] assert b.cell_size[1] == _value[1] b._setupUI() assert b.cell_size[0] == _value[0] assert b.cell_size[1] == _value[1] b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.cell_size[0] == _value[0] assert b.cell_size[1] == _value[1] b2 = Board(42, 99) _value = 1 b2.cell_size = _value assert b2.cell_size[0] == _value assert b2.cell_size[1] == _value b2._setupUI() assert b2.cell_size[0] == _value assert b2.cell_size[1] == _value b2.on_timer = lambda: b.close() b2.start_timer(TIME_TO_CLOSE) b2.show() assert b2.cell_size[0] == _value assert b2.cell_size[1] == _value
def test_cell_size(self): b = Board(4, 9) _value = (34, 55) b.cell_size = _value self.assertEqual(b.cell_size[0], _value[0]) self.assertEqual(b.cell_size[1], _value[1]) b._setupUI() self.assertEqual(b.cell_size[0], _value[0]) self.assertEqual(b.cell_size[1], _value[1]) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.cell_size[0], _value[0]) self.assertEqual(b.cell_size[1], _value[1]) b2 = Board(42, 99) _value = 1 b2.cell_size = _value self.assertEqual(b2.cell_size[0], _value) self.assertEqual(b2.cell_size[1], _value) b2._setupUI() self.assertEqual(b2.cell_size[0], _value) self.assertEqual(b2.cell_size[1], _value) b2.on_timer = lambda: b.close() b2.start_timer(TIME_TO_CLOSE) b2.show() self.assertEqual(b2.cell_size[0], _value) self.assertEqual(b2.cell_size[1], _value)
def test_load(self): b = Board(2, 2) b.load([[10, 20], ['a', False]]) self.assertEqual(b[0][0], 10) self.assertEqual(b[0][1], 20) self.assertEqual(b[1][0], 'a') self.assertEqual(b[1][1], False)
def test_size(self): b = Board(3, 5) self.assertEqual(b.nrows, 3) self.assertEqual(b.ncols, 5) self.assertEqual(b.size, 15) b._setupUI() self.assertEqual(b.nrows, 3) self.assertEqual(b.ncols, 5) self.assertEqual(b.size, 15)
def size_test(): b = Board(3, 5) assert b.nrows == 3 assert b.ncols == 5 assert b.size == 15 b._setupUI() assert b.nrows == 3 assert b.ncols == 5 assert b.size == 15
def margin_color_test(): b = Board(10, 10) _value = "dark gray" b.margin_color = _value assert b.margin_color == _value b._setupUI() assert b.margin_color == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.margin_color == _value
def cell_spacing_test(): b = Board(1, 1) _value = 7 b.cell_spacing = _value assert b.cell_spacing == _value b._setupUI() assert b.cell_spacing == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.cell_spacing == _value
def margin_test(): b = Board(7, 1) _value = 19 b.margin = _value assert b.margin == _value b._setupUI() assert b.margin == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.margin == _value
def cursor_test(): b = Board(1, 20) _value = "watch" b.cursor = _value assert b.cursor == _value b._setupUI() assert b.cursor == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.cursor == _value
def test_grid_color(self): b = Board(4, 9) _value = "magenta" b.grid_color = _value self.assertEqual(b.grid_color, _value) b._setupUI() self.assertEqual(b.grid_color, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.grid_color, _value)
def cell_color_test(): b = Board(4, 9) _value = "#000fff000" b.cell_color = _value assert b.cell_color == _value b._setupUI() assert b.cell_color == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.cell_color == _value
def __init__(self, t_map, state, path: list): self.t_map = t_map self.state = state self.path = path[1:] self.start = False self.depth = len(path) self.cost = 0 self.board = Board(len(t_map), len(t_map[0])) self.board.on_timer = self.ontimer self.board.on_key_press = self.onkey self.board.start_timer(630)
def test_margin(self): b = Board(7, 1) _value = 19 b.margin = _value self.assertEqual(b.margin, _value) b._setupUI() self.assertEqual(b.margin, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.margin, _value)
def test_cursor(self): b = Board(1, 20) _value = "watch" b.cursor = _value self.assertEqual(b.cursor, _value) b._setupUI() self.assertEqual(b.cursor, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.cursor, _value)
def grid_color_test(): b = Board(4, 9) _value = "magenta" b.grid_color = _value assert b.grid_color == _value b._setupUI() assert b.grid_color == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.grid_color == _value
def test_cell_spacing(self): b = Board(1, 1) _value = 7 b.cell_spacing = _value self.assertEqual(b.cell_spacing, _value) b._setupUI() self.assertEqual(b.cell_spacing, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.cell_spacing, _value)
def test_margin_color(self): b = Board(10, 10) _value = "dark gray" b.margin_color = _value self.assertEqual(b.margin_color, _value) b._setupUI() self.assertEqual(b.margin_color, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.margin_color, _value)
def test_cell_color(self): b = Board(4, 9) _value = "#000fff000" b.cell_color = _value self.assertEqual(b.cell_color, _value) b._setupUI() self.assertEqual(b.cell_color, _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.cell_color, _value)
def test_fill(self): b = Board(3, 3) b.fill('ZZZ', row=1) self.assertEqual(b[1].count('ZZZ'), 3) b.fill(1.5, col=2) self.assertEqual(b[0][2], 1.5) self.assertEqual(b[1][2], 1.5) self.assertEqual(b[2][2], 1.5) b.fill(-3) for i in range(b.nrows): self.assertTrue(all(v == -3 for v in b[i]))
def test_copy(self): b = Board(2, 3) for i in range(b.nrows): for j in range(b.ncols): b[i][j] = (i + 1) * (j + 5) bc = b.copy() self.assertEqual(len(bc), b.nrows) for i in range(len(bc)): self.assertEqual(len(bc[i]), b.ncols) for j in range(len(bc[i])): self.assertEqual(bc[i][j], b[i][j])
def title_test(): b = Board(2, 2) _value = "qwertyu 213213 dsdadasd~...." b.title = _value assert b.title == _value b._setupUI() assert b.title == _value assert b._root.title() == _value b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() assert b.title == _value assert b._root.title() == _value
def test_title(self): b = Board(2, 2) _value = "qwertyu 213213 dsdadasd~...." b.title = _value self.assertEqual(b.title, _value) b._setupUI() self.assertEqual(b.title, _value) self.assertEqual(b._root.title(), _value) b.on_timer = lambda: b.close() b.start_timer(TIME_TO_CLOSE) b.show() self.assertEqual(b.title, _value) self.assertEqual(b._root.title(), _value)
def __init__(self, simulation_mode=False): """:cvar """ env = get_environment("blobwar")() env.seed(10) self.images = {1: "blob_blue", 2: "blob_orange"} self.images_selected = { 1: "blob_blue_selected", 2: "blob_orange_selected" } self.images_candidates = { 1: "blob_blue_candidate", 2: "blob_orange_candidate" } self.env = env self.human_player = Human() try: self.ai_player_1 = PPO(self.env, size=self.env.core.board.shape[0]) except Exception as e: print("PPO not yet trained for : ", self.env.core.board.shape[0]) self.ai_player_1 = GreedyPlayer() self.ai_player_2 = GreedyPlayer() self.player1 = self.player2 = None if simulation_mode: self.state = GameState.WAITING_FIRST_CLICK self.player1 = self.ai_player_1 self.player2 = self.player1 return self.game = Board(self.env.core.board.shape[0], self.env.core.board.shape[1]) self.game.cell_size = 70 self.game.cell_spacing = 1 self.game.fill(None) self.game.margin_color = self.game.grid_color = "wheat4" self.game.cell_color = "white" self.game.title = "Blobwar" self.game.create_output(font_size=11) self.state = GameState.GAME_OVER self.move_start_case = None self.move_candidates_case = []
from game2dboard import Board def mouse_fn(btn, row, col): # mouse calback function b[row][col] = 1 if not b[row][col] else 0 b = Board(3, 4) # 3 rows, 4 columns, filled w/ None b[0][0] = 0 b.title = "Click me!" b.cell_size = 120 b.cell_color = "honeydew" b.on_mouse_click = mouse_fn b.show()
from game2dboard import Board b = Board(8, 8) b.title = "Playground!" b.margin = 21 b.cell_size = 74 b.cell_spacing = 1 b.background_image = "chess" b.create_output(color='gray20', background_color='AntiqueWhite3', font_size=10) b.on_mouse_click = lambda btn, r, c : b.print("Clicked on [{}][{}]".format(r, c)) b.print("Click me") b.show()
c = random.randint(0, FIELD_WIDTH - 1) # Random collumn if field[r][c] is None: # It must be an empty place field[r][c] = "fruit" break def setup(): global snake, lastkey w2 = FIELD_WIDTH // 2 # field center h2 = FIELD_HEIGHT // 2 field.fill(None) snake = [(h2, w2), (h2, w2 + 1)] # Initial snake position for pos in snake: field[pos[0]][pos[1]] = 'body' # Draw the snake fruit_random_position() lastkey = "Left" # starts moving to the left field.start_timer(300) # 300 ms field = Board(FIELD_HEIGHT, FIELD_WIDTH) field.cell_size = BLOCK_SIZE field.title = "Snake game" field.cursor = None # Hide the cursor field.margin = field.cell_spacing = 1 field.grid_color = field.margin_color = "dark sea green" field.cell_color = "PaleGreen4" field.on_key_press = kbd_fn field.on_timer = timer_fn setup() field.show()
b[row][col] = IMGID if not b[row][col] else None elif btn == 3: b[row][col] = "fruit.png" def timerfn(): b.print(datetime.datetime.now().strftime("[H]: Help %H:%M:%S")) def startfn(): b[0][0] = 12 b[0][1] = "Hello" b[0][2] = b[4][1] = IMGID b[3][6] = "fruit.png" b = Board(5, 15) b.title = "Hello, World!" b.margin = 10 b.cell_spacing = 6 b.cell_size = (50, 40) b.margin_color = b.grid_color = "AntiqueWhite4" b.cell_color = "AntiqueWhite1" b.on_start = startfn b.on_key_press = kbdfn b.on_mouse_click = mousefn b.on_timer = timerfn b.start_timer(1000) b.create_output(color='gray20', background_color='AntiqueWhite3', font_size=10) b.show()
from game2dboard import Board def fntimer(): b.shuffle() b.start_timer(500) b = Board(3, 12) b[1][0] = 'H' b[1][1] = 'e' b[1][2] = 'l' b[1][3] = 'l' b[1][4] = 'o' b[1][5] = 'comma' b[1][6] = 'W' b[1][7] = 'o' b[1][8] = 'r' b[1][9] = 'l' b[1][10] = 'd' b[1][11] = 'excl' b.cell_size = (80, 100) b.title = "WTF????" b.margin = 10 b.cell_spacing = 3 b.grid_color = b.margin_color = "AntiqueWhite3" b.cell_color = "gray20" b.start_timer(2000) b.on_timer = fntimer b.show()
previous_row = r # Save last position previous_col = c def newgame(): global previous_row, previous_col, reversed_cards, match_count, attempts_count previous_row = previous_col = reversed_cards = match_count = attempts_count = 0 game[0][0] = game[0][1] = 1 game[0][2] = game[0][3] = 2 game[1][0] = game[1][1] = 3 game[1][2] = game[1][3] = 4 game[2][0] = game[2][1] = 5 game[2][2] = game[2][3] = 6 game[3][0] = game[3][1] = 7 game[3][2] = game[3][3] = 8 game.shuffle() game.print(MSG) game = Board(4, 4) game.cell_size = 130 game.margin_color = game.grid_color = "wheat1" game.cell_color = "wheat3" game.cell_spacing = 2 game.title = "Memory Game" game.create_output(background_color="wheat4", color="white") game.on_mouse_click = fnmouse game.on_key_press = fnkbd game.on_start = newgame game.show()
from game2dboard import Board b = Board(2, 2) b[0][0] = 5 b[1][1] = 10 print(b) a = b.copy() print(a) b.title = "Hi!" b.grid_color = None b.on_mouse_click = lambda b, r, c: print(type(b), type(r), type(c)) b.show()