


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>


<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="en-us" />

<!-- *** END DOCTOP *** -->
<title>6.370: Technical FAQ</title>


<!-- *** BEGIN HEADER *** -->



	<style type="text/css">
	@import url("../style/css/robocraft-style.css");
		@import url("../style/css/contestants.css");
		</style>
	<link href="../style/css/robocraft-style.css" tppabs="style/css/robocraft-style.css" rel="stylesheet" type="text/css" />
		<link href="../style/css/contestants.css" tppabs="style/css/contestants.css" rel="stylesheet" type="text/css" />
	
	<!--[if IE]>
	<link rel="stylesheet" type="text/css" href="/style/css/iespecific.css" />
	<![endif]-->
	
	<xbasehref="" />



<link rel="SHORTCUT ICON" href="javascript:if(confirm('favicon.ico  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='favicon.ico'" tppabs="favicon.ico" />
</head>

<body>


<div id="pageedge">

<!-- *** END HEADER *** -->


<!-- *** BEGIN NAVBAR *** -->

<div id="topnav">
<div id="leftcontent">
<strong>Developer Area</strong>
</div>

<div style="clear: both"></div>
</div>

<hr class="invis" />

<div id="leftnav">
<ul>

<li><a href="specs.htm">Specs</a></li>
<li><a href="software.htm">Software</a></li>
<li><a href="api.htm">Robocraft API</a></li>
<li><a >Technical FAQ</a></li>
<li><a href="procedure.htm">Tournament Procedure</a></li>


</ul>
</div>

<div id="maincolumn"> 
<!-- *** END NAVBAR *** -->
<h1>Technical FAQ</h1>

<p>This page contains frequently asked questions about running the
robocraft software, writing a player, or clarifications about the
contest specifications.  </p>



<h2>Frequently Asked Questions:</h2>

<h3>Gameplay</h3>

<ul>
<li><a href="#q-bomber">How do I spawn my first Bomber?</a></li>
<li><a href="#q-diagonal">Can Sentries and Falcons really not attack diagonally?</a></li>
<li><a href="#q-suicide">Some robots can't attack themselves. What if I want them to self-destruct?</a></li>
</ul>

<h3>Software</h3>

<ul>
<li><a href="#q-javaversion">What version of Java should I use to compile my players?</a></li>
<li><a href="#q-classpath">How do I get my own players to be recognized by the software?</a></li>
</ul>

<hr />

<div id="faqbody">

<h3>Gameplay</h3>

<h4 id="q-bomber">How do I spawn my first Bomber?</h4>

<p>Once you have two Falcons, you can use <code>transferEnergon</code>
to give one of them enough energon to spawn a Bomber.</p>

<h4 id="q-diagonal">Can Sentries and Falcons really not attack diagonally?</h4>

<p>Correct. Diagonally adjacent squares have a Euclidean distance of
<code>sqrt(2)</code>, which is outside the attack range of these
robots (which is 1). This means that when facing diagonally these
robots can only attack themselves. Note, however, that the dependence of
attack ranges on the direction a robot is facing is simply a way of
requiring robots to turn towards the direction in which they wish to
attack.</p>

<h4 id="q-suicide">Some robots can't attack themselves. What if I want them to self-destruct?</h4>

<p>Your robot explodes instantly if its VM terminates. There are three ways to accomplish this:</p>
<ul>
<li>Return normally from <code>RobotPlayer.run()</code> (using program logic)</li>
<li>Throw an uncaught exception</li>
<li>Call <code>System.exit()</code></li>
</ul>

<h3>Software</h3>

<h4 id="q-javaversion">What version of Java should I use to compile my players?</h4>

<p>The supported version of the JDK is 1.4.2. Java compilers that
target the 1.5 runtime libraries may produce class files that refer to
classes not supported by the RoboVM.</p>

<h4 id="q-classpath">How do I get my own players to be recognized by the software?</h4>

<p>The robocraft jar file and your player classes must all be in your
classpath at runtime. Otherwise there is nothing special that needs to
be done; just make sure you are following Java's rules about locating
class files.</p>
</div>
</div>
<!-- *** BEGIN FOOTER *** -->

<div style="clear:both"></div>

</div> 

</div>

</body>
</html>

<!-- *** END FOOTER *** -->
