Package org.kaminoite.ranka.kido.ipad.tools.go.specification.structure

Examples of org.kaminoite.ranka.kido.ipad.tools.go.specification.structure.Node


        if (info == null)
            info = new GameInfo();
        GameTree tree = new GameTree(board.getSize(), info.getKomi(), null,
                                     info.get(StringInfo.RULES),
                                     info.getTimeSettings());
        Node root = tree.getRoot();
        for (GoPoint p : board)
        {
            GoColor c = board.getColor(p);
            if (c.isBlackWhite())
                root.addStone(c, p);
        }
        root.setPlayer(board.getToMove());
        return tree;
    }
View Full Code Here


    /** Remove all children. */
    public static void truncateChildren(Node node)
    {
        while (true)
        {
            Node child = node.getChild();
            if (child == null)
                break;
            node.removeChild(child);
        }
    }
View Full Code Here

  /** Map containing the properties of the current node. */
  private final Map<String, ArrayList<String>> m_props = new TreeMap<String, ArrayList<String>> ();

  /** Apply some fixes for broken SGF files. */
  private void applyFixes () {
    Node root = m_tree.getRoot ();
    GameInfo info = m_tree.getGameInfo (root);
    if (root.hasSetup () && root.getPlayer () == null)
    {
      if (info.getHandicap () > 0)
      {
        root.setPlayer (WHITE);
      }
      else
      {
        boolean hasBlackChildMoves = false;
        boolean hasWhiteChildMoves = false;
        for (int i = 0; i < root.getNumberChildren (); ++i)
        {
          Move move = root.getChild (i).getMove ();
          if (move == null)
            continue;
          if (move.getColor () == BLACK)
            hasBlackChildMoves = true;
          if (move.getColor () == WHITE)
            hasWhiteChildMoves = true;
        }
        if (hasBlackChildMoves && !hasWhiteChildMoves)
          root.setPlayer (BLACK);
        if (hasWhiteChildMoves && !hasBlackChildMoves)
          root.setPlayer (WHITE);
      }
    }
  }
View Full Code Here

    }
    m_tokenizer.nextToken ();
    int ttype = m_tokenizer.ttype;
    if (ttype == '(')
    {
      Node node = father;
      while (node != null)
        node = readNext (node, false);
      return father;
    }
    if (ttype == ')')
      return null;
    if (ttype == StreamTokenizer.TT_EOF)
    {
      setWarning ("Game tree not closed");
      return null;
    }
    if (ttype != ';')
      throw getError ("Next node expected");
    Node son = new Node ();
    if (father != null)
      father.append (son);
    m_ignoreOvertime = false;
    m_byoyomiMoves = -1;
    m_byoyomi = -1;
View Full Code Here

        reader = new InputStreamReader (in);
      }
      m_reader = new BufferedReader (reader);
      m_tokenizer = new StreamTokenizer (m_reader);
      findRoot ();
      Node root = readNext (null, true);
      Node node = root;
      while (node != null)
        node = readNext (node, false);
      checkEndOfFile ();
      getBoardSize (); // Set to default value if still unknown
      m_tree = new GameTree (m_boardSize, root);
View Full Code Here

TOP

Related Classes of org.kaminoite.ranka.kido.ipad.tools.go.specification.structure.Node

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.