Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.98 KB | None | 0 0
  1. public class DominoPlayer {
  2.     private String name;
  3.     private DominoPiece[] dominoPieces;
  4.  
  5.     public DominoPlayer(String name, DominoPiece[] tiles) {
  6.         this.name = name;
  7.         dominoPieces = tiles;
  8.     }
  9.  
  10.     public DominoPlayer(String name) {
  11.         this.name = name;
  12.     }
  13.  
  14.     //Default constructor
  15.     public DominoPlayer(){
  16.     }
  17.    
  18.     //The method gives the player domino tiles
  19.     public void giveDominoPieces(DominoPiece[] pieces) {
  20.         if (dominoPieces == null)
  21.             dominoPieces = pieces;
  22.         else { //If the player already has some domino tiles
  23.             int oldSize = dominoPieces.length;
  24.             DominoPiece[] dpsTemp = dominoPieces;
  25.             dominoPieces = new DominoPiece[oldSize + pieces.length];
  26.             for (int i = 0; i < oldSize; i++)
  27.                 dominoPieces[i] = dpsTemp[i];
  28.             for (int i = 0; i < pieces.length; i = i + 1)
  29.                 dominoPieces[i + oldSize] = pieces[i];
  30.         }
  31.     }
  32.  
  33.     //Check if there is a valid move and make that move
  34.     public boolean playMove(GameBoard gameBoard) {
  35.         for (DominoPiece piece : dominoPieces) {
  36.             if (gameBoard.addToLeftEnd(piece) || gameBoard.addToRightEnd(piece)) {
  37.                 removePiece(piece);
  38.                 return true;
  39.             } else {
  40.                 piece.flipDominoPiece();
  41.                 if (gameBoard.addToLeftEnd(piece) || gameBoard.addToRightEnd(piece)) {
  42.                     removePiece(piece);
  43.                     return true;
  44.                 }
  45.             }
  46.         }
  47.         return false;
  48.     }
  49.  
  50.     //After the move the player doesn't have the tile anymore
  51.     private void removePiece(DominoPiece piece) {
  52.         DominoPiece[] pieces = new DominoPiece[dominoPieces.length - 1];
  53.         int counter = 0;
  54.         for (DominoPiece tempPiece : dominoPieces)
  55.             if (!tempPiece.equals(piece)) {
  56.                 pieces[counter] = tempPiece;
  57.                 counter++;
  58.             }
  59.         dominoPieces = pieces;
  60.     }
  61.  
  62.     //The score that the player has earned
  63.     public int countScore() {
  64.         int sum = 0;
  65.         for (DominoPiece piece : dominoPieces)
  66.             sum += piece.getLeft() + piece.getRight();
  67.         return sum;
  68.     }
  69.  
  70.     //Check if the player has move domino pieces in his hand
  71.     public boolean hasMoreDominoPieces() {
  72.         return dominoPieces.length > 0;
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement