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

Quick Search    Search Deep

Source code: org/zazof/jteg/StartMessageProt5.java


1   /**
2    *
3    *  An observer gets this messages "start=..." when it logs in
4    *
5    *  Message that processes "start=" events.
6    *  This message is valid for following protocols:
7    *    version 3: OK
8    *    version 4: ?
9    *    version 5: ?
10   *
11   *  Content = "start=player_name,color,player_id,x2,x3,x4,x5,x6(/player_name,y0,y1,y2,y3,y4,y5,y6)+"
12   *
13   * @author Jef De Geeter
14   * @author Yves Vandewoude
15   */
16  
17  
18  package org.zazof.jteg;
19  
20  import java.util.StringTokenizer;
21  import java.util.Vector;
22  
23  public class StartMessageProt5 extends StartMessage{
24  
25    public StartMessageProt5(Message nextMessage){
26      super(nextMessage);
27    }
28  
29  
30    public Message decodeMessage(String messageDescription)
31      throws UnknownMessageException
32    {
33      String firstToken = (new StringTokenizer(messageDescription,"=")).nextToken();    
34      if (!(firstToken.equals("start")))
35      {
36        // Not for me...
37        if (this.hasNextMessage())
38          {
39            return getNextMessage().decodeMessage(messageDescription);
40          }
41        throw new UnknownMessageException(messageDescription);
42      }
43      else
44      {
45        if (DEBUG) System.out.println("Created StartMessage:" + messageDescription);
46        StringTokenizer st = new StringTokenizer(messageDescription, "=/");
47        st.nextToken(); //start
48        while(st.hasMoreTokens()){
49          $help.add(new PlayerHelpProtocol5(st.nextToken()));
50          $counter++;
51        }  
52        return this;
53      }
54    }
55  
56  
57    /**
58      * @return name of the player of the current information item
59     */
60    public String getPlayerName(){
61      return ((PlayerHelpProtocol5)$help.elementAt($index)).getPlayerName();
62    }  
63  
64    /**
65     * @return color of the player of the current information item
66     */
67    public int getPlayerColor(){
68      return ((PlayerHelpProtocol5)$help.elementAt($index)).getPlayerColor();
69    }
70  
71    /**
72     * @return id of the player of the current information item
73     */
74    public int getPlayerID(){
75      return ((PlayerHelpProtocol5)$help.elementAt($index)).getPlayerID();
76    }
77  
78    // vector help contains several (counter) PlayerHelp objects.
79    private Vector $help = new Vector(6); 
80    // counter counts the number of PlayerHelp objects held by the vector help.
81    private int $counter = 0;
82    // index is used to access the current PlayerHelp object
83    private int $index = 0;
84    private static final boolean DEBUG = false;
85  }
86