Package com.tinygo.logic

Examples of com.tinygo.logic.DocumentedGame


    public void testCgobanSGF() {
        try {
            String data = "(;GM[1]FF[3]SZ[4]HA[0](;AW[bb]PL[2](;W[cc])(;W[aa])))";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            game.next();
            assertEquals(game.board.get(1, 1), Board.WHITE);
            assertEquals(Board.WHITE, game.colorToPlay);
            game.next();
            assertEquals(game.board.get(2, 2), Board.WHITE);
            game.nextVariant();
            assertEquals(game.board.get(2, 2), Board.NONE);
            assertEquals(game.board.get(0, 0), Board.WHITE);
        } catch (Exception e) {
            e.printStackTrace();
            fail("Unexpected!");
View Full Code Here


    public void testUndoAdd() {
        try {
            String data = "(;GM[1]FF[3]SZ[4]HA[0];AW[bb]AB[aa]PL[2];W[cc]))";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            game.next();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.next();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.WHITE, game.board.get(2, 2));
            game.prev();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.prev();
            assertEquals(Board.NONE, game.board.get(0, 0));
            assertEquals(Board.NONE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.next();
            game.next();
            game.undo();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.undo();
            assertEquals(Board.NONE, game.board.get(0, 0));
            assertEquals(Board.NONE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
        } catch (Exception e) {
            e.printStackTrace();
View Full Code Here

    public void testUndoAddEmpty() {
        try {
            String data = "(;GM[1]FF[3]SZ[4]HA[0];AW[bb]AB[aa]PL[2];W[cc]AE[aa]))";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            game.next();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.next();
            assertEquals(Board.NONE, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.WHITE, game.board.get(2, 2));
            game.prev();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.prev();
            assertEquals(Board.NONE, game.board.get(0, 0));
            assertEquals(Board.NONE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.next();
            game.next();
            game.undo();
            assertEquals(Board.BLACK, game.board.get(0, 0));
            assertEquals(Board.WHITE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
            game.undo();
            assertEquals(Board.NONE, game.board.get(0, 0));
            assertEquals(Board.NONE, game.board.get(1, 1));
            assertEquals(Board.NONE, game.board.get(2, 2));
        } catch (Exception e) {
            e.printStackTrace();
View Full Code Here

    public void testWhiteToPlay() {
        try {
            String data = "(;GM[1]FF[3]SZ[4]HA[0];W[cc])";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            assertEquals(Board.WHITE, game.colorToPlay);
            game.next();
            assertEquals(game.board.get(2, 2), Board.WHITE);

            data = "(;PW[White]PB[Black];AB[pn](;B[rr];W[rs](;B[sr])(;B[ss];W[sr])(;B[qr];W[sr])(;B[rq];W[sr]))(;B[rs];W[rr])(;B[sr];W[rr])(;B[ss];W[rr]))";
            parser = new SGFParser(data);
            tree = parser.parse();
            game = new DocumentedGame(tree);
            assertEquals(SGFMove.BLACK, game.colorToPlay);
            game.next();
            assertEquals(SGFMove.BLACK, game.colorToPlay);
            game.next();
            assertEquals(SGFMove.WHITE, game.colorToPlay);
        } catch (Exception e) {
            e.printStackTrace();
            fail("Unexpected!");
        }
View Full Code Here

    public void testKifuFirstMove() {
        try {
            String data = "(;PW[White]PB[Me]AW[cb]AW[db]AW[eb]AW[bc]AW[cc]AW[cd]AW[dd]AW[ed]AW[fd]AW[gd]AW[de]AW[fe]AW[df]AW[ef]AB[bb]AB[fb]AB[hb]AB[ac]AB[dc]AB[ec]AB[fc]AB[gc]AB[bd]AB[hd]AB[be]AB[ce]AB[ge]AB[he]AB[cf]AB[ff]AB[hf]AB[cg]AB[dg]AB[eg]AB[fg];B[](;W[ca]CR[ca](;B[ea]CR[ea];W[ab]CR[ab](;B[aa]CR[aa];W[ba]CR[ba]C[RIGHT])(;B[ad]CR[ad];W[ba]CR[ba]C[RIGHT]))(;B[ad]CR[ad];W[ea]CR[ea]C[RIGHT])(;B[ab]CR[ab];W[ea]CR[ea]C[RIGHT]))(;W[ea]CR[ea];B[ca]CR[ca](;W[ab]CR[ab];B[aa]CR[aa])(;W[da]CR[da];B[ab]CR[ab])(;W[ba]CR[ba];B[ab]CR[ab]))(;W[ab]CR[ab];B[aa]CR[aa](;W[ca]CR[ca](;B[ea]CR[ea];W[ba]CR[ba]C[RIGHT])(;B[ad]CR[ad];W[ea]CR[ea]C[RIGHT]))(;W[ea]CR[ea];B[ca]CR[ca]))(;W[ba]CR[ba];B[ab]CR[ab](;W[ca]CR[ca];B[ea]CR[ea])(;W[ea]CR[ea];B[ca]CR[ca]))(;W[da]CR[da];B[ab]CR[ab]))";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            SGFNode node = game.kifuFirstMove(true);
            SGFMove move = node.getMoveProperty();
            assertEquals(SGFMove.WHITE, move.color);
            assertEquals(2, move.x);
            assertEquals(0, move.y);
        } catch (Exception e) {
View Full Code Here

    public void testCompressed() {
        try {
            String data = "(;SZ[3]AW[aa:cb]AB[bc][cc])";
            SGFParser parser = new SGFParser(data);
            SGFNode tree = parser.parse();
            DocumentedGame game = new DocumentedGame(tree);
            byte[] gold = {
                W, W, W,
                W, W, W,
                N, B, B
            };
View Full Code Here

    }

    void checkData(String data, byte[][] gold, int[] wCapts, int[] bCapts) throws Exception {
        SGFParser parser = new SGFParser(data);
        SGFNode tree = parser.parse();
        DocumentedGame game = new DocumentedGame(tree);
        int node = 0;
        do {
            for (int pos = 0; pos < game.board.maxPos(); pos++) {
                //SGFPoint p = game.board.xy(pos);
                //System.out.println("Node " + node + " pos " + p.x + "," + p.y);
                assertEquals(gold[node][pos], game.board.get(pos));
            }
            assertEquals(wCapts[node], game.whiteCaptures);
            assertEquals(bCapts[node], game.blackCaptures);

            node++;
        } while (game.next());
        assertEquals(gold.length, node);
    }
View Full Code Here

                    // Read and parse file in main thread. It's running too slow in parallel!
                    //display.callSerially(new Runnable() {
                        //public void run() {
                            //try {
                                DocumentedGame game = loadGame(is, offset);
                                //#ifdef debug
                                System.out.println("DONE");
                                //#endif

                                if (game != null) {
                                    if (mode == probMode) {
                                        // skip first "Pass" moves, since we don't have "Pass" in problem mode
                                        SGFNode lastSetupNode = game.kifuFirstMove(true).iterator().prev(false);
                                        if (lastSetupNode != null) {
                                            try {
                                                while (game.kifuLastMove() != lastSetupNode && game.next())
                                                    // DO NOTHING
                                                    ;
                                            } catch (GameException e) {
                                                // DO NOTHING
                                            }
View Full Code Here

        tree = parser.tree;*/
        if (newTree == null)
            return null;

        //System.out.println(SGFWriter.toString(tree));
        return new DocumentedGame(newTree);
    }
View Full Code Here

    public void mainMenuNewGame(String white, String black,
            String ruleSet, int size, int handicap, float komi,
            int ts, long mainTime, long byoYomiTime, int byoYomiAttr) {
        display.setCurrent(gobanCanvas);
        resetProblemEnum();
        game = new DocumentedGame(size, komi, ruleSet, white, black);
        game.setHandicap(handicap);
        setMode(playMode);
        setGame(game, true);
        timeSystem.init(ts, mainTime, byoYomiTime, byoYomiAttr);
        timeSystem.start(game.colorToPlay == Board.BLACK);
View Full Code Here

TOP

Related Classes of com.tinygo.logic.DocumentedGame

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.