Java Client & ExampleBot Changes
27 Feb. 2002 - Ryan Rozich
- Created sourceforge project utbots
- added ant build script
build.xml
with the following
build targets. See the readme file for how to use our build script.
compile
(default)
lib
(creates executable jar file)
doc
(builds javadoc)
clean
(cleans misc. files out of source and removes
.class files)
source-release
(creates a zip file for a source
release)
all-release
(creates a zip file for a release that
includes source and built jar file and docs)
release
(builds both source-release and all-release
- In BotRunnerApp - created editable JComboBoxes instead of a text field to the 'add bot' or 'add viz tool'
dialog to make it less tedious to enter known bot types.
- Removed packages matching the pattern
us/ca/la/anm/**/not-used/*
becuase these classes
had dependancies that were not included therefore we could not compile. These classes are apparently
never used so we saw no harm in this.
- Wrote the javadoc for
edu.tamu.gamebots
Bot which is the class most people need a reference for
- Created the package
edu.tamu.gamebots
for our source
- Created a HumanBot class
edu.tamu.gamebots
HumanBot which is pretty much just
a user interface that allows a human to read the messages sent from the
server and to send messages on behalf of his bot. This was a first step
in playing with and getting to know the javabot API and the GameBot network
protocal. This lets us test exactly when and how messages are recieved by
our bots.
- Moved the
CMU_JBot class from the default package to one named
edu.cmu.gamebots
for consistency
- This class simply copied the code from ExampleBot and made changes
directly to the source. We thought a better design might have been to simply
extend the ExampleBot class and even considered rewriting it to do so. We
decided not to take the time to do this though.
- Added more String constants to the
edu.isi.gamebots.client.GamebotsConstants
interface for parsing
and sending messages to UTServer
- Added the several more convienience methods to
edu.isi.gamebots.client.Bot class
, almost complete set of actions
now available
- Added
public void edu.isi.gamebots.client.GamebotsClient.sendMsg(String)
method to send arbitrary messages to the gamebots server
- Added
public MessageBlock edu.isi.gamebots.client.MessageBlock .onlyNodeMessages()
to return a new mesasge block that only has Node type messages. This was
useful for our interface's table and we thought that it may be useful in
other ways so we included it as an instance method of the class.
- Added
public Message edu.isi.gamebots.client.MessageBlock.getMessageAt(int)
to get a particular message. Reasons same as previous.
- Added
public int edu.isi.gamebots.client.MessageBlock.getNumMessages()
to get the number of messages in the block. Reasons same as previous.
- Changed the name of the abstract inner class
edu.isi.gamebots.client.
GamebotsConstants.Map
to
edu.isi.gamebots.client.GamebotsConstants.TeamColorMap
- This was a big decision; we considered not making this change
because we thought that other peoples code may use this class and changing
the name might break their build. The problems that we were having were
that we could not get the source to compile (usuing sun javac 1.3.1_02)
because in several places the code uses the
java.util.Map
interface
and the compiler expected this abstract inner class. We first went through
and wrote the full package name java.util.Map
for all references
to that interface interface. The code compiled, but we still made the name
change to avoid further confusion.
- Updated
edu.isi.gamebots.client.BotRunnerApp
to call edu.isi.gamebots.client.TeamColorMap
instead of edu.isi.gamebots.client. Map
where appropriate.
29 Sept. 2001
- Added support for selecting selecting a team color for a bot from
the BotRunnerApp.
- Included some new constants in the GamebotsConstants, thanks to
CMU.
- Included a copy of the CMU_JBot from the Spring tourneyment.
7 Sept. 2000