Coverage Report - com.buckosoft.fibs.domain.gameEvent.GameEventDouble
 
Classes in this File Line Coverage Branch Coverage Complexity
GameEventDouble
0%
0/20
0%
0/4
1.25
 
 1  
 /******************************************************************************
 2  
  * GameEventDouble.java - Someone has doubled
 3  
  * $Id$
 4  
  * 
 5  
  * BuckoFIBS - Backgammon by BuckoSoft
 6  
  * Copyright© 2013 - Dick Balaska - BuckoSoft, Corp.
 7  
  * 
 8  
  * $Log$
 9  
  * Revision 1.4  2013/09/12 06:40:24  dick
 10  
  * Animating the double cube.
 11  
  *
 12  
  */
 13  
 
 14  
 /* 
 15  
  * This program is free software: you can redistribute it and/or modify
 16  
  * it under the terms of the GNU General Public License as published by
 17  
  * the Free Software Foundation, either version 3 of the License, or
 18  
  * (at your option) any later version.
 19  
  *
 20  
  * This program is distributed in the hope that it will be useful,
 21  
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 22  
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 23  
  * GNU General Public License for more details.
 24  
  *
 25  
  * You should have received a copy of the GNU General Public License
 26  
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 27  
  *
 28  
  * The Original Code is BuckoFIBS, <http://www.buckosoft.com/BuckoFIBS/>.
 29  
  * The Initial Developer of the Original Code is Dick Balaska and BuckoSoft, Corp.
 30  
  * 
 31  
  */
 32  
 package com.buckosoft.fibs.domain.gameEvent;
 33  
 
 34  
 import com.buckosoft.fibs.domain.Board;
 35  
 
 36  
 /** Someone doubled.  Awaiting opponent's reply.
 37  
  * @author Dick Balaska
 38  
  * @since 2013/09/09
 39  
  * @version $Revision$ <br> $Date$
 40  
  * @see com.buckosoft.fibs.BuckoFIBS.GameManager
 41  
  * @see <a href="http://cvs.buckosoft.com/Projects/BuckoFIBS/BuckoFIBS/src/main/java/com/buckosoft/fibs/domain/gameEvent/GameEventDouble.java">cvs GameEventDouble.java</a>
 42  
  */
 43  0
 public class GameEventDouble extends GameEvent {
 44  
         private        int        cubeBefore;
 45  
         private        int        cubeAfter;
 46  
         protected int        whoDoubled;
 47  
         
 48  
         @Override
 49  
         public Type getType() {
 50  0
                 return(Type.Double);
 51  
         }
 52  
 
 53  
         @Override
 54  
         public Life getLife() {
 55  0
                 return(Life.Persistent);
 56  
         }
 57  
 
 58  
         /** Return {@link Board#X} or {@link Board#O}
 59  
         */
 60  
         public int getWhoDoubled() {
 61  0
                 return(whoDoubled);
 62  
         }
 63  
 
 64  
         /** A dummy parser.  Nothing to parse for this event
 65  
          * @param unused
 66  
          */
 67  
         public void parse(String unused) {
 68  0
         }
 69  
 
 70  
         /** Get the value of the cube before the double
 71  
          * @return the cubeBefore
 72  
          */
 73  
         public int getCubeBefore() {
 74  0
                 return cubeBefore;
 75  
         }
 76  
 
 77  
         /** Set the current value of cube as well as the derived, next value of the cube (if accepted). 
 78  
          * @param cubeBefore the value of the cube (from the last board) to set
 79  
          */
 80  
         public void setCubeBefore(int cubeBefore) {
 81  0
                 this.cubeBefore = cubeBefore;
 82  0
                 this.cubeAfter = this.cubeBefore * 2;
 83  0
                 if (this.cubeAfter > 64)
 84  0
                         this.cubeAfter = 1;
 85  0
         }
 86  
 
 87  
         /** Get the value of the cube after the double
 88  
          * @return the cubeAfter
 89  
          */
 90  
         public int getCubeAfter() {
 91  0
                 return cubeAfter;
 92  
         }
 93  
 
 94  
         /**
 95  
          * @param cubeAfter the cubeAfter to set
 96  
          */
 97  
         //public void setCubeAfter(int cubeAfter) {
 98  
         //        this.cubeAfter = cubeAfter;
 99  
         //}
 100  
 
 101  
         /** Parse the string that created this GameEvent. <br>
 102  
          * <code>dickbalaska doubles.</code>
 103  
          * @param s The FIBS string
 104  
          * @param b The Board prior to this double (used to determine which player is doubling)
 105  
          */
 106  
         public void parse(String s, Board b) {
 107  0
                 String[] ss = s.split(" ");
 108  0
                 playerName = ss[0];
 109  0
                 if (playerName.equals(b.getPlayerName()[Board.O])) {
 110  0
                         whoDoubled = Board.turnO;
 111  0
                         b.getWasDoubled()[Board.O] = true; 
 112  
                 } else {
 113  0
                         whoDoubled = Board.turnX;
 114  0
                         b.getWasDoubled()[Board.X]= true; 
 115  
                 }
 116  0
         }
 117  
         
 118  
 }