| Home >> All >> org >> zazof >> [ jteg Javadoc ] |
Source code: org/zazof/jteg/WinnerMessage.java
1 /** 2 * 3 * Message that processes "winner=" events. 4 * This message is valid for following protocols: 5 * version 3: OK 6 * version 4: ? 7 * version 5: ? 8 * 9 * Content = "winner=x,y" x: player id of the loser 10 * 11 * @author Jef De Geeter 12 * @author Yves Vandewoude 13 */ 14 15 package org.zazof.jteg; 16 17 import java.util.StringTokenizer; 18 19 public class WinnerMessage extends Message{ 20 21 public WinnerMessage(Message nextMessage){ 22 setNextMessage(nextMessage); 23 24 } 25 26 public Message decodeMessage(String messageDescription) 27 throws UnknownMessageException 28 { 29 String firstToken = (new StringTokenizer(messageDescription,"=")).nextToken(); 30 if (!(firstToken.equals("winner"))) 31 { 32 // Not for me... 33 if (this.hasNextMessage()) 34 { 35 return getNextMessage().decodeMessage(messageDescription); 36 } 37 throw new UnknownMessageException(messageDescription); 38 } 39 else 40 { 41 StringTokenizer st = new StringTokenizer(messageDescription, "=,"); 42 st.nextToken(); // winner 43 $winnerID = Integer.parseInt(st.nextToken()); 44 return this; 45 } 46 } 47 48 49 public String getMessageName(){ 50 return "winner"; 51 } 52 53 public int getWinnerID(){ 54 return $winnerID; 55 } 56 57 /** 58 * @exception if that winner doesn't exist in this game 59 */ 60 public Player getWinner() throws Exception{ 61 return GameController.getInstance().getPlayerList().getPlayer($winnerID); 62 } 63 64 private int $winnerID; 65 }