Difference between revisions of "Robocode/Developers Guide for modify Robocode"

From Robowiki
Jump to navigation Jump to search
Line 14: Line 14:
 
* open home folder of robocode (the installation directory)
 
* open home folder of robocode (the installation directory)
 
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner
 
* create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner
* open the copy made after and delete ".jar" in the -cp option for roborumble and robocode
+
* open the copy and delete ".jar" in the -cp option for roborumble and robocode
 
:example:  
 
:example:  
 
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
 
:old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
:new roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
+
:new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
* now open folder  "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if nesessary set this folder's permission as read/write for your user
+
* now open folder  "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work as the original version
+
* try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally
  
 
===Modifing source code===
 
===Modifing source code===

Revision as of 20:20, 11 December 2008

This guide show you how to modify some parts or all of your robocode without need of reinstall it. You can choose if run the original or the MOD version

Developer's Guide for building Robocode

Software Requirements

  • Sun's Java SE JDK (5.0 or >) or alternatives
  • Robocode installed (same version as source)
  • Robocode source (same version as installer)
  • Text editor

Install the java SDK (JRE is not enough), then install robocode. As text editor you can simply use block notes, gedit, ecc.. You surely have installed one basic text editor in your operative system.

Create MOD launch file

We want create a mod but we don't want break the original robocode, so here the solution:

  • open home folder of robocode (the installation directory)
  • create a copy of robocode.sh and roborumble.sh (robocode.bat and roborumble.bat in windows), this will be your mod runner
  • open the copy and delete ".jar" in the -cp option for roborumble and robocode
example:
old roborumble.sh(or roborumble.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode.jar:libs/codesize.jar:libs/roborumble.jar roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
new roborumbleMOD.sh(or roborumbleMOD.bat): java -Xmx512M -Dsun.io.useCanonCaches=false -cp libs/robocode:libs/codesize.jar:libs/roborumble roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
  • now open folder "libs" and extract robocode.jar and roborumble.jar (Warnig: prevent path error using "extract here" option), if necessary set this folder's permission as read/write for your user
  • try the modified version of robocode.sh or roborumble.sh (.bat for windows): everything should work normally

Modifing source code

If the MOD launch file is working is time for modify your robocode version.

  • extract roborumble source code where you want
  • find the source file you want modify
  • copy it under the extracted folder "libs" in the right location indicated by file's package(tip: if you are in the right directory you will find a .class file with the same name as your .java)
  • modify your source code

Compiling Robocode's code

I assume:

robocodeDir is the directory where you intalled robocode

fileName is the name of the file you want compile

fileDir it's the directory of the file you want compile

UNIX:

cd fileDir
javac -cp robocodeDir/libs/robocode:robocodeDir/libs/roborumble fileName
example:
robocodeDir = ~/robocode
fileName = RoboRumbleAtHome.java (the main file of roborumble)
fileDir = robocodeDir/libs/roborumble/roborumble
cd ~/robocode/libs/roborumble/roborumble
javac -cp ~/robocode/libs/robocode:~/robocode/libs/roborumble RoboRumbleAtHome.java

WINDOWS:

cd fileDir
javac -cp robocodeDir\libs\robocode;robocodeDir\libs\roborumble fileName
example:
robocodeDir = C:\robocode
fileName = RoboRumbleAtHome.java (the main file of roborumble)
fileDir = robocodeDir\libs\roborumble\roborumble
cd C:\robocode\libs\roborumble\roborumble
javac -cp C:\robocode\libs\robocode;C:\robocode\libs\roborumble RoboRumbleAtHome.java

Launch Robocode

Original version

Simply use the original robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)

MOD version

Simply use the modified robocode.sh or roborumble.sh (windows: robocode.bat or roborumble.bat)