RCTeam Manual


Features


TOP

Vorraussetzungen

Hardware:

Software:

Runtime

Entwicklung / Kompilierung


TOP

Installation

Zuerst muss man eine Kopie aus dem CVS-Server auschecken. Nachfolgend sind die heirzu notwendigen Daten angegeben.
Server : eratosthenes.informatik.uni-mannheim.de
User : stork
Passwort : *********
Verzeichnis : eratosthenes.informatik.uni-mannheim.de
Modul : rcteam

Beispiel:

cvs -d :pserver:stork@eratosthenes.informatik.uni-mannheim.de:/opt/cvs/cvsroot/ProgrammierMethodik/pm22 login
[enter password]
cvs -z3 co rcteam

Nach dem erfolgreichen auschecken sollte man nun ein Verzecihnis namens r rcteam im aktuellen Verzecihnis besitzen. Man wechselt nun in das rcteam/src Verzechnis. Hier kann man nun den Quelltext kompilieren. Dies kann durch
javac *.java
oder
make
erfolgen.

(PS: mit \"make jar\" kann man auch ein jar-Archiv des Programms erzeugen)


Um die Dokumenataion neu zu erstellen muss man ins doc-Verzeichnis wechseln und eines der einfachfolgendes Kommandos starten:
doxygen RCTeam.doxy
oder
make doc
(PS: hierzu muss jedoch eine lauffähige Version von Doxygen auf ihrem System installiert sein)
TOP

Start

Um das Team zu starten muss man wieder ins src-Verzeichnis wechseln. Dort kann man dann das Team wie folgt starten.
java RCTeam [TeamName]
bzw.
java -jar RCTeam.jar [TeamName]
Das Programm liest dann die Config-Datei ein und versucht entsprechend dieser ein Team zu initialisieren. Nach einem erfolgreichen start öffnet sich dan die Shell.
TOP

Display

Das Display veranschaulicht das Weltbild eines Spieler. Es kann vom Start an in der Config-Datei aktiviert werden oder nach dem Start in der Shell , z.B. mit "display 1".
TOP

Configfile

Die Config Datei besteht aus beliebig vielen Kommentaren, die mit einem # beginnen, und aus mehreren Tupeln von verschiedenen Werten. Die Tupel entsprechen jeweils einem Spieler der Mannschaft.

Pseudo-Syntax:

CommandLine ::= Comment | Entry
Entry ::= Goalie:Visual:Point:Point
Comment ::= # String
Goalie ::= boolean
Visual ::= boolean
Point ::= float:float

Beispiel:

# config file for RCTeam
#
# syntax :
# CommandLine ::=  Comment | Entry
# Entry    ::= Goalie:Visual:Point:Point
# Comment  ::= # String
# Goalie   ::= boolean
# Visual   ::= boolean
# Point    ::= float:floatrue:false:-52.5:17:-35:-17

false:false:-35:17:-17.5:0
false:false:-35:0:-17.5:-17
false:false:-52.5:34:0:17
false:false:-52.5:-17.5:0:-34
false:false:-17.5:17:17.5:0
false:false:-17.5:0:17.5:-17
false:false:0:34:52.5:17
false:false:0:-17:52.5:-34
false:false:17.5:17:52.5:0
false:false:17.5:0:52.5:-17
	    

TOP

Shell

Die Shell bietet eine Möglichkeit um sich die internen Zustände der einzelnen Spieler anzuschauen. Und um einige ausgewählte Aktionen zu starten.
Es stehen folgende Funktionen zu verfügung:
(c)onfig Dieser Befehl zeigt die Konfiguration des aktuellen Team an:
Beispiel:
Number	Goalie	Visual	StartPoint	CurrentPoint
================================================================================
1	true	false	(-43.75, 0.0)	(-43.8, 0.0)
2	false	false	(-26.25, 8.5)	(-26.344, 8.559)
3	false	false	(-26.25, -8.5)	(-26.344, -8.559)
4	false	false	(-26.25, 25.5)	(-26.327, 25.424)
5	false	false	(-26.25, -25.75)	(-26.327, -25.424)
6	false	false	(0.0, 8.5)	(0.0, 8.5)
7	false	false	(0.0, -8.5)	(-0.051, -8.323)
8	false	false	(26.25, 25.5)	(26.327, 25.424)
9	false	false	(26.25, -25.5)	(26.141, -25.542)
10	false	false	(35.0, 8.5)	(34.833, 8.684)
11	false	false	(35.0, -8.5)	(34.833, -8.684)
	  
(d)isplay NUM aktiviert das Display für den Spieler mit der Nummer NUM
(i)nfo NUM zeigt informationen zu dem Spieler mit der Nummer NUM an :
Beispiel:
Player's Time     = 0
Player's Angle    = 167.0
Player'a Position = (34.833, -8.684)
Player's Ball     = (-0.679/0.169) at 0
Player's Area     = (17.5, 0.0) => (52.5, -17.0)
Player's Enemy 0 : (0.0, 0.0) at 0
Player's Enemy 1 : (0.0, 0.0) at 0
Player's Enemy 2 : (0.0, 0.0) at 0
Player's Enemy 3 : (0.0, 0.0) at 0
Player's Enemy 4 : (0.0, 0.0) at 0
Player's Enemy 5 : (0.0, 0.0) at 0
Player's Enemy 6 : (0.0, 0.0) at 0
Player's Enemy 7 : (0.0, 0.0) at 0
Player's Enemy 8 : (0.0, 0.0) at 0
Player's Enemy 9 : (0.0, 0.0) at 0
Player's Enemy 10 : (0.0, 0.0) at 0
	  
(h)elp zeigt liste mit allen Befehlen und einer kurzen Beschreibung dazu an.
(l)og BOOL zeigt den aktuellen status des Loggers an, bzw. setzt den neuen Status entspechend BOOL.
(n)network zeigt Informationen zur aktuellen Netzwerkverbindung an
Beispiel:
Server : localhost
Port   : 6000
	  
(q)uit beendet alle Thread und anschliesend das Programm
(s)end NUM MSG hiermit ist es möglich im Namen eines Spielers Befehle an den Server zu schicken

TOP

Bugs & TODO

Im folgenden wird eine Liste mit Featuren aufgelistet, die aus Zeitgründen nicht implementiert werden konnten, aber sinnvolle Erweiterungen darstellen.

TOP
Last modified: Fri Jul 5 01:58:17 UTC 2002