Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }