1 /******************************************************************************
2 * GameEventResign.java - A Player wants to resign.
3 * $Id$
4 *
5 * BuckoFIBS - Backgammon by BuckoSoft
6 * Copyright© 2011 - Dick Balaska - BuckoSoft, Corp.
7 *
8 * $Log$
9 */
10
11 /*
12 * This program is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation, either version 3 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 *
25 * The Original Code is BuckoFIBS, <http://www.buckosoft.com/BuckoFIBS/>.
26 * The Initial Developer of the Original Code is Dick Balaska and BuckoSoft, Corp.
27 *
28 */
29 package com.buckosoft.fibs.domain.gameEvent;
30
31 import com.buckosoft.fibs.domain.Board;
32
33
34
35 /** A Player wants to resign. i.e. "<code>You want to resign. bucko will win 2 points.</code>"
36 * @author Dick Balaska
37 * @since 2011/05/16
38 * @version $Revision$ <br> $Date$
39 * @see com.buckosoft.fibs.BuckoFIBS.GameManager
40 * @see <a href="http://cvs.buckosoft.com/Projects/BuckoFIBS/BuckoFIBS/src/main/java/com/buckosoft/fibs/domain/gameEvent/GameEventResign.java">cvs GameEventResign.java</a>
41 */
42 public class GameEventResign extends GameEvent {
43 private int resigningPoints;
44
45 @Override
46 public Type getType() {
47 return(Type.Resign);
48 }
49
50 @Override
51 public Life getLife() {
52 return(Life.Persistent);
53 }
54
55 /** Get how many points this resign event is for
56 * @return the resigningPoints
57 */
58 public int getResigningPoints() {
59 return(resigningPoints);
60 }
61
62
63 /** Parse the string that created this GameEvent. <br>
64 * <code>dickbalaska wants to resign. bucko will win 1 point.</code>
65 * @param s The FIBS string
66 * @param b The Board prior to this resign (used to determine which player is resigning)
67 */
68 public void parse(String s, Board b) {
69 String[] ss = s.split(" ");
70 playerName = ss[0];
71 this.setWho(b.getXOFromName(playerName));
72 try {
73 this.resigningPoints = Integer.parseInt(ss[7]);
74 } catch (NumberFormatException e) {
75 e.printStackTrace();
76 }
77
78 }
79
80 }