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

Quick Search    Search Deep

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


1   package org.zazof.jteg;
2   
3   import org.zazof.jteg.Message;
4   import java.util.StringTokenizer;
5   
6   /**
7    *  Message that processes "new_player=" events.
8    *  This message is valid for following protocols:
9    *    version 3: OK
10   *    version 4: NO  
11   *    version 5: NO
12   *
13   *  Content = "new_player=player_name,player_number,playercolor"
14   *
15   * @author Jef De Geeter
16   * @author Yves Vandewoude
17   */
18  
19  public class NewPlayerMessage extends Message{
20  
21  
22    public NewPlayerMessage(Message nextMessage){
23      setNextMessage(nextMessage);
24    }
25  
26    public Message decodeMessage(String messageDescription)
27      throws UnknownMessageException
28    {
29      String firstToken = (new StringTokenizer(messageDescription,"=")).nextToken();    
30      if (!(firstToken.equals("newplayer")))
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(); //new_player
43        $playerName = st.nextToken();
44        $playerNumber = Integer.parseInt(st.nextToken());
45        $playerColor = Integer.parseInt(st.nextToken());
46        if (DEBUG) System.out.println("Created NewPlayerMessage: name: " + getNewPlayerName() + ", nb: " + getNewPlayerNumber() + ", color nb: " + getNewPlayerColor());
47        return this;
48      }
49    }
50  
51  
52    public String constructMessageString(String[] messageParts)
53      throws UnknownMessageException
54    {
55      if (!(messageParts[0]).equals("newplayer"))
56      {
57        // Not for me...
58        if (this.hasNextMessage())
59          {
60            return getNextMessage().constructMessageString(messageParts);
61          }
62        throw new UnknownMessageException("No String could be constructed for a message with this parameter: " + messageParts[0]);
63      }
64      else
65      {
66        return ("player_id=" + messageParts[1] + "," + messageParts[2]);
67      }
68    }
69  
70  
71    public String getMessageName(){
72      return "new_player";
73    }
74  
75    public String getNewPlayerName(){
76      return $playerName;
77    }
78  
79    public int getNewPlayerNumber(){
80      return $playerNumber;
81    }
82  
83    public int getNewPlayerColor(){
84      return $playerColor;
85    }
86    
87    private String $playerName;
88    private int $playerNumber;
89    private int $playerColor;
90    static final boolean DEBUG = false;
91  }