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