コード例 #1
0
ファイル: engine.py プロジェクト: leogregianin/pychess
class EngineTests(unittest.TestCase):
    def setUp(self):
        self.engine = PyChessCECP()

    @patch('sys.stdout', new_callable=StringIO)
    @patch('pychess.Players.PyChessCECP.get_input', new=MagicMock(side_effect=["protover 2", "stop_unittest"]))
    def test1(self, mock_stdout):
        """ Send 'protover 2' to PyChess engine """

        self.engine.run()
        output = mock_stdout.getvalue()

        self.assertTrue(output.endswith("feature done=1\n"))

    @patch('sys.stdout', new_callable=StringIO)
    @patch('pychess.Players.PyChessCECP.get_input', new=MagicMock(side_effect=["perft", "stop_unittest"]))
    def test2(self, mock_stdout):
        """ Send 'perft' to PyChess engine """

        self.engine.run()
        output = mock_stdout.getvalue()

        self.assertTrue(output.endswith("nps\n"))

    @patch('sys.stdout', new_callable=StringIO)
    @patch('pychess.Players.PyChessCECP.get_input', new=MagicMock(side_effect=["benchmark 2", "stop_unittest"]))
    def test3(self, mock_stdout):
        """ Send 'benchmark 2' to PyChess engine """

        self.engine.run()
        output = mock_stdout.getvalue()

        self.assertTrue(output.endswith("n/s\n"))
コード例 #2
0
ファイル: PyChess.py プロジェクト: leogregianin/pychess
        for depth in range(1, self.sd):
            if not lsearch.searching:
                break
            board = self.board.clone()
            mvs, scr = alphaBeta(board, depth)

            pv1 = " ".join(listToSan(board, mvs))
            time_cs = int(100 * (time() - start))
            self.print("%s %s %s %s %s" % (depth, scr, time_cs, lsearch.nodes, pv1))

            lsearch.nodes = 0


if __name__ == "__main__":
    import logging
    from pychess.Players.PyChessCECP import PyChessCECP
    if len(sys.argv) == 1 or sys.argv[1:] == ["debug"]:
        if "debug" in sys.argv[1:]:
            log.logger.setLevel(logging.DEBUG)
        else:
            log.logger.setLevel(logging.WARNING)

        pychess = PyChessCECP()
    else:
        print("Unknown argument(s):", repr(sys.argv))
        sys.exit(0)

    pychess.makeReady()
    pychess.run()
コード例 #3
0
ファイル: PyChess.py プロジェクト: zennsocial/pychess
        for depth in range(1, self.sd):
            if not lsearch.searching:
                break
            board = self.board.clone()
            mvs, scr = alphaBeta(board, depth)

            pv1 = " ".join(listToSan(board, mvs))
            time_cs = int(100 * (time() - start))
            self.print("%s %s %s %s %s" %
                       (depth, scr, time_cs, lsearch.nodes, pv1))

            lsearch.nodes = 0


if __name__ == "__main__":
    import logging
    from pychess.Players.PyChessCECP import PyChessCECP
    if len(sys.argv) == 1 or sys.argv[1:] == ["debug"]:
        if "debug" in sys.argv[1:]:
            log.logger.setLevel(logging.DEBUG)
        else:
            log.logger.setLevel(logging.WARNING)

        pychess = PyChessCECP()
    else:
        print("Unknown argument(s):", repr(sys.argv))
        sys.exit(0)

    pychess.makeReady()
    pychess.run()
コード例 #4
0
ファイル: engine.py プロジェクト: leogregianin/pychess
 def setUp(self):
     self.engine = PyChessCECP()
コード例 #5
0
ファイル: engine.py プロジェクト: zhaoshaojun/pychess
 def setUp(self):
     self.engine = PyChessCECP()
コード例 #6
0
ファイル: PyChess.py プロジェクト: rajrakeshdr/pychess
            board = self.board.clone()
            mvs, scr = alphaBeta(board, depth)

            pv = " ".join(listToSan(board, mvs))
            time_cs = int(100 * (time() - start))
            print("%s %s %s %s %s" % (depth, scr, time_cs, lsearch.nodes, pv))

            lsearch.nodes = 0


################################################################################
# main                                                                         #
################################################################################

if __name__ == "__main__":

    if len(sys.argv) == 1 or sys.argv[1:] == ["xboard"]:
        from pychess.Players.PyChessCECP import PyChessCECP
        pychess = PyChessCECP()

    elif len(sys.argv) == 5 and sys.argv[1] == "fics":
        from pychess.Players.PyChessFICS import PyChessFICS
        pychess = PyChessFICS(*sys.argv[2:])

    else:
        print("Unknown argument(s):", repr(sys.argv))
        sys.exit(0)

    pychess.makeReady()
    pychess.run()