def move_pyramid_conversion_init(self, bt=BoardType.MayanAscendancy): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) self.board.set_piece(3, 1, PieceType(PieceType.Pyramid)) self.board.set_piece(6, 1, PieceType(-PieceType.Rook)) self.board.set_piece(7, 5, PieceType(PieceType.Bishop)) self.arrows.append( SH.get_new_arrow(4, 2, 3, 1, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(5, 3, 4, 2, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(6, 4, 5, 3, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(7, 5, 6, 4, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(6, 4, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(5, 3, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(4, 2, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(3, 1, SH.Corner.UpperLeft), **get_text_colors(True)) ) return self.format_return_values("move_pyramid_conversion_init")
def move_pyramid_promo_init(self, bt=BoardType.MayanAscendancy): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) self.board.set_piece(3, 7, PieceType(PieceType.Pyramid)) self.board.set_piece(6, 7, PieceType(PieceType.Pawn)) self.board.set_piece(11, 3, PieceType(PieceType.Pegasus)) self.arrows.append( SH.get_new_arrow(11, 3, 9, 4, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(9, 4, 7, 5, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(7, 5, 5, 6, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(5, 6, 3, 7, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(9, 4, SH.Corner.UpperRight), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(7, 5, SH.Corner.UpperRight), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(5, 6, SH.Corner.UpperRight), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(3, 7, SH.Corner.UpperRight), **get_text_colors(True)) ) return self.format_return_values("move_pyramid_promo_init")
def intro_piece(self, bt, piece_type=None): bt = BoardType(bt) self.board = Board(bt, 2, 2) self.board.clear() self.delete_all_marks() piece_type = piece_type or bt.get_newly_introduced_piece() if piece_type is None: return None self.board.set_pieces([(0, 0, PieceType(piece_type)), (1, 0, PieceType(piece_type)), (0, 1, PieceType(-piece_type)), (1, 1, PieceType(-piece_type))]) return piece_type
def move_pyramid_promo_activate(self, bt=BoardType.MayanAscendancy): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() self.board.set_piece(3, 7, PieceType(PieceType.Pegasus)) self.board.set_piece(6, 7, PieceType(PieceType.Pawn)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) get_arrow_colors_alt = SH.get_func_get_colors("#303030", "#FF0000", "#101010", "#303030") get_text_colors_alt = SH.get_func_get_colors("#FF0000", "#303030", "#303030", "#808080", font=get_font_definition(bt.get_size())) # direction <1, 0> self.arrows.append( SH.get_new_arrow(3, 7, 4, 7, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(4, 7, 5, 7, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(5, 7, 6, 7, **get_arrow_colors_alt(True)) ) self.arrows.append( SH.get_new_arrow(6, 7, 7, 7, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("1", *get_text_position(4, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(5, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(6, 7, SH.Corner.UpperLeft), **get_text_colors_alt(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(7, 7, SH.Corner.UpperLeft), **get_text_colors(False)) ) # direction <0, 1> self.arrows.append( SH.get_new_arrow(3, 7, 3, 8, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 8, 3, 9, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 9, 3, 10, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 10, 3, 11, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(3, 8, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(3, 9, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(3, 10, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(3, 11, SH.Corner.UpperLeft), **get_text_colors(True)) ) # direction <-1, 0> self.arrows.append( SH.get_new_arrow(3, 7, 2, 7, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(2, 7, 1, 7, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(1, 7, 0, 7, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(2, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(1, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(0, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) # direction <0, -1> self.arrows.append( SH.get_new_arrow(3, 7, 3, 6, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 6, 3, 5, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 5, 3, 4, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 4, 3, 3, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(3, 6, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(3, 5, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(3, 4, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(3, 3, SH.Corner.UpperLeft), **get_text_colors(True)) ) return self.format_return_values("move_pyramid_promo_activate")
def castling_long_left(self, bt): bt = BoardType(bt) self.board = Board(bt, bt.get_size(), 1) self.board.clear() self.delete_all_marks() pos_king_init = bt.get_size() // 2 offset = 1 if bt.does_contain(PieceType.Star) else 0 pos_rook_r = bt.get_size() - 1 - offset # diff = pos_rook_r - pos_king_init pos_king_h = offset + 2 self.board.set_piece(pos_king_h, 0, PieceType.King) self.board.set_piece(pos_king_h + 1, 0, PieceType.Rook) self.board.set_piece(pos_rook_r, 0, PieceType.Rook) if bt.does_contain(PieceType.Star): self.board.set_piece(0, 0, PieceType.Star) self.board.set_piece(bt.get_size() - 1, 0, -PieceType.Star) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) self.texts.append( SH.get_new_text("K", *get_text_position(pos_king_init, 0, SH.Corner.UpperLeft), **get_text_colors(False)) ) return bt
def intro_castling(self, bt): bt = BoardType(bt) self.board = Board(bt, bt.get_size(), 1) self.board.clear() self.delete_all_marks() pos_king_h = bt.get_size() // 2 offset = 1 if bt.does_contain(PieceType.Star) else 0 pos_rook_r = bt.get_size() - 1 - offset self.board.set_piece(pos_king_h, 0, PieceType.King) self.board.set_piece(offset, 0, PieceType.Rook) self.board.set_piece(pos_rook_r, 0, PieceType.Rook) if bt.does_contain(PieceType.Star): self.board.set_piece(0, 0, PieceType.Star) self.board.set_piece(bt.get_size() - 1, 0, -PieceType.Star) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) diff = pos_rook_r - pos_king_h for i in xrange(2, diff): pos_l = pos_king_h - i pos_r = pos_king_h + i self.texts.append( SH.get_new_text(str(i-1), *get_text_position(pos_l, 0, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text(str(i-1), *get_text_position(pos_r, 0, SH.Corner.UpperLeft), **get_text_colors(True)) ) return bt
def intro_en_passant(self, bt): bt = BoardType(bt) size = (bt.get_size() + 1) // 2 self.board = Board(bt, 3, size) self.board.clear() self.delete_all_marks() get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.5, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) self.board.set_piece(1, 0, PieceType(PieceType.Knight)) self.board.set_piece(1, 1, PieceType(PieceType.Pawn)) for i in xrange(3, size): loc = 0 if i % 2 == 0 else 2 self.board.set_piece(loc, i, PieceType(-PieceType.Pawn)) self.arrows.append( SH.get_new_arrow(loc, i, 1, i-1, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text(str(i-2), *get_text_position(1, i, SH.Corner.UpperRight), **get_text_colors(True)) ) return bt
def move_wave_init(self, bt=BoardType.MirandasVeil): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() start_wave = (3, 4) self.board.set_piece(*start_wave, piece=PieceType(PieceType.Wave)) start_pegasus = (13, 9) self.board.set_piece(*start_pegasus, piece=PieceType(PieceType.Pegasus)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) # get_field_marker_colors = SH.get_func_get_colors(*self.get_field_marker_colors(bt)) get_arrow_action_colors = SH.get_func_get_colors(*self.get_arrow_action_colors(bt)) get_text_action_colors = SH.get_func_get_colors(*self.get_text_action_colors(bt), font=get_font_definition(bt.get_size())) gen_rel = MG.get_gen_move((-2, -1)) gen_abs_pos = MG.get_gen_abs_pos(gen_rel, start=start_pegasus, pos_limits=self.board.get_position_limits()) i = 1 start_arrow = start_pegasus steps_to_wave = 5 for pos in gen_abs_pos(): arrow = (start_arrow[0], start_arrow[1], pos[0], pos[1]) before_wave = bool(i < (steps_to_wave+1)) if i <> steps_to_wave: self.arrows.append( SH.get_new_arrow(*arrow, **get_arrow_colors(before_wave)) ) self.texts.append( SH.get_new_text(str(i), *get_text_position(*pos, corner=SH.Corner.UpperLeft), **get_text_colors(before_wave)) ) # self.field_markers.append( SH.get_new_field_marker(*pos, **get_field_marker_colors(before_wave)) ) else: self.arrows.append( SH.get_new_arrow(*arrow, **get_arrow_action_colors(before_wave)) ) self.texts.append( SH.get_new_text(str(i), *get_text_position(*pos, corner=SH.Corner.UpperLeft), **get_text_action_colors(before_wave)) ) # self.field_markers.append( SH.get_new_field_marker(*pos, **get_field_marker_colors(before_wave)) ) i += 1 start_arrow = pos return self.format_return_values("move_wave_init")
def move_unicorn_opposite_color(self, bt=BoardType.AgeOfAquarius): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() start = (7, 6) self.board.set_piece(*start, piece=PieceType(-PieceType.Unicorn)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.15, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) get_field_marker_colors = SH.get_func_get_colors(*self.get_field_marker_colors(bt)) gen_abs_pos = MG.get_gen_abs_pos(MG.gen_unicorn_rel_long_moves, start=start, pos_limits=((3, 11), (2, 10))) i = 1 for pos in gen_abs_pos(): self.field_markers.append( SH.get_new_field_marker(*pos, **get_field_marker_colors(True)) ) self.texts.append( SH.get_new_text(str(i), *get_text_position(*pos, corner=SH.Corner.UpperLeft), **get_text_colors(True)) ) i += 1 return self.format_return_values("move_unicorn_opposite_color")
def move_pegasus_initial(self, bt=BoardType.CroatianTies): bt = BoardType(bt) self.board = Board(bt, 5, 5) self.board.clear() self.delete_all_marks() start = (2, 2) self.board.set_piece(*start, piece=PieceType(PieceType.Pegasus)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.20, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) get_field_marker_colors = SH.get_func_get_colors(*self.get_field_marker_colors(bt)) gen_abs_pos = MG.get_gen_abs_pos(MG.gen_knight_rel_moves, start=start, pos_limits=self.board.get_position_limits()) i = 1 for pos in gen_abs_pos(): self.field_markers.append( SH.get_new_field_marker(*pos, **get_field_marker_colors(True)) ) self.texts.append( SH.get_new_text(str(i), *get_text_position(*pos, corner=SH.Corner.UpperLeft), **get_text_colors(True)) ) i += 1 return self.format_return_values("move_pegasus_initial", size_x=0.5, size_y=0.5)
def move_pegasus(self, bt=BoardType.CroatianTies): bt = BoardType(bt) self.board = Board(bt) self.board.clear() self.delete_all_marks() self.board.set_piece(2, 1, PieceType(PieceType.Pegasus)) self.board.set_piece(5, 7, PieceType(PieceType.Pawn)) self.board.set_piece(6, 3, PieceType(-PieceType.Pawn)) self.board.set_piece(3, 4, PieceType(-PieceType.Rook)) self.board.set_piece(4, 4, PieceType(-PieceType.Rook)) self.board.set_piece(5, 2, PieceType(PieceType.Rook)) self.board.set_piece(5, 3, PieceType(PieceType.Rook)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) # direction 1, i.e. <2, 1> self.arrows.append( SH.get_new_arrow(2, 1, 4, 2, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(4, 2, 6, 3, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(6, 3, 8, 4, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("1", *get_text_position(4, 2, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(6, 3, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(8, 4, SH.Corner.UpperLeft), **get_text_colors(False)) ) # direction 2, i.e. <1, 2> self.arrows.append( SH.get_new_arrow(2, 1, 3, 3, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 3, 4, 5, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(4, 5, 5, 7, **get_arrow_colors(False)) ) self.arrows.append( SH.get_new_arrow(5, 7, 6, 9, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2", *get_text_position(3, 3, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(4, 5, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(5, 7, SH.Corner.UpperLeft), **get_text_colors(False)) ) self.texts.append( SH.get_new_text("2", *get_text_position(6, 9, SH.Corner.UpperLeft), **get_text_colors(False)) ) # direction 3, i.e. <-1, 2> self.arrows.append( SH.get_new_arrow(2, 1, 1, 3, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(1, 3, 0, 5, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(1, 3, SH.Corner.UpperRight), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(0, 5, SH.Corner.UpperRight), **get_text_colors(True)) ) # direction 4, i.e. <-2, 1> self.arrows.append( SH.get_new_arrow(2, 1, 0, 2, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(0, 2, SH.Corner.UpperRight), **get_text_colors(True)) ) # direction 5, i.e. <-2, -1> self.arrows.append( SH.get_new_arrow(2, 1, 0, 0, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("5", *get_text_position(0, 0, SH.Corner.UpperLeft), **get_text_colors(True)) ) # direction 6, i.e. <2, -1> self.arrows.append( SH.get_new_arrow(2, 1, 4, 0, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("6", *get_text_position(4, 0, SH.Corner.UpperRight), **get_text_colors(True)) ) return self.format_return_values("move_pegasus")
def move_pegasus_direction(self, bt=BoardType.CroatianTies): bt = BoardType(bt) self.board = Board(bt, 10, 10) self.board.clear() self.delete_all_marks() self.board.set_piece(2, 1, PieceType(PieceType.Pegasus)) get_arrow_colors = SH.get_func_get_colors(*self.get_arrow_colors(bt)) get_text_position = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.75, bottom=0.05) get_text_position_2 = SH.get_func_get_text_position(left=0.05, top=1.0, right=0.5, bottom=0.05) get_font_definition = SH.get_func_get_font_definition() get_text_colors = SH.get_func_get_colors(*self.get_text_colors(bt), font=get_font_definition(bt.get_size())) # main direction, i.e. <1, 2> self.arrows.append( SH.get_new_arrow(2, 1, 3, 3, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(3, 3, 4, 5, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(4, 5, 5, 7, **get_arrow_colors(True)) ) self.arrows.append( SH.get_new_arrow(5, 7, 6, 9, **get_arrow_colors(True)) ) self.texts.append( SH.get_new_text("1", *get_text_position(3, 3, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("2", *get_text_position(4, 5, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("3", *get_text_position(5, 7, SH.Corner.UpperLeft), **get_text_colors(True)) ) self.texts.append( SH.get_new_text("4", *get_text_position(6, 9, SH.Corner.UpperLeft), **get_text_colors(True)) ) # direction 2a, i.e. <2, 1> self.arrows.append( SH.get_new_arrow(4, 5, 6, 6, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2a", *get_text_position_2(6, 6, SH.Corner.UpperRight), **get_text_colors(False)) ) # direction 2b, i.e. <2, -1> self.arrows.append( SH.get_new_arrow(4, 5, 6, 4, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2b", *get_text_position_2(6, 4, SH.Corner.UpperRight), **get_text_colors(False)) ) # direction 2c, i.e. <1, -2> self.arrows.append( SH.get_new_arrow(4, 5, 5, 3, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2c", *get_text_position_2(5, 3, SH.Corner.UpperRight), **get_text_colors(False)) ) # direction 2d, i.e. <-2, -1> self.arrows.append( SH.get_new_arrow(4, 5, 2, 4, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2d", *get_text_position(2, 4, SH.Corner.UpperLeft), **get_text_colors(False)) ) # direction 2e, i.e. <-2, 1> self.arrows.append( SH.get_new_arrow(4, 5, 2, 6, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2e", *get_text_position(2, 6, SH.Corner.UpperLeft), **get_text_colors(False)) ) # direction 2f, i.e. <-1, 2> self.arrows.append( SH.get_new_arrow(4, 5, 3, 7, **get_arrow_colors(False)) ) self.texts.append( SH.get_new_text("2f", *get_text_position_2(3, 7, SH.Corner.UpperRight), **get_text_colors(False)) ) return self.format_return_values("move_pegasus_direction")
#c = 1 #d = 2 #e = 3 # #a = A.c # #print "a", a # #b = A.d # #print "a+b", a, b, a+b #pt = board.PieceType.Bishop # #print pt #print board.PieceType.get_symbol(pt) #print board.PieceType.get_name(pt) pt = PieceType(PieceType.Bishop) print pt print pt.get_symbol() print pt.get_name() bs = BoardType(BoardType.AgeOfAquarius) print bs print bs.get_name() print bs.get_size()
from piece import PieceType from board import BoardType from board import Board b = Board(BoardType(BoardType.Nineteen)) off_bt = BoardType.Classical if b.type.is_even_or_odd() else BoardType.OddClassical i = 9 j = 1 off_w = (b.get_width() - BoardType(off_bt).get_size()) / 2 off_h = (b.get_height() - BoardType(off_bt).get_size()) / 2 print "off:", off_bt, off_w, off_h min_i = min(i, b.get_width() - 1 - i) min_j = min(j, b.get_height() - 1 - j) print "min:", min_i, min_j pos_w = off_w - min_i pos_h = off_h - min_j print "pos:", pos_w, pos_h pos_w = pos_w if pos_w > 0 else 0 pos_h = pos_h if pos_h > 0 else 0 print "pos:", pos_w, pos_h bt_w = BoardType(off_bt + 2 * pos_w) bt_h = BoardType(off_bt + 2 * pos_h) bt = max(bt_w, bt_h) print "bt:", off_bt, bt_w, bt_h, bt print "bt:", BoardType(off_bt).get_name(), bt_w.get_name(), bt_h.get_name(), bt.get_name()