ip4.ass4.client
Class Tennis

java.lang.Object
  extended by ip4.ass4.client.Tennis
All Implemented Interfaces:
TennisControllerListener, TennisInitListener
Direct Known Subclasses:
AutoTennis

public class Tennis
extends java.lang.Object
implements TennisInitListener, TennisControllerListener

tennisklient, interagerar med användaren genom ett TennisGUI samt med användarens motståndare genom den TennisServer som klienten är uppkopplad mot.

Author:
Henrik Johansson

Field Summary
private  TennisGUI gui
          klientens grafiska användargränssnitt
private  java.lang.String host
          url till servern
private  java.lang.String id
          identifierar klienten hos servern
private  boolean playing
          true om det pågår en match med klient som en av spelarna
private  int port
          port hos servern
private  RITennis server
          serverobjektet hos klienten
 
Constructor Summary
Tennis()
          default konstruktor, server = localhost
Tennis(java.lang.String host)
          konstruktor för valfri server
Tennis(java.lang.String host, int port)
          konstruktor för valfri server med angiven port
 
Method Summary
protected  TennisGUI getGUI()
           
protected  java.lang.String getId()
          returnerar värdet som identifierar klienten hos servern
protected  RITennis getServer()
           
static void main(java.lang.String[] args)
          startar tennisklienten usage: java Tennis [<host> [<port>]]
 void matchStart(TennisInitEvent event)
          Anropas precis innan matchen startar.
 void noOpponent(TennisInitEvent event)
          Anropas om det för tillfället intfinns någon motståndare.
 void opponentFound(TennisInitEvent event)
          Anropas när servern hittat en motståndare, Mtchen kommer igång inom fem sekunder.
 void play()
          Anropas när klienten skall anmäla till servern att den är beredd att spela en match. servern svarar genom att skicka ett TennisInit-objekt, till vilket klienten anmäler sig själv som TennisInitListener.
protected  void setup()
          kopplar upp klienten mot servern.
protected  void stop()
          anropas när klienten håller på att avslutas.
 void tennisAction(TennisControllerEvent e)
          tar emot instruktioner från användaren om hur racketet skall röra sig på planen.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

host

private java.lang.String host
url till servern


port

private int port
port hos servern


server

private RITennis server
serverobjektet hos klienten

See Also:
RITennis

gui

private TennisGUI gui
klientens grafiska användargränssnitt


playing

private boolean playing
true om det pågår en match med klient som en av spelarna


id

private java.lang.String id
identifierar klienten hos servern

Constructor Detail

Tennis

public Tennis()
default konstruktor, server = localhost


Tennis

public Tennis(java.lang.String host)
konstruktor för valfri server

Parameters:
host - url till servern

Tennis

public Tennis(java.lang.String host,
              int port)
konstruktor för valfri server med angiven port

Parameters:
host - url till servern
port - serverns port
Method Detail

stop

protected void stop()
anropas när klienten håller på att avslutas. Skickar meddelande till servern att klienten inte längre vill spela pågående match, eller vänta på match.


play

public void play()
Anropas när klienten skall anmäla till servern att den är beredd att spela en match. servern svarar genom att skicka ett TennisInit-objekt, till vilket klienten anmäler sig själv som TennisInitListener.

See Also:
ip4.ass4.TennisInit, ip4.ass4.TennisInitListener

getGUI

protected TennisGUI getGUI()
Returns:
klientens grafiska användargränssnitt

getServer

protected RITennis getServer()
Returns:
serverobjektet

getId

protected java.lang.String getId()
returnerar värdet som identifierar klienten hos servern

Returns:
klientens id-värde

setup

protected void setup()
kopplar upp klienten mot servern.


matchStart

public void matchStart(TennisInitEvent event)
Description copied from interface: TennisInitListener
Anropas precis innan matchen startar.

Specified by:
matchStart in interface TennisInitListener
See Also:
TennisInitListener.matchStart(ip4.ass4.server.tennisinit.TennisInitEvent)

noOpponent

public void noOpponent(TennisInitEvent event)
Description copied from interface: TennisInitListener
Anropas om det för tillfället intfinns någon motståndare.

Specified by:
noOpponent in interface TennisInitListener
See Also:
TennisInitListener.noOpponent(ip4.ass4.server.tennisinit.TennisInitEvent)

opponentFound

public void opponentFound(TennisInitEvent event)
Description copied from interface: TennisInitListener
Anropas när servern hittat en motståndare, Mtchen kommer igång inom fem sekunder.

Specified by:
opponentFound in interface TennisInitListener
See Also:
TennisInitListener.opponentFound(ip4.ass4.server.tennisinit.TennisInitEvent)

tennisAction

public void tennisAction(TennisControllerEvent e)
tar emot instruktioner från användaren om hur racketet skall röra sig på planen.

Specified by:
tennisAction in interface TennisControllerListener
Parameters:
e - händelseobjektet som beskriver racketrörelsen
See Also:
TennisControllerListener.tennisAction(ip4.ass4.client.TennisControllerEvent)

main

public static void main(java.lang.String[] args)
startar tennisklienten

usage: java Tennis [<host> [<port>]]

Parameters:
args - [<host> [<port>]]