Exemplo n.º 1
0
 def test_3(self):
     bstr = "...o......,....x.....,.....x....,..o...o..."
     b = Board()
     b.set_board(bstr)
     self.assertCountEqual([(3, 0, Checker(BLACK)), (2, 3, Checker(BLACK)),
                            (6, 3, Checker(BLACK)), (4, 1, Checker(WHITE)),
                            (5, 2, Checker(WHITE))], b.get_checkers())
Exemplo n.º 2
0
 def test_jump_crowning(self):
     b = Board()
     b.set_board("...,...o,....x")
     b.push(b.legal_moves()[0])
     self.assertEqual("..X.......,,,,,,,,,", b.get_board())
     self.assertEqual(Checker(WHITE, True), b.checker_at(2, 0))
     b.pop()
     self.assertEqual(",...o......,....x.....,,,,,,,", b.get_board())
     self.assertEqual(Checker(WHITE, False), b.checker_at(4, 2))
Exemplo n.º 3
0
 def update_point(self, color):
     if color == "BLACK":
         self.point['BLACK'] += 1
         self.piece_position.append(
             Checker(display_width+82, self.past_x_black+60, color))
         self.past_x_black += 60
     else:
         self.point['WHITE'] += 1
         self.piece_position.append(
             Checker(display_width+82, self.past_x_white+60, color))
         self.past_x_white += 60
Exemplo n.º 4
0
 def test_promotion_pop(self):
     b = Board()
     b.set_board(",x")
     b.push(b.legal_moves()[0])
     chk = Checker(WHITE, True)
     self.assertTrue(b.move_stack[-1][-1].is_promotion)
     self.assertEqual(b.checker_at(1, 0), chk)
     b.push([Move(chk, (1, 0), (5, 4))])
     self.assertEqual(b.checker_at(5, 4), chk)
     b.pop()
     self.assertEqual(b.checker_at(1, 0), Checker(WHITE, True))
     b.pop()
     self.assertEqual(b.checker_at(0, 1), Checker(WHITE, False))
Exemplo n.º 5
0
 def test_1(self):
     bstr = "x"
     b = Board()
     b.set_board(bstr)
     # https://docs.python.org/3.2/library/unittest.html#unittest.TestCase.assertCountEqual
     # tests if list have same elements
     self.assertCountEqual([(0, 0, Checker(WHITE))], b.get_checkers())
Exemplo n.º 6
0
 def test_border_twice(self):
     b = Board()
     b.set_board("...X")
     cx = Checker(WHITE, True)
     b.push([Move(cx, (3, 0), (5, 2))])
     self.assertTrue(True, cx.crowned)
     b.push([Move(cx, (5, 2), (7, 0))])
     self.assertTrue(True, cx.crowned)
     b.pop()
     self.assertTrue(True, cx.crowned)
     b.pop()
     self.assertTrue(True, cx.crowned)
Exemplo n.º 7
0
 def test_move_king_black_corner(self):
     b = Board()
     b.set_board(",,,,,,,,,.........O")
     b.color = BLACK
     bc = Checker(BLACK, True)
     self.assertCountEqual([
         [Move(bc, (9, 9), (8, 8))],
         [Move(bc, (9, 9), (7, 7))],
         [Move(bc, (9, 9), (6, 6))],
         [Move(bc, (9, 9), (5, 5))],
         [Move(bc, (9, 9), (4, 4))],
         [Move(bc, (9, 9), (3, 3))],
         [Move(bc, (9, 9), (2, 2))],
         [Move(bc, (9, 9), (1, 1))],
         [Move(bc, (9, 9), (0, 0))],
     ], b.legal_moves())
Exemplo n.º 8
0
def run():
    # 添加项目目录到环境变量
    sys.path.append(settings.BASE_DIR)
    # 连接redis,实例化spider, parse, checker
    redis_cli = redis.Redis(**settings.REDIS_PARAM)
    spider = Spider()
    parser = Parser(spider.queue, redis_cli)
    checher = Checker(redis_cli)
    # 创建并启动线程
    thread_list = [
        Thread(target=spider.run),
        Thread(target=parser.run),
        Thread(target=checher.run)
    ]
    for thread in thread_list:
        thread.start()
Exemplo n.º 9
0
 def test_move_two_kings_white(self):
     b = Board()
     b.set_board(".......X.X")
     wc = Checker(WHITE, True)  # white, crowned checker (X)
     self.assertCountEqual([
         [Move(wc, (7, 0), (6, 1))],
         [Move(wc, (7, 0), (5, 2))],
         [Move(wc, (7, 0), (4, 3))],
         [Move(wc, (7, 0), (3, 4))],
         [Move(wc, (7, 0), (2, 5))],
         [Move(wc, (7, 0), (1, 6))],
         [Move(wc, (7, 0), (0, 7))],
         [Move(wc, (7, 0), (8, 1))],
         [Move(wc, (7, 0), (9, 2))],
         [Move(wc, (9, 0), (8, 1))],
         [Move(wc, (9, 0), (7, 2))],
         [Move(wc, (9, 0), (6, 3))],
         [Move(wc, (9, 0), (5, 4))],
         [Move(wc, (9, 0), (4, 5))],
         [Move(wc, (9, 0), (3, 6))],
         [Move(wc, (9, 0), (2, 7))],
         [Move(wc, (9, 0), (1, 8))],
         [Move(wc, (9, 0), (0, 9))],
     ], b.legal_moves())
Exemplo n.º 10
0
 def test_2(self):
     bstr = ".....o"
     b = Board()
     b.set_board(bstr)
     self.assertCountEqual([(5, 0, Checker(BLACK))], b.get_checkers())
Exemplo n.º 11
0
    def create_piece(self):
        for i in self.all_piec_cord[:12]:
            self.pieces.append(Checker(i[0], i[1], "WHITE"))

        for i in self.all_piec_cord[::-1][:12]:
            self.pieces.append(Checker(i[0], i[1], "BLACK"))