1 /****************************************************************************** 2 * GameEventFirstRoll.java - Define one player Roll of the dice 3 * $Id$ 4 * 5 * BuckoFIBS - Backgammon by BuckoSoft 6 * Copyright© 2011 - Dick Balaska - BuckoSoft, Corp. 7 * 8 * $Log$ 9 * Revision 1.1 2011/05/22 05:08:59 dick 10 * All GameEvent objects are named starting with GameEvent. 11 * 12 * Revision 1.1 2011/05/21 05:11:36 dick 13 * Handle the First Roll event. 14 * 15 * Revision 1.3 2011/05/16 21:20:25 dick 16 * toString() gives some helpful debug info. 17 * 18 * Revision 1.2 2011/05/16 14:16:05 dick 19 * getPlayerName() moves to the base class. 20 * 21 * Revision 1.1 2011/05/16 11:34:22 dick 22 * Define one player Roll of the dice. 23 * 24 */ 25 26 /* 27 * This program is free software: you can redistribute it and/or modify 28 * it under the terms of the GNU General Public License as published by 29 * the Free Software Foundation, either version 3 of the License, or 30 * (at your option) any later version. 31 * 32 * This program is distributed in the hope that it will be useful, 33 * but WITHOUT ANY WARRANTY; without even the implied warranty of 34 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 35 * GNU General Public License for more details. 36 * 37 * You should have received a copy of the GNU General Public License 38 * along with this program. If not, see <http://www.gnu.org/licenses/>. 39 * 40 * The Original Code is BuckoFIBS, <http://www.buckosoft.com/BuckoFIBS/>. 41 * The Initial Developer of the Original Code is Dick Balaska and BuckoSoft, Corp. 42 * 43 */ 44 package com.buckosoft.fibs.domain.gameEvent; 45 46 47 48 /** Define one player dice roll. i.e. "<code>You rolled 3, BlunderBot_X rolled 2</code>" 49 * @author Dick Balaska 50 * @since 2011/05/18 51 * @version $Revision$ <br> $Date$ 52 * @see com.buckosoft.fibs.BuckoFIBS.GameManager 53 * @see <a href="http://cvs.buckosoft.com/Projects/BuckoFIBS/BuckoFIBS/src/main/java/com/buckosoft/fibs/domain/gameEvent/GameEventFirstRoll.java">cvs GameEventFirstRoll.java</a> 54 */ 55 public class GameEventFirstRoll extends GameEventRoll { 56 private String[] playerNames = new String[2]; 57 58 @Override 59 public Type getType() { 60 return(Type.FirstRoll); 61 } 62 63 @Override 64 public Life getLife() { 65 return(Life.Persistent); 66 } 67 68 /** Return the player names of this event 69 * @return The first and second player of this event. 70 */ 71 public String[] getPlayerNames() { 72 return(playerNames); 73 } 74 75 /** Parse the first roll string. "You rolled 3, BlunderBot_X rolled 2" 76 * @param s The fibs string to parse 77 */ 78 public void parse(String s) { 79 String[] ss = s.split(" "); 80 playerNames[0] = ss[0]; 81 playerNames[1] = ss[3]; 82 dice[0] = 0; 83 dice[1] = 0; 84 try { 85 dice[0] = Integer.parseInt(ss[2].substring(0, 1)); 86 dice[1] = Integer.parseInt(ss[5].substring(0, 1)); 87 } catch (NumberFormatException e) { 88 e.printStackTrace(); 89 } 90 } 91 92 /** Return a debug string of this event 93 * @return "<code>{player} first-roll 6-6</code>" 94 */ 95 public String toString() { 96 String s = this.playerNames[0] + " first-roll " + dice[0] + "-" + dice[1]; 97 return(s); 98 } 99 100 }