示例#1
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#2
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#3
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#4
0
文件: scene.py 项目: mmlacak/crochess
    def castling_short_right(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_init_rook_r = bt.get_size() - 1 - offset
        # diff = pos_rook_r - pos_king_init
        pos_king_h = pos_king_init + 2
        pos_rook_r = pos_king_h - 1

        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()))

        self.texts.append( SH.get_new_text("K", *get_text_position(pos_king_init, 0, SH.Corner.UpperLeft), **get_text_colors(False)) )

        return bt
示例#5
0
文件: scene.py 项目: mmlacak/crochess
    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
示例#6
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#7
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#8
0
文件: scene.py 项目: mmlacak/crochess
    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)
示例#9
0
文件: scene.py 项目: mmlacak/crochess
    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
示例#10
0
文件: scene.py 项目: mmlacak/crochess
    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")
示例#11
0
文件: scene.py 项目: mmlacak/crochess
    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")