Package pdp.scrabble.game

Examples of pdp.scrabble.game.Letter


    String list = JOptionPane.showInputDialog(getGameLang(message));

    if (list != null && !list.isEmpty()) {
      letterList = new ArrayList<Letter>(1);
      int len = list.length();
      Letter letter = null;

      if (len > 0 && len <= Rack.MAX_RACK_LETTERS) {
        for (int i = 0; i < len; i++) {
          letter = this.player.getRack().getLetter(list.charAt(i));
          if (letter != null) {
View Full Code Here


     */
    private boolean dropLetterOnBoard(Player player, int vertCase, int horiCase) {
  if (player != null
      && mainFrame.getMultiplayerPanel().getAction().isMyTurn()) {

      Letter letter = player.getSelectedLetter();

      // Ensure letter exists and board case is free
      if (letter != null
    && this.board.getCase(vertCase, horiCase).getState() == FREE) {

    // Choose if joker
    if (letter.getName() == Bag.JOKER) {
        Object result = JOptionPane.showInputDialog(
          this.panel, getMessagesLang("Which letter ?"), "Joker",
          OK_CANCEL_OPTION, null, Bag.AVAILABLE_LETTERS, 0);

        Debug.console("dropLetterOnBoard", "choose joker",
          String.valueOf(result));

        if (result != null) {
      letter.setJokerChar((Character) result);
        }
        else {
      letter.setJokerChar(Bag.JOKER);
        }
    }

    // Assign letter on board
    if (letter.getJokerChar() != Bag.JOKER) {
        this.board.setCaseLetter(vertCase, horiCase, letter, true);

        // Remove letter from player rack
        player.getRack().removeLetter(letter);

View Full Code Here

    char c=l.getName();
    if (c == Bag.JOKER) {
        for (int i=0 ; i<Bag.AVAILABLE_LETTERS.length ; i++) {
      char joker = Bag.AVAILABLE_LETTERS[i];
      if ((child=dawg.getChild(node, joker))!=-1) {
          Letter tmp = removeFromRack(letters, c);
          leftPart(dir, board, letters, square,
            partialWord.append(Character.toLowerCase(joker)),
            child, limit-1);
          partialWord.deleteCharAt(partialWord.length()-1);
          letters.addLetter(tmp);
      }
        }
    }
    else if (c!=Bag.JOKER && (child=dawg.getChild(node, c)) != -1) // the letter labels an edge out of node
    {
        Letter tmp = letters.removeLetter(l);
        leftPart(dir, board, letters, square, partialWord.append(c), child, limit-1);
        partialWord.deleteCharAt(partialWord.length()-1);
        letters.addLetter(tmp);
    }
      }
View Full Code Here

    }

    private Letter removeFromRack(Rack letters, char c) {
  for (int i=0 ; i<letters.getNumberOfLetters() ; i++)
      if (letters.getLetter(i).getName() == c) {
    Letter tmp = letters.getLetter(i);
    letters.removeLetter(tmp);
    return tmp;
      }
  return null;
    }
View Full Code Here

    if (c == Bag.JOKER) {
        for (int i=0 ; i<Bag.AVAILABLE_LETTERS.length ; i++) {
      char joker = Bag.AVAILABLE_LETTERS[i];
      if ((child=dawg.getChild(node, joker))!=-1 &&
        allowedLetters[dir.ordinal()].get(square).isAllowed(joker)) {
          Letter tmp = removeFromRack(letters, c);
          extendRight(dir, board, letters, dir.applyTo(square),
            partialWord.append(Character.toLowerCase(joker)),
            child, false);
          dir.applyReverseTo(square);
          partialWord.deleteCharAt(partialWord.length()-1);
          letters.addLetter(tmp);
      }
        }
    }
    if (c!=Bag.JOKER
      &&((child = dawg.getChild(node, c)) != -1)
      && allowedLetters[dir.ordinal()].get(square).isAllowed(c)) {
        Letter tmp = letters.removeLetter(l);
        extendRight(dir, board, letters, dir.applyTo(square),
          partialWord.append(c), child, false);
        dir.applyReverseTo(square);
        partialWord.deleteCharAt(partialWord.length() - 1);
        letters.addLetter(tmp);
View Full Code Here

      {
        char c =letters.getLetter(i).getName();
        String s= ""+ c;
        if(node.contains(s)){
          GADDAGNode newNode = node.getChild(c);
          Letter l=letters.getLetter(i);
          letters.removeLetter(l);
          GoOn(posRelative, posAbs,s, word,letters, newNode, node);
          letters.addLetter(l);
        }
        if(letters.getLetter(i).getJokerChar()=='_')
          for(int k=0; k<node.numberChilds();k++)
          {
            Letter l=letters.getLetter(i);
            letters.removeLetter(l);
            GoOn(posRelative,posAbs,node.getChild(k).getValue(), word ,letters,node.getChild(k),node);
            letters.addLetter(l);
          }
      }
View Full Code Here

  else return false;
    }

    @Override
    public Letter clone() {
  Letter letter = FACTORY.createLetter(
    this.getName(), this.getValue(), this.getID());

  letter.setJokerChar(this.getJokerChar());
  letter.setColor(this.color);
  return letter;
    }
View Full Code Here

    g.fill3DRect(x + 322, 12 + y, 7, 55, true);
    g.fill3DRect(x + 5, 57 + y, 329, 11, true);

    // For each rack letter
    for (int i = 0; i < Rack.MAX_RACK_LETTERS; i++) {
        Letter letter = player.getRack().getLetter(i);
        int x1 = x + 16 + i * (CASE_SIZE + 4);
        int y1 = 16 + y;

        // Draw empty case
        g.setColor(Color.BLACK);
        g.drawRect(x1, y1, CASE_SIZE, CASE_SIZE);

        // Draw occupied case
        if (letter != null) {
      letter.render(g, x1, y1);
        }
    }

    y += RACK_HEIGHT;
      }
View Full Code Here

      for (int i = 0; i < number; i++) {
    boolean found = false;

    // For each used letter
    for (int j = 0; j < len; j++) {
        Letter letter = usedLetters.get(j);

        if (!used.contains(letter.getID())) {
      char a = rule.get(i).getName();
      char b = letter.getName();

      // Letter found, mark index as used
      if (a == b) {
          found = true;
          used.add(letter.getID());
          break;
      }
        }
    }
View Full Code Here

    private Placement tryLocation(Board board, StringBuilder location, int len,
          Player player, boolean vertical, int axis) {

  Placement best = FACTORY.createPlacement();
  HashSet<Loc> allowed = new HashSet<Loc>(1);
  Letter letter = null;
  int index = 0;
  int skip = 0;
  int i = 0, j = 0;

  // Find existing letters
View Full Code Here

TOP

Related Classes of pdp.scrabble.game.Letter

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.