<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Адепт Мудрости [ v673.com ] - Концентрация личного опыта и мыслей &#187; Игры для программистов</title>
	<atom:link href="http://v673.com/category/programmers-games/feed/" rel="self" type="application/rss+xml" />
	<link>http://v673.com</link>
	<description></description>
	<lastBuildDate>Wed, 17 Mar 2010 12:52:35 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Готовые программы для игр Colobot и Ceebot</title>
		<link>http://v673.com/programmers-games/ready-programms-for-colobot-and-ceebot-games/</link>
		<comments>http://v673.com/programmers-games/ready-programms-for-colobot-and-ceebot-games/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 04:46:21 +0000</pubDate>
		<dc:creator>v673</dc:creator>
				<category><![CDATA[Игры для программистов]]></category>

		<guid isPermaLink="false">http://v673.com/?p=688</guid>
		<description><![CDATA[Последнее время с поисковых систем стабильно приходят пользователи, пытающиеся найти у меня готовые программы для игр Colobot и Ceebot.
Поэтому я решил срочно исправляться. В этом посте я собрал некоторые программы, которые позволят Вам сэкономить время или посмотреть, как программируют в Colobot другие игроки. 
Кстати, я написал отличный обзор этой игре у себя в блоге. Можете [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 6px;" title="Астронавт-колоботер" src="http://v673.com/wp-content/uploads/colobot.jpg" alt="Астронавт-колоботер" width="126" height="154" align="left" />Последнее время с поисковых систем стабильно приходят пользователи, пытающиеся найти у меня <strong>готовые программы для игр Colobot и Ceebot</strong>.</p>
<p>Поэтому я решил срочно исправляться. В этом посте я собрал некоторые программы, которые позволят Вам сэкономить время или посмотреть, как программируют в Colobot другие игроки. </p>
<p>Кстати, я написал <a href="http://v673.com/programmers-games/colobot-and-ceebot/">отличный обзор</a> этой игре у себя в блоге. Можете также почитать мои другие обзоры <a href="http://v673.com/category/programmers-games/">игр для программистов</a>.</p>
<p>Пост получился очень большим из-за того что я привел исходные коды многих программ. Но, в любом случае, это будет удобно тем, кто ищет готовые программы&nbsp;&mdash; все в одном месте.</p>
<p>Аккуратно! Ваш скролл может умереть мучительной и жестокой смертью.</p>
<p><span id="more-688"></span></p>
<h2>Программа для PhazerShooter</h2>
<p>Поместите робота на местность (желательно повыше), активируйте и наблюдайте за его работой. Он уничтожит все цели, которые летят не выше 80 метров.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>Phazer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">float</span> scanRange <span style="color: #339933;">=</span> <span style="color: #cc66cc;">150</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// scan for targets within this radius</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Platform specific parameters</span>
	<span style="color: #000066; font-weight: bold;">float</span> minAngle <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">20</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// minimum gun elevation relative to platform</span>
	<span style="color: #000066; font-weight: bold;">float</span> maxAngle <span style="color: #339933;">=</span> <span style="color: #cc66cc;">45</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// maximum gun elevation relative to platform</span>
	<span style="color: #000066; font-weight: bold;">float</span> weaponHeight <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// height of weapon above platform</span>
	<span style="color: #000066; font-weight: bold;">float</span> weaponOffset <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// weapon is this amount in front of platform</span>
	<span style="color: #000066; font-weight: bold;">float</span> maxTurnRate <span style="color: #339933;">=</span> <span style="color: #cc66cc;">54</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// maximum turn rate</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Ballistic parameters</span>
	<span style="color: #000066; font-weight: bold;">float</span> v0 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// muzzle velocity (m / s)</span>
	<span style="color: #000066; font-weight: bold;">float</span> g <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// gravitation (m / s^2)</span>
	<span style="color: #000066; font-weight: bold;">float</span> bc <span style="color: #339933;">=</span> v0 <span style="color: #339933;">*</span> v0 <span style="color: #339933;">/</span> g<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// ballistic constant (max range at equal height)</span>
&nbsp;
	object target<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// target</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		target <span style="color: #339933;">=</span> ScanForTarget<span style="color: #009900;">&#40;</span>scanRange<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// do a target scan</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>target <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// wait until target becomes available</span>
		<span style="color: #009900;">&#123;</span>
			motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// engines idle</span>
			wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// wait a little to relieve CPU</span>
			target <span style="color: #339933;">=</span> ScanForTarget<span style="color: #009900;">&#40;</span>scanRange<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// scan again</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Variables to track target (cylindrcal coцrdinates)</span>
		<span style="color: #000066; font-weight: bold;">float</span> bearing, range, height, time<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> deltaBearing, deltaRange, deltaHeight, deltaTime<span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">// Initialize the 'old' variables</span>
		<span style="color: #000066; font-weight: bold;">float</span> oldBearing <span style="color: #339933;">=</span> orientation <span style="color: #339933;">+</span> direction<span style="color: #009900;">&#40;</span>target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> oldRange <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position, target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> oldHeight <span style="color: #339933;">=</span> target.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span> <span style="color: #339933;">-</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> oldTime <span style="color: #339933;">=</span> abstime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Variables needed for target solution</span>
		<span style="color: #000066; font-weight: bold;">float</span> rt, zt<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> t<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> D<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> it <span style="color: #339933;">=</span> sqrt<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> oldRange <span style="color: #339933;">/</span> v0<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// initial estimate for intercept time</span>
		<span style="color: #000066; font-weight: bold;">float</span> azimuth<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> elevation<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> turnRate<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> motorOutput<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Variables needed for slope correction</span>
		<span style="color: #000066; font-weight: bold;">float</span> pitchAz<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> rollAz<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> a<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> b<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> c<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> d<span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">float</span> corr<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">float</span> fireTime <span style="color: #339933;">=</span> abstime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">0.2</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// don't fire for 0.5 seconds (first track target)</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>target <span style="color: #339933;">==</span> ScanForTarget<span style="color: #009900;">&#40;</span>scanRange<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// As long as target is the most critical target</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Collect data</span>
			bearing <span style="color: #339933;">=</span> orientation <span style="color: #339933;">+</span> direction<span style="color: #009900;">&#40;</span>target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			range <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position, target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			height <span style="color: #339933;">=</span> target.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span> <span style="color: #339933;">-</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
			time <span style="color: #339933;">=</span> abstime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Calculate differences</span>
			deltaBearing <span style="color: #339933;">=</span> bearing <span style="color: #339933;">-</span> oldBearing<span style="color: #339933;">;</span>
			deltaRange <span style="color: #339933;">=</span> range <span style="color: #339933;">-</span> oldRange<span style="color: #339933;">;</span>
			deltaHeight <span style="color: #339933;">=</span> height <span style="color: #339933;">-</span> oldHeight<span style="color: #339933;">;</span>
			deltaTime <span style="color: #339933;">=</span> time <span style="color: #339933;">-</span> oldTime<span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Save data for next pass</span>
			oldBearing <span style="color: #339933;">=</span> bearing<span style="color: #339933;">;</span>
			oldRange <span style="color: #339933;">=</span> range<span style="color: #339933;">;</span>
			oldHeight <span style="color: #339933;">=</span> height<span style="color: #339933;">;</span>
			oldTime <span style="color: #339933;">=</span> time<span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Extrapolate target motion to interception point</span>
			t <span style="color: #339933;">=</span> it <span style="color: #339933;">/</span> deltaTime<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// time factor</span>
			azimuth <span style="color: #339933;">=</span> bearing <span style="color: #339933;">+</span> t <span style="color: #339933;">*</span> deltaBearing <span style="color: #339933;">-</span> orientation<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intercept azimuth</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>azimuth <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> azimuth <span style="color: #339933;">+=</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// azimuth correction (pole passage)</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>azimuth <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> azimuth <span style="color: #339933;">-=</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span>
			zt <span style="color: #339933;">=</span> height <span style="color: #339933;">+</span> t <span style="color: #339933;">*</span> deltaHeight <span style="color: #339933;">-</span> cos<span style="color: #009900;">&#40;</span>pitch<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>roll<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> weaponHeight<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intercept height</span>
			rt <span style="color: #339933;">=</span> range <span style="color: #339933;">+</span> t <span style="color: #339933;">*</span> deltaRange <span style="color: #339933;">-</span> weaponOffset <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>azimuth<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>pitch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intercept range</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Calculate weapon elevation</span>
			D <span style="color: #339933;">=</span> bc <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>bc <span style="color: #339933;">-</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">*</span> zt<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>rt <span style="color: #339933;">*</span> rt<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// discriminant</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>D <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			  elevation <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span>bc <span style="color: #339933;">/</span> rt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// target out of range</span>
			<span style="color: #000000; font-weight: bold;">else</span>
			  elevation <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span>bc <span style="color: #339933;">/</span> rt <span style="color: #339933;">-</span> sqrt<span style="color: #009900;">&#40;</span>D<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// target in range</span>
&nbsp;
			it <span style="color: #339933;">=</span> rt <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>v0 <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>elevation<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intercept time (estimate for next pass)</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Slope-correction</span>
			pitchAz <span style="color: #339933;">=</span> pitch <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>azimuth<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> roll <span style="color: #339933;">*</span> sin<span style="color: #009900;">&#40;</span>azimuth<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// pitch at target azimuth</span>
			rollAz <span style="color: #339933;">=</span> roll <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>azimuth<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> pitch <span style="color: #339933;">*</span> sin<span style="color: #009900;">&#40;</span>azimuth<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// roll at target azimuth</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Solve slope-target spherical triangle</span>
			b <span style="color: #339933;">=</span> elevation <span style="color: #339933;">-</span> pitchAz<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// relative elevation at target azimuth</span>
			a <span style="color: #339933;">=</span> asin<span style="color: #009900;">&#40;</span>sin<span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> cos<span style="color: #009900;">&#40;</span>rollAz<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// new gun elevation</span>
			c <span style="color: #339933;">=</span> acos<span style="color: #009900;">&#40;</span>cos<span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> cos<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>b <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> c <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>c<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intermediate variable</span>
			d <span style="color: #339933;">=</span> asin<span style="color: #009900;">&#40;</span>sin<span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> sin<span style="color: #009900;">&#40;</span>rollAz<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// intermediate variable</span>
			corr <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>acos<span style="color: #009900;">&#40;</span>cos<span style="color: #009900;">&#40;</span>c<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> cos<span style="color: #009900;">&#40;</span>d<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>d <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> corr <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>corr<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// azimuth correction</span>
			azimuth <span style="color: #339933;">+=</span> corr<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// apply azimuthal correction</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Point the weapon in the right direction</span>
			aim<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// weapon elevation</span>
			turnRate <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>deltaBearing <span style="color: #339933;">+</span> azimuth <span style="color: #339933;">/</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> deltaTime<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// rotate with target</span>
			motorOutput <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.5</span> <span style="color: #339933;">*</span> turnRate <span style="color: #339933;">/</span> maxTurnRate<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// calculate motor output</span>
			motor<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>motorOutput, motorOutput<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// apply turn rate</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Fire if target is within weapon envelope</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>D <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> a <span style="color: #339933;">&gt;</span> minAngle <span style="color: #339933;">-</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> a <span style="color: #339933;">&lt;</span> maxAngle <span style="color: #339933;">+</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> azimuth <span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> azimuth <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">&amp;&amp;</span> fireTime <span style="color: #339933;">&lt;</span> abstime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				fire<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// fire</span>
				fireTime <span style="color: #339933;">=</span> abstime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> it <span style="color: #339933;">+</span> <span style="color: #cc66cc;">0.1</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// wait until round hit (or not)</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Firing at range &quot;</span> <span style="color: #339933;">+</span> distance<span style="color: #009900;">&#40;</span>position, target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; m.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// show off performance</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
object object<span style="color: #339933;">::</span>ScanForTarget<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> range<span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// does one scan sweep for targets within certain range</span>
<span style="color: #009900;">&#123;</span>
	object target <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// search for nearest target</span>
	<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> AlienAnt<span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;=</span> AlienWorm<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		object item <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>i, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">360</span>, <span style="color: #cc66cc;">0</span>, range<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// scan for specific target type</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>item <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// if one found</span>
		<span style="color: #009900;">&#123;</span>
			target <span style="color: #339933;">=</span> item<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// it becomes the target</span>
			range <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position, target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// only pick up new targets closer than this one</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">return</span> target<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Дозаправщик (FieldRefuel)</h2>
<p>Цель этой программы&nbsp;&mdash; увеличить длительность атаки ботами. Очень большое количество энергии тратится на перемещения с поля боя на базу, подзарядку и возвращение обратно. Эта программа позволяет создавать бота, который будет заниматься исключительно дозаправкой всех остальных роботов.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// FieldRefuel -- The purpose of this program is to extend the</span>
<span style="color: #666666; font-style: italic;">// range of attack bots. It takes them too much energy to get</span>
<span style="color: #666666; font-style: italic;">// out in the field to have to go back and refuel, so I just</span>
<span style="color: #666666; font-style: italic;">// let them run as they will and have this program running on</span>
<span style="color: #666666; font-style: italic;">// a dedicated bot all the time.</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// It runs in conjunction with a public function I have on all</span>
<span style="color: #666666; font-style: italic;">// my bots called FlatGround - when their energy level gets below</span>
<span style="color: #666666; font-style: italic;">// 1/4, they look for the nearest flat spot at least 50 meters</span>
<span style="color: #666666; font-style: italic;">// away from all enemies and goes to sit there to wait for</span>
<span style="color: #666666; font-style: italic;">// refuelling. This prevents the refuel bot from sliding off a</span>
<span style="color: #666666; font-style: italic;">// hillside and botching the switch.</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// The bot that runs this sits at the power station, and when a</span>
<span style="color: #666666; font-style: italic;">// bot gets to 1/4 energy it goes out to its position. The 2nd</span>
<span style="color: #666666; font-style: italic;">// goto(bot.position) is to compensate for movement between the</span>
<span style="color: #666666; font-style: italic;">// time that it hit the low power mark and found flat ground.</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// It goes out to the downed bot, swaps cells (it assumes the</span>
<span style="color: #666666; font-style: italic;">// fuel bot is holding 1 full cell at all times), and refuels.</span>
<span style="color: #666666; font-style: italic;">// When it's done, it pulls back off the pad to make room for</span>
<span style="color: #666666; font-style: italic;">// others.</span>
&nbsp;
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>FieldRefuel<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	object power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	object bot<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>TrackedShooter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//only watches 1 bot</span>
&nbsp;
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//don't exit on errors</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>	<span style="color: #666666; font-style: italic;">//infinite loop</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>bot.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.26</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">//1/4 energy</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>bot.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>bot.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//movement correction</span>
			drop<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		<span style="color: #666666; font-style: italic;">//switch cells</span>
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//refuel</span>
			wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">7</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			move<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Муравьеубийца!</h2>
<p>Улучшенная программа для убийства муравьев. Присутствуют баги, так что пользуйтесь аккуратно.</p>
<p>Предназначена для ботов WingedShooters.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>KillAnts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//preparation</span>
	object ant<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> angle<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> sin1<span style="color: #339933;">;</span>
	object repair<span style="color: #339933;">;</span>
	object power<span style="color: #339933;">;</span>
	object ship<span style="color: #339933;">;</span>
&nbsp;
	ant<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>AlienAnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//co kdyby tu uz zadnej ant nebyl?</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//rise 30metres</span>
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	ant<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>AlienAnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//main loop</span>
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>radar<span style="color: #009900;">&#40;</span>AlienAnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>ant<span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>temperature<span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0.8</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>shieldLevel<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">0.5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			repair<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>RepairCenter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>repair.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>shieldLevel<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">0.25</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
&nbsp;
			power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">30</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #666666; font-style: italic;">//move 20 metres ?before? ant</span>
		ant<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>AlienAnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		turn<span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		move<span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span>position,ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//descent //5 metres above ant</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&gt;</span>ant.<span style="color: #006633;">altitude</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&gt;</span>ant.<span style="color: #006633;">altitude</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&lt;</span>ant.<span style="color: #006633;">altitude</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">&lt;</span>ant.<span style="color: #006633;">altitude</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
		turn<span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #666666; font-style: italic;">//aim!</span>
		angle<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>altitude<span style="color: #339933;">*</span>altitude<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position,ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>distance2d<span style="color: #009900;">&#40;</span>position,ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		angle<span style="color: #339933;">=</span>sqrt<span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		sin1<span style="color: #339933;">=</span>distance2d<span style="color: #009900;">&#40;</span>position,ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>angle<span style="color: #339933;">;</span>
		angle<span style="color: #339933;">=</span>acos<span style="color: #009900;">&#40;</span>sin1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		ant<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>AlienAnt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		turn<span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>ant.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		aim<span style="color: #009900;">&#40;</span>angle<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		fire<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	ship<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>SpaceShip<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>ship.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Список item`ов</h2>
<p>Это не совсем программа. Это&nbsp;&mdash; список каждой (!) вещи в colobot, включая такие параметры, как высота и радиус. Включает хорошо написанную документацию, но на английском. Также приведены полезные функции, которые можно использовать при программировании.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">num <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span>Tallest <span style="color: #003399;">Point</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>Radi<span style="color: #339933;">-</span>Clearance<span style="color: #009900;">&#93;</span> <span style="color: #003399;">Name</span> 
ie.
### <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span>Heigh<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span>Radi<span style="color: #339933;">-</span><span style="color: #009900;">&#93;</span> <span style="color: #003399;">Name</span>
<span style="color: #cc66cc;">502</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.25</span><span style="color: #009900;">&#93;</span> Alien Ant
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">If</span> you use the tallest point and radi<span style="color: #339933;">-</span>clearance numbers i suggest 
that you add a few meters to them, these are the absolute 
minimum<span style="color: #009900;">&#40;</span>of the maximum<span style="color: #009900;">&#41;</span> clearances to the next <span style="color: #cc66cc;">1</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">4</span> of a 
meter. <span style="color: #006633;">I</span> used a Winged Flyer to get these measurements so <span style="color: #000000; font-weight: bold;">if</span> your
using a shilder<span style="color: #009900;">&#40;</span>or other large bot<span style="color: #009900;">&#41;</span> you may have to add an 
additional <span style="color: #cc66cc;">1</span> or <span style="color: #cc66cc;">2</span> meters. <span style="color: #006633;">Also</span> <span style="color: #000000; font-weight: bold;">if</span> the object is larger in the 
air than on the ground, the  air measurement is taken at the 
widest part.
&nbsp;
<span style="color: #006633;">How</span> <span style="color: #000000; font-weight: bold;">do</span> you use <span style="color: #000000; font-weight: bold;">this</span> information, just like you would use the name
of an object i.<span style="color: #006633;">e</span>.
&nbsp;
<span style="color: #006633;">Radar</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">800</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #666666; font-style: italic;">// is the same as:</span>
Radar<span style="color: #009900;">&#40;</span>BotFactory,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">800</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// this means you now have a list of EVRYTHING detectable by the Radar</span>
<span style="color: #666666; font-style: italic;">// And all the clearance stats you need to avoid them :P</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #cc66cc;">0</span>   <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">--</span>.<span style="color: #339933;">--</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #339933;">--</span>.<span style="color: #339933;">--</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;--</span> <span style="color: #000000; font-weight: bold;">This</span> is your <span style="color: #000000; font-weight: bold;">new</span> best friend<span style="color: #339933;">!</span>
&nbsp;
Using <span style="color: #cc66cc;">0</span> in a radar command will <span style="color: #000000; font-weight: bold;">return</span> the closest<span style="color: #009900;">&#40;</span>or farthest depending 
what you have your radar command set <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#41;</span> ITEM OF ANY CATEGORY<span style="color: #339933;">!</span>
&nbsp;
The following example isn’t very practical<span style="color: #009900;">&#40;</span>and my not even work<span style="color: #009900;">&#41;</span>, it<span style="color: #0000ff;">'s 
just a little something to get your mind going.
&nbsp;
You could use this and simply check for lets say any Alien like this:
/---------------------------------------------------------------<span style="color: #000099; font-weight: bold;">\</span>
|object Item;							|
|Item = radar(0,0,360,0,45);					|
|//501 to 505 is Aliens						|
|if((abs(Item.category)&gt;=501)&amp;&amp;(abs(Item.category)&lt;=505))	|
|{								|
|	//Aim the cannon					|
|	fire(0.25);	//Kill it				|
|}								|
<span style="color: #000099; font-weight: bold;">\-</span>--------------------------------------------------------------/
Now I don’t know how practical of an implementation this is but
you get the idea of some uses, i would say that the use of this
&quot;0&quot; would be better suited for avoiding objects rather than trying to 
kill something, because if a bush or tree is closer than the Ant
its going to detect the bush or tree instead. Now I’m sure with 
some thought you can come up with a way to avoid this problem
but hey i have to leave you something to think about :P
&nbsp;
i use &quot;abs(Item.category)&quot; to return the numeric category value
if you just used &quot;Item.category&quot; it would return the name of the object
if it has one, and frankly the Name of the object may work, i 
believe that Colobot sees the name as a numeric value. I just haven’t 
bothered to test that yet.
&nbsp;
============================ Full Listing ============================
### - [Heigh][Radi-] Name; Levels found on and/or more definitions.
======================================================================
0   - [--.--][--.--] Wild Card, it is anything and everything!
&nbsp;
2   - [19.50][32.25] Gantry Crane
3   - [22.50][20.00] Space Ship; Top Width of 8.25 
4   - [08.00][03.00] Derrick
5   - [06.50][06.00] Bot Factory
6   - [03.50][06.00] Power Station
7   - [04.00][05.00] Ore Converter
8   - [05.00][05.25] Repair Center
9   - [07.75][02.75] Defense Tower
10  - [00.00][00.00] Alien Nest; Organic Material/hatchery?, however it is probably holding Orga mater
11  - [05.75][03.75] Research Center
12  - [04.75][02.75] Radar Station
13  - [05.25][04.00] Power Plant; Power Cell Factory
14  - [04.25][05.25] Auto Lab
15  - [10.25][07.00] Nuclear Power Station
16  - [00.00][00.00] Start Area; platform
17  - [00.00][00.00] Goal Area;  platform
18  - [04.75][02.75] Information exchange post
19  - [17.25][06.50] Power Captor
20  - [25.25][07.75] Target &quot;the target stand&quot; (+)==&lt;  looking thing; 03.25 at bace
21  - [00.00][00.00] Target2 &quot;the actual Brass + Target&quot;
22  - [03.75][04.50] Vault
23  - [06.25][18.75] Huston Mission Control
&nbsp;
31  - [01.00][01.50] Titanium Ore
32  - [01.00][01.50] Uranium Ore
33  - [01.00][01.50] Titanium
34  - [01.00][01.50] Power Cell
35  - [01.00][01.50] Nuclear Power Cell
36  - [01.00][01.50] Orga Mater
37  - [01.00][01.50] Black Box
38  - [01.00][01.50] TNT Brick
&nbsp;
50  - [00.00][00.00] green cross   -&gt; energy deposit.
51  - [00.00][00.00] red cross     -&gt; titanium ore.
52  - [00.00][00.00] yellow circle -&gt; uranium ore.
&nbsp;
### - [Heigh][Radi-] Name
&nbsp;
60  - [01.25][02.00] Mine
61  - [01.00][01.75] Firework
63  - [01.00][02.00] Rocket Back Pack
&nbsp;
70  - [01.25][01.75] Plant; Earth, Tropica, Centaury
71  - [01.25][01.75] Plant; Earth, Tropica, Centaury
72  - [01.25][01.75] Plant; Earth, Tropica, Centaury
73  - [01.25][01.75] Plant; Earth, Tropica, Centaury
74  - [01.25][01.75] Plant; Earth, Tropica, Centaury
75  - [00.00][00.00] Small Plant; Tropica
76  - [00.00][00.00] Small Plant; Tropica
77  - [00.00][00.00] Small Plant; Tropica
80  - [05.25][02.75] Large Plant; Tropica
81  - [04.75][02.50] Large Plant; Tropica
82  - [05.25][02.50] Large Plant; Tropica
83  - [05.25][03.00] Large Plant; Tropica
84  - [04.25][02.50] Large Plant; Tropica
85  - [01.25][01.75] Plant; Volcano
86  - [01.25][01.75] Plant; Volcano
87  - [01.25][01.75] Plant, Tall; Volcano
88  - [01.25][01.75] Plant; Volcano
89  - [01.25][01.75] Plant; Volcano
90  - [07.75][01.75] Tree; Earth
91  - [10.00][02.50] Tree; Earth
92  - [09.50][02.75] Tree; Earth
93  - [08.25][03.75] Tree; Earth
&nbsp;
### - [Heigh][Radi-] Name
&nbsp;
100 - [02.25][02.50] Practice Bot
&nbsp;
110 - [02.50][02.50] Wheeled Grabber
111 - [02.50][02.50] Tracked Grabber
112 - [02.50][02.50] Winged Grabber
113 - [02.50][02.50] Legged Grabber
&nbsp;
120 - [02.50][02.50] Wheeled Shooter
121 - [02.50][02.50] Tracked Shooter
122 - [02.50][02.50] Winged Shooter
123 - [02.50][02.50] Legged Shooter
&nbsp;
130 - [02.50][02.50] Wheeled Orga Shooter
131 - [02.50][02.50] Tracked Orga Shooter
132 - [02.50][02.50] Winged Orga Shooter
133 - [02.50][02.50] Legged Orga Shooter
&nbsp;
140 - [02.50][02.50] Wheeled Sniffer
141 - [02.50][02.50] Tracked Sniffer
142 - [02.50][02.50] Winged Sniffer
143 - [02.50][02.50] Legged Sniffer
&nbsp;
200 - [03.00][03.00] Thumper
201 - [03.25][03.00] Phazer Shooter35
202 - [03.50][03.00] Recycler
203 - [04.50][03.00] Shielder; Height 3.00 when not active
210 - [02.50][02.50] Subber
211 - [02.25][02.50] Target Bot
250 - [00.00][00.00] Way Point
&nbsp;
### - [Heigh][Radi-] Name
&nbsp;
260 - [00.00][00.00] Blue Flag
261 - [00.00][00.00] Red Flag
262 - [00.00][00.00] Green Flag
263 - [00.00][00.00] Yellow Flag
264 - [00.00][00.00] Purple Flag
270 - [01.00][01.50] KeyA - Blue
271 - [01.00][01.50] KeyB - Red
272 - [01.00][01.50] KeyC - Green
273 - [01.00][01.50] KeyD - Yellow
&nbsp;
300 - [02.00][01.75] Me
302 - [02.00][01.75] Tech (looks a lot like &quot;Me&quot; in some levels)
400 - [01.50][02.25] Barrier-Short; 1.5 width (about radi-of bot)
401 - [01.50][03.50] Barrier-Long; 1.5 width (about radi-of bot)
&nbsp;
500 - [07.25][06.25] Alien Queen
501 - [02.00][02.25] Alien Egg
502 - [02.00][02.25] Alien Ant
503 - [01.25][02.00] Alien Spider
504 - [02.25][02.25] Alien Wasp
505 - [00.00][00.00] Alien Worm
&nbsp;
600 - [02.50][03.00] A Wreckage wild card! for Recyclables
/* All Wreckage'</span>s are all <span style="color: #cc66cc;">600</span>, the <span style="color: #cc66cc;">60</span>_ is the .<span style="color: #006633;">category</span>
<span style="color: #cc66cc;">600</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.75</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Whelled Grabber, Recyclable
<span style="color: #cc66cc;">601</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Sunken Whelled Grabber, Recyclable
<span style="color: #cc66cc;">602</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">03.00</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Tracked Shooter, Recyclable
<span style="color: #cc66cc;">603</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">03.00</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Sunken Tracked Shooter, Recyclable
<span style="color: #cc66cc;">603</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.25</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.50</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Sunken Recyceler, Recyclable
<span style="color: #cc66cc;">605</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.50</span><span style="color: #009900;">&#93;</span> Wreckage<span style="color: #339933;">;</span> Recyceler, Recyclable
<span style="color: #339933;">*/</span>
<span style="color: #cc66cc;">606</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">04.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">06.00</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Bot Factory
<span style="color: #cc66cc;">607</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.25</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Ore Converter Door
<span style="color: #cc66cc;">608</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.25</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Support, C shaped hunk of mettel
<span style="color: #cc66cc;">609</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.25</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Brick like, Radar Station Base
<span style="color: #cc66cc;">610</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">01.25</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">05.00</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Ore Converter
<span style="color: #cc66cc;">611</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">08.75</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">13.25</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Space Ship Bace
<span style="color: #cc66cc;">612</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">09.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">08.50</span><span style="color: #009900;">&#93;</span> Ruin<span style="color: #339933;">;</span> Space Ship Top
&nbsp;
<span style="color: #cc66cc;">700</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.00</span><span style="color: #009900;">&#93;</span> Crystal<span style="color: #339933;">;</span> Crystalium
<span style="color: #cc66cc;">701</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.50</span><span style="color: #009900;">&#93;</span> Crystal<span style="color: #339933;">;</span> Crystalium
<span style="color: #cc66cc;">702</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">03.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">02.75</span><span style="color: #009900;">&#93;</span> Crystal<span style="color: #339933;">;</span> Crystalium
<span style="color: #cc66cc;">703</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">06.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">04.50</span><span style="color: #009900;">&#93;</span> Crystal<span style="color: #339933;">;</span> Crystalium
&nbsp;
<span style="color: #cc66cc;">710</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">06.00</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">04.25</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Small
<span style="color: #cc66cc;">711</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">07.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">03.50</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Small
<span style="color: #cc66cc;">712</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">06.25</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">03.25</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Small
<span style="color: #cc66cc;">713</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">08.75</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">05.25</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Med
<span style="color: #cc66cc;">714</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">12.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">07.25</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Large
<span style="color: #cc66cc;">715</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">12.50</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">07.25</span><span style="color: #009900;">&#93;</span> Green Mega Stalk<span style="color: #339933;">;</span> Stranve Plant, Large with Green Shield like apperatice
<span style="color: #cc66cc;">715</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#91;</span><span style="color: #339933;">--</span>.<span style="color: #339933;">--</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">22.00</span><span style="color: #009900;">&#93;</span> #<span style="color: #cc66cc;">715</span><span style="color: #0000ff;">'s Green Shield (affects flyers ability to fly); you cannot fly over it
&nbsp;
731 - [02.50][02.00] Mushroom; non corrosive
732 - [02.50][02.00] Mushroom; corrosive
&nbsp;
900 - [04.00][05.02] Lunar Lander; Derelict of Apollo Mission
901 - [02.05][03.25] Lunar Roving Vehicle
902 - [00.00][00.00] American flag; Derelict of Apollo Mission
903 - [01.75][01.75] Inverted Satelite Dish; Derelict of Apollo Mission
904 - [02.75][02.00] Satelite Dish; Derelict of Apollo Mission
910 - [04.50][03.75] Home
&nbsp;
### - [Heigh][Radi-] Name
&nbsp;
-If you have any additions to this list please let me know at 
	RossK_WC2@hotmail.com
	Aim: Ens1747
	ICQ: 1747522
&nbsp;
====================================================
And incase if your wondering how i extracted this data, here you go:
-----------------------------------------------------------------------------------
//Outputs all objects on the map to a file
//Note: Wrecks are all 600 no mater what .category
extern void object::FindNewItems() // This prossess takes some time
{
	file filSearch();
	object Named;
&nbsp;
	//File is output to &quot;...<span style="color: #000099; font-weight: bold;">\C</span>olobot<span style="color: #000099; font-weight: bold;">\f</span>iles<span style="color: #000099; font-weight: bold;">\S</span>earch.txt&quot;
	filSearch.open(&quot;Search.txt&quot;, &quot;w&quot;);
	for(int I=1; I&lt;=1000; I++)
	{
		Named = radar(I);
		if(Named!=null)
		{
			filSearch.writeln(&quot;&quot; + I + &quot; - &quot; + Named.category);
		}
	}
&nbsp;
	filSearch.close();
}
-----------------------------------------------------------------------------------
// just pull your bot up to an object and run this app, search for the largest 
// result by circling the Object and probing from difrent directions
&nbsp;
extern void object::ObjectLookUp()
{
	object Named;
&nbsp;
	Named = radar(0,0,90,0,10);	//useing radar(0,..) for wildcard, it'</span>ll detect anything
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>Named <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Dist From (&quot;</span> <span style="color: #339933;">+</span> Named.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;, &quot;</span> <span style="color: #339933;">+</span> abs<span style="color: #009900;">&#40;</span>Named.<span style="color: #006633;">category</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;): &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position, Named.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">-----------------------------------------------------------------------------------</span>
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>ObjectLookAllUp<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object Named<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> fltGole<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;=</span><span style="color: #cc66cc;">1000</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		Named <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>i,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">90</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>Named <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			fltGole<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> i<span style="color: #339933;">;</span>
			message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Dist From (&quot;</span> <span style="color: #339933;">+</span> Named.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;, &quot;</span> <span style="color: #339933;">+</span> abs<span style="color: #009900;">&#40;</span>Named.<span style="color: #006633;">category</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;): &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position, Named.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;All that worked: &quot;</span> <span style="color: #339933;">+</span> fltGole<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">-----------------------------------------------------------------------------------</span>
<span style="color: #666666; font-style: italic;">//If you dont understand this i have nothing to say :P</span>
<span style="color: #666666; font-style: italic;">//Fly above the object so you can just move freely</span>
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>HowHigh<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>	
<span style="color: #009900;">&#123;</span>
	object Named<span style="color: #339933;">;</span>
&nbsp;
	Named <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//useing radar(0,..) for wildcard, it'll detect anything</span>
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Elevation: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>topo<span style="color: #009900;">&#40;</span>Named.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">-----------------------------------------------------------------------------------</span>
<span style="color: #666666; font-style: italic;">//Marks closest object of type ### with a waypoint to make it easy to find.</span>
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>MarkUnknows<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object objWhat<span style="color: #339933;">;</span>
	objWhat<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>###<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	<span style="color: #666666; font-style: italic;">//Put In Desired Object Number</span>
	produce<span style="color: #009900;">&#40;</span>objWhat.<span style="color: #006633;">position</span>, <span style="color: #cc66cc;">0</span>, WayPoint, <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Новый радар!</h2>
<p>Улучшенная версия процедуры radar (). Позволяет находить все на карте. Не нужно строительство отдельного здания для этого.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object item<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	item <span style="color: #339933;">=</span> retobject<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//item =newradar(PhazerShooter,0,360,0,1000,1);</span>
	<span style="color: #666666; font-style: italic;">//goto(space(item.position));</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//goto(space(item.position));</span>
		message<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">category</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		i<span style="color: #339933;">++;</span>
		item <span style="color: #339933;">=</span> retobject<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> object object<span style="color: #339933;">::</span>newradar<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> category, <span style="color: #000066; font-weight: bold;">float</span> angle, <span style="color: #000066; font-weight: bold;">float</span> focus, <span style="color: #000066; font-weight: bold;">float</span> min, <span style="color: #000066; font-weight: bold;">float</span> max,<span style="color: #000066; font-weight: bold;">float</span> way<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	ipf<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1800</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	object currect<span style="color: #339933;">=</span>retobject<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	object itemx<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> needdistance<span style="color: #339933;">;</span>
	bool checkfornomtems <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//1 to check for no possition items //else don't</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>way <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		needdistance <span style="color: #339933;">=</span> min <span style="color: #339933;">-</span> <span style="color: #cc66cc;">0.01</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">else</span> needdistance <span style="color: #339933;">=</span> max <span style="color: #339933;">+</span> <span style="color: #cc66cc;">0.01</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #009900;">&#123;</span>
		i<span style="color: #339933;">++;</span> 
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>currect.<span style="color: #006633;">category</span> <span style="color: #339933;">==</span> category<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">x</span> <span style="color: #339933;">!=</span> nan<span style="color: #009900;">&#41;</span> or <span style="color: #009900;">&#40;</span>checkfornomtems <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">float</span> dis <span style="color: #339933;">=</span> direction<span style="color: #009900;">&#40;</span>currect.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> angle<span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					dis <span style="color: #339933;">=</span> <span style="color: #339933;">-</span>dis<span style="color: #339933;">;</span> 
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					dis <span style="color: #339933;">=</span> <span style="color: #cc66cc;">360</span> <span style="color: #339933;">-</span> dis<span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">position</span>,currect.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> min<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">position</span>,currect.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> max<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">position</span>,currect.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> way<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #009900;">&#40;</span>needdistance <span style="color: #339933;">*</span> way<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>  <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&lt;=</span> focus <span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
&nbsp;
					itemx<span style="color: #339933;">=</span>currect<span style="color: #339933;">;</span>
					needdistance <span style="color: #339933;">=</span> distance<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">position</span>,currect.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		currect<span style="color: #339933;">=</span>retobject<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>currect <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ipf<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">return</span> itemx<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Автоперезарядка башен</h2>
<p>Для роботов WeeledGrabber (или TrackedGrabber). Отличная программа, решающая проблему перезарядки башен. Роботы будут стоять и сканировать уровень заряда всех башен. Как только уровень падает до 1/3 бот приедит к башне, перезарядит батарейку, а пустую отвезет на станцию перезарядки. Программа протестирована на 3 башнях. ;-)</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>advChargeTowers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object tower, battery<span style="color: #339933;">;</span>
	object power<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> a<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> dist<span style="color: #339933;">;</span>
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>load<span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
	dist<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">0.3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			a<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>a<span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;please free way to the Power Station!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		tower<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>DefenseTower,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,dist<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tower<span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			dist<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			tower<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>DefenseTower,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,dist<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">0.3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			battery<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerCell,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>battery<span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No batteries :-(&quot;</span>,DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>battery.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				a<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>a<span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;please free way to the Power Station!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #666666; font-style: italic;">//SwitchCell1();</span>
			<span style="color: #666666; font-style: italic;">//break;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			a<span style="color: #339933;">=</span><span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>a<span style="color: #339933;">!=</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;please free way to the Power Station!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span>position,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			dist<span style="color: #339933;">=</span>distance<span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">position</span>,position<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Радароупроститель!</h2>
<p>Класс, упрощающий работу с радаром. Теперь нет необходимости в запоминании множества кодов, а можно использовать красивые константы.</p>
<p>Пример использования:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">   object item<span style="color: #339933;">;</span>
   otherCategories otherCats<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Создаем экземпляр класса.</span>
&nbsp;
   item <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>otherCats.<span style="color: #006633;">Mushroom1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Ищем ближайший объект (Mushroom)</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> otherCategories
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Firework <span style="color: #339933;">=</span> <span style="color: #cc66cc;">61</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Bag <span style="color: #339933;">=</span> <span style="color: #cc66cc;">63</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery0 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">70</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">71</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">72</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery3 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">73</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery4 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">74</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery5 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">75</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery6 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">76</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery7 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">77</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery10 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery11 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">81</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery12 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">82</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery13 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">83</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery14 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">84</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery15 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">85</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery16 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">86</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery17 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">87</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery18 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">88</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Greenery19 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">89</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Tree0 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">90</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Tree1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">91</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Tree2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">92</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Tree3 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">93</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinBotFactory <span style="color: #339933;">=</span> <span style="color: #cc66cc;">606</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinDoor <span style="color: #339933;">=</span> <span style="color: #cc66cc;">607</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinSupport <span style="color: #339933;">=</span> <span style="color: #cc66cc;">608</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinRadar <span style="color: #339933;">=</span> <span style="color: #cc66cc;">609</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinConvert <span style="color: #339933;">=</span> <span style="color: #cc66cc;">610</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinBaseCamp <span style="color: #339933;">=</span> <span style="color: #cc66cc;">611</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> RuinHeadCamp <span style="color: #339933;">=</span> <span style="color: #cc66cc;">612</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Quartz0 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">700</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Quartz1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">701</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Quartz2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">702</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Quartz3 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">703</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Mushroom1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">731</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Mushroom2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">732</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk0 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">710</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">711</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">712</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk3 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">713</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk4 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">714</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> MegaStalk5 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">715</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> ApolloLEM <span style="color: #339933;">=</span> <span style="color: #cc66cc;">900</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> ApolloJeep <span style="color: #339933;">=</span> <span style="color: #cc66cc;">901</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> ApolloFlag <span style="color: #339933;">=</span> <span style="color: #cc66cc;">902</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> ApolloModule <span style="color: #339933;">=</span> <span style="color: #cc66cc;">903</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> ApolloAntenna <span style="color: #339933;">=</span> <span style="color: #cc66cc;">904</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> Home <span style="color: #339933;">=</span> <span style="color: #cc66cc;">910</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Робот-гувернантка</h2>
<p>Для робота Winged (желательно). Робот занимается тем, что мониторит других ботов, и заменяет им батарейки, если у них заряд упал ниже определенной величины(настраивается в константах). Разряженные батарейки автоматически доставляет в центр перезарядки.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// (c) Minhiriath Condravox 2002</span>
<span style="color: #666666; font-style: italic;">// Harvests a number of categories of objects and stores them at </span>
<span style="color: #666666; font-style: italic;">// predetermined storage sites.</span>
<span style="color: #666666; font-style: italic;">// Automatically restores energy if drops below fENERGYLOW.</span>
<span style="color: #666666; font-style: italic;">// Automatically repairs shields if drops below fSHIELDLOW.</span>
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>Harvest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">float</span> fSHIELDLOW<span style="color: #339933;">=</span><span style="color: #cc66cc;">0.50</span>, fENERGYLOW<span style="color: #339933;">=</span><span style="color: #cc66cc;">0.25</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iDROPTURN <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4</span>, iMAXHARVESTPRG <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">int</span> iHarvestPRG<span style="color: #009900;">&#91;</span>iMAXHARVESTPRG<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span>, i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Titanium<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> SpaceShip<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerCell<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerStation<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> NuclearCell<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerStation<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> TitaniumOre<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Converter<span style="color: #339933;">;</span>
	iHarvestPRG<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iHarvestPRGNr <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
	object oHarvestItem<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iErrCode, iCount, iNrHarvests <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">boolean</span> bPaused <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">// Check energy and shields</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> CheckAndRepowerEnergy<span style="color: #009900;">&#40;</span>fENERGYLOW<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> CheckAndRepowerShields<span style="color: #009900;">&#40;</span>fSHIELDLOW<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// Find closest harvest item at at least range x from store site and get it</span>
		oHarvestItem <span style="color: #339933;">=</span> FindHarvestObject<span style="color: #009900;">&#40;</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>, iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>, iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> oHarvestItem<span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Go to harvest item</span>
			errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>oHarvestItem.<span style="color: #006633;">position</span>, <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">// Grab </span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>grab<span style="color: #009900;">&#40;</span>InFront<span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> iNrHarvests<span style="color: #339933;">++;</span> <span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot couldn't get object!&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
				errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">// Recheck if there is a object held</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>load <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> CheckAndRepowerEnergy<span style="color: #009900;">&#40;</span>fENERGYLOW<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> CheckAndRepowerShields<span style="color: #009900;">&#40;</span>fSHIELDLOW<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">// find store site and return to it with object</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> FindAndMoveToObject<span style="color: #009900;">&#40;</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>, <span style="color: #cc66cc;">0</span>, iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span>
						message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot unable to reach store site!&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">// Wait for power or nuclear cell to reload</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span>PowerStation<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">category</span><span style="color: #339933;">==</span>PowerCell<span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">category</span><span style="color: #339933;">==</span>NuclearCell<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
					    <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">// Try to drop object or rotate until empty spot found</span>
					DropItem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">// Take distance while converting TitaniumOre and get Titanium out</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span>TitaniumOre<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span>Converter<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span>
						move<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
						move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
						turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">6</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						DropItem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span>
			<span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span>oHarvestItem.<span style="color: #006633;">position</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; from &quot;</span><span style="color: #339933;">+</span>position<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;!&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// Display amount of type harvested.</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>iNrHarvests <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvested total of &quot;</span><span style="color: #339933;">+</span>iNrHarvests<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// Start harvesting next type</span>
			iHarvestPRGNr<span style="color: #339933;">++;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>iHarvestPRGNr <span style="color: #339933;">&gt;=</span> iMAXHARVESTPRG<span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				iHarvestPRGNr <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Switched to harvesting &quot;</span><span style="color: #339933;">+</span>iHarvestPRG<span style="color: #009900;">&#91;</span>iHarvestPRGNr<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			iNrHarvests <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot stopped harvesting!&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Find nearest object of category iDestCat and move towards object if found.</span>
<span style="color: #666666; font-style: italic;">// Doesn't move if destination is less than iMinRange away.</span>
<span style="color: #666666; font-style: italic;">// Returns error codes : </span>
<span style="color: #666666; font-style: italic;">// 0    object found and reached</span>
<span style="color: #666666; font-style: italic;">// 1    object found but not reached</span>
<span style="color: #666666; font-style: italic;">// 2    object not found</span>
<span style="color: #000066; font-weight: bold;">int</span> object<span style="color: #339933;">::</span>FindAndMoveToObject<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> iDestCat, <span style="color: #000066; font-weight: bold;">int</span> iMinRange, <span style="color: #000066; font-weight: bold;">int</span> iMinDist<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iErrCode <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
	object oDest<span style="color: #339933;">;</span>
&nbsp;
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>oDest <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>iDestCat, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">360</span>, iMinRange<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> distance2d<span style="color: #009900;">&#40;</span>position, oDest.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span>iMinDist <span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>oDest.<span style="color: #006633;">position</span>, <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> iErrCode <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span>                                <span style="color: #009900;">&#123;</span> iErrCode <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> iErrCode <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> iErrCode <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span><span style="color: #009900;">&#40;</span>iErrCode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Checks bot energy cell power level and repowers at nearest PowerStation if </span>
<span style="color: #666666; font-style: italic;">// dropped below fEnergyLow.</span>
<span style="color: #666666; font-style: italic;">// Returns error codes:</span>
<span style="color: #666666; font-style: italic;">// -1    energy above fEnergyLow</span>
<span style="color: #666666; font-style: italic;">//  0    energy restored successfully</span>
<span style="color: #666666; font-style: italic;">//  1    energy needs restoring but couldn't reach PowerStation</span>
<span style="color: #666666; font-style: italic;">//  2    energy needs restoring but no PowerStation found</span>
<span style="color: #000066; font-weight: bold;">int</span> object<span style="color: #339933;">::</span>CheckAndRepowerEnergy<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> fEnergyLow<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object oPowerStation<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iErrCode<span style="color: #339933;">=-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Automatically repower energy if low</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> fEnergyLow<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot recharging.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		iErrCode <span style="color: #339933;">=</span> FindAndMoveToObject<span style="color: #009900;">&#40;</span>PowerStation, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>iErrCode<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span>
			    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span>
			    message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot en route to PowerStation - can't get there!&quot;</span>, DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    FindAndMoveToObject<span style="color: #009900;">&#40;</span>SpaceShip, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">:</span>
			    message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot recharging - can't find PowerStation!&quot;</span>, DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    FindAndMoveToObject<span style="color: #009900;">&#40;</span>SpaceShip, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>iErrCode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Checks bot shields and repowers at nearest RepairCenter if dropped below fShieldLow.</span>
<span style="color: #000066; font-weight: bold;">int</span> object<span style="color: #339933;">::</span>CheckAndRepowerShields<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">float</span> fShieldLow<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object oRepairCenter<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iErrCode<span style="color: #339933;">=-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// Auto repair if shield low</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> fShieldLow<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot repairing!&quot;</span>, DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		iErrCode <span style="color: #339933;">=</span> FindAndMoveToObject<span style="color: #009900;">&#40;</span>RepairCenter, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>iErrCode<span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">:</span>
			    <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">:</span>
			    message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot en route to RepairCenter - can't get there!&quot;</span>, DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    FindAndMoveToObject<span style="color: #009900;">&#40;</span>SpaceShip, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">:</span>
			    message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot recharging - can't find RepairCenter!&quot;</span>, DisplayWarning<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    FindAndMoveToObject<span style="color: #009900;">&#40;</span>SpaceShip, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>iErrCode<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Find nearest harvestable iFindCat object at least fStoreSize away from iStoreSiteCat</span>
object object<span style="color: #339933;">::</span>FindHarvestObject<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> iFindCat, <span style="color: #000066; font-weight: bold;">int</span> iStoreSiteCat, <span style="color: #000066; font-weight: bold;">float</span> fStoreSize<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object oStoreSite<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>iStoreSiteCat<span style="color: #009900;">&#41;</span>, oFind<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iMinDist <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>oStoreSite<span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">do</span>
		<span style="color: #009900;">&#123;</span>
			oFind <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>iFindCat, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">360</span>, iMinDist<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>oFind<span style="color: #339933;">!=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> distance2d<span style="color: #009900;">&#40;</span>oStoreSite.<span style="color: #006633;">position</span>, oFind.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>fStoreSize <span style="color: #009900;">&#41;</span>
				<span style="color: #009900;">&#123;</span>
					oFind<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
					iMinDist<span style="color: #339933;">++;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>oFind<span style="color: #339933;">==</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>iMinDist <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Can't store at &quot;</span><span style="color: #339933;">+</span>iStoreSiteCat<span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; - not present.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		oFind<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #009900;">&#40;</span>oFind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Try to drop object or rotate until empty spot found</span>
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>DropItem<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iDROPTURN <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> iCount <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span>, iErrCode <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>drop<span style="color: #009900;">&#40;</span>InFront<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> <span style="color: #009900;">&#40;</span>iCount <span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">360</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> 
	<span style="color: #009900;">&#123;</span> 
		turn<span style="color: #009900;">&#40;</span>iDROPTURN<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		iCount <span style="color: #339933;">+=</span> iDROPTURN<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>iCount <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">360</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Harvester bot unable to drop object!&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			iCount <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Авто-создание роботов</h2>
<p>Продвинутая программа для роботов-грабберов для создания других ботов. Она находит Титаниум, перемещает его на станцию создания роботов, ждет 25 секунд, берет заряженную батарейку, помещает его в бота и отьезжает, чтобы новосозданный робот мог оттуда выехать. Также, если необходимо, она подождет, пока батарейка зарядится на станции подзарядки.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>BotCreate<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	object metal<span style="color: #339933;">;</span>
	object factory<span style="color: #339933;">;</span>
	object power<span style="color: #339933;">;</span>
	object recharge<span style="color: #339933;">;</span>
	metal<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>Titanium<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	factory<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>BotFactory<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerCell<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	recharge<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>metal.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>factory.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	drop<span style="color: #009900;">&#40;</span>InFront<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	move<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>PowerStation<span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>recharge.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>factory.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	move<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Автоогонь</h2>
<p>Интересная программа для стреляющих роботов. Позволяет Вам сконцентрироваться на управлении, когда как огонь по вражеским целям будет вести программа.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Redesinged script copied from AlienKiller by Yenz</span>
<span style="color: #666666; font-style: italic;">// This code almost entirely copied from the AlienKiller script</span>
<span style="color: #666666; font-style: italic;">// made by Yenz. I wanted to make a simple cyborg script where</span>
<span style="color: #666666; font-style: italic;">// a bot is manually piloted, but has precision aiming. Just run</span>
<span style="color: #666666; font-style: italic;">// this script instead of hitting the fire button and the bot</span>
<span style="color: #666666; font-style: italic;">// will aim and fire once at the closest alien in front of it.</span>
<span style="color: #666666; font-style: italic;">// </span>
<span style="color: #666666; font-style: italic;">// Now rewritten to include both pitch and roll correction</span>
<span style="color: #666666; font-style: italic;">// Reports warnings for temperature, shield and energy levels</span>
<span style="color: #666666; font-style: italic;">// in percentages.</span>
&nbsp;
&nbsp;
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>RoboAim2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object alien<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> angle<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> alienList<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span>, nr<span style="color: #339933;">;</span>
&nbsp;
	nr <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	alienList<span style="color: #009900;">&#91;</span>nr<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWasp<span style="color: #339933;">;</span>
	alienList<span style="color: #009900;">&#91;</span>nr<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienAnt<span style="color: #339933;">;</span>
	alienList<span style="color: #009900;">&#91;</span>nr<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienSpider<span style="color: #339933;">;</span>
	alienList<span style="color: #009900;">&#91;</span>nr<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWorm<span style="color: #339933;">;</span>
	alienList<span style="color: #009900;">&#91;</span>nr<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienEgg<span style="color: #339933;">;</span>
&nbsp;
	alien <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>alienList,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">90</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>alien <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>        <span style="color: #666666; font-style: italic;">//if there still is a alien left</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span>position, alien.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			turn<span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>alien.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//coarse turn adjustment;</span>
&nbsp;
			angle <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>alien.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>alien.<span style="color: #006633;">altitude</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>altitude<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>distance2d<span style="color: #009900;">&#40;</span>position, alien.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        <span style="color: #666666; font-style: italic;">//determine absolute aiming angle</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">// calulate and turn to adjust for roll angle</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>roll <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> turn<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>angle<span style="color: #339933;">-</span>pitch<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>roll<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #339933;">-</span>roll<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">else</span> turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>angle<span style="color: #339933;">-</span>pitch<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>roll<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #339933;">-</span>roll<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			aim<span style="color: #009900;">&#40;</span>angle<span style="color: #339933;">-</span>pitch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//aim at the target</span>
&nbsp;
			fire<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//kill it</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">else</span> message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No target&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>temperature <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0.8</span><span style="color: #009900;">&#41;</span> message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Engines at &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>temperature <span style="color: #339933;">*</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;%&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span> message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning-Shield at &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">*</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;%&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span> message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning-Energy at &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;%&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Младший научный работник</h2>
<p>Программа для исследовательских центров. Робот автоматически меняет разряженные батарейки. Он ищет другие заряженные батарейки и помещает их в исследовательский центр.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>Research<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	object power<span style="color: #339933;">;</span>
	object research<span style="color: #339933;">;</span>
	power<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>PowerCell<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	research<span style="color: #339933;">=</span>radar<span style="color: #009900;">&#40;</span>ResearchCenter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>power.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		move<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>research.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Вася-ремонтник</h2>
<p>Программа для бота Shielder, которая позволяет в автоматическом режиме ремонтировать поврежденные здания. Он также может ремонтировать и других поврежденных роботов</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// This program was designed for the Shielder</span>
<span style="color: #666666; font-style: italic;">// to repair stationary objects (i.e. buildings).</span>
<span style="color: #666666; font-style: italic;">// If you want to include (damaged) bots, they </span>
<span style="color: #666666; font-style: italic;">// must remain still during the repair.</span>
&nbsp;
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>RepairBase<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	bool includeBots <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// You decide.</span>
&nbsp;
	object allies<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	allies <span style="color: #339933;">=</span> findAllies<span style="color: #009900;">&#40;</span>includeBots<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> sizeof<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position,allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">26</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			turn<span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> d <span style="color: #339933;">=</span> <span style="color: #cc66cc;">24</span><span style="color: #339933;">;</span> d <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">5</span><span style="color: #339933;">;</span> d<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				point dest <span style="color: #339933;">=</span> triangulate2d<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span>,d<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>dest<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span> <span style="color: #009900;">&#41;</span>
				    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
				errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position,allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">26</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not goto &quot;</span> <span style="color: #339933;">+</span> allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;.&quot;</span>, DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>   
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">shieldLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
		    shield<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,distance2d<span style="color: #009900;">&#40;</span>position,allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		message<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; repaired.  (&quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">+</span> sizeof<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;)&quot;</span>, DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		shield<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>   
&nbsp;
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;All repaired.&quot;</span>, DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
object<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> object<span style="color: #339933;">::</span>findAllies<span style="color: #009900;">&#40;</span>bool repairAll<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">int</span> allyList<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Derrick<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> BotFactory<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerStation<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerCaptor<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Converter<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> RepairCenter<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> DefenseTower<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ResearchCenter<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> RadarStation<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ExchangePost<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerPlant<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AutoLab<span style="color: #339933;">;</span>
	allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> NuclearPlant<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>repairAll<span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WingedGrabber<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> TrackedGrabber<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WheeledGrabber<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> LeggedGrabber<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WingedShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> TrackedShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WheeledShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> LeggedShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WingedOrgaShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> TrackedOrgaShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WheeledOrgaShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> LeggedOrgaShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WingedSniffer<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> TrackedSniffer<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> WheeledSniffer<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> LeggedSniffer<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Thumper<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PhazerShooter<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Recycler<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Shielder<span style="color: #339933;">;</span>
		allyList<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> Subber<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
	object allies<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	object tempObject<span style="color: #339933;">;</span>
&nbsp;
	i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> k <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>tempObject <span style="color: #339933;">=</span> retobject<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&lt;</span> sizeof<span style="color: #009900;">&#40;</span>allyList<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tempObject.<span style="color: #006633;">category</span> <span style="color: #339933;">==</span> allyList<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span> and tempObject.<span style="color: #006633;">shieldLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				message<span style="color: #009900;">&#40;</span>tempObject.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; needs repair.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				allies<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tempObject<span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>    
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> sizeof<span style="color: #009900;">&#40;</span>allies<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&lt;</span> i<span style="color: #339933;">;</span> j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>position,allies<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> distance2d<span style="color: #009900;">&#40;</span>position,allies<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				tempObject  <span style="color: #339933;">=</span> allies<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				allies<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span>   <span style="color: #339933;">=</span> allies<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				allies<span style="color: #009900;">&#91;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tempObject<span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> allies<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
point object<span style="color: #339933;">::</span>triangulate2d<span style="color: #009900;">&#40;</span>point p,<span style="color: #000066; font-weight: bold;">int</span> dist<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	point dest <span style="color: #339933;">=</span> p<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> angl <span style="color: #339933;">=</span> orientation<span style="color: #339933;">+</span><span style="color: #cc66cc;">180</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>angl <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">360</span><span style="color: #009900;">&#41;</span>
	    angl <span style="color: #339933;">-=</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span>
&nbsp;
	dest.<span style="color: #006633;">x</span> <span style="color: #339933;">+=</span> cos<span style="color: #009900;">&#40;</span>angl<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> dist<span style="color: #339933;">;</span>
	dest.<span style="color: #006633;">y</span> <span style="color: #339933;">+=</span> sin<span style="color: #009900;">&#40;</span>angl<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> dist<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> dest<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Джеки Чан</h2>
<p>Продвинутая программа для атаки. Применяет некоторые трюки, позволяя достичь превосходства в борьбе с другими роботами.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>Attack2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	ipf<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">800</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">int</span> cat<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienAnt<span style="color: #339933;">;</span>    
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWorm<span style="color: #339933;">;</span>  
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWasp<span style="color: #339933;">;</span> 
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienSpider<span style="color: #339933;">;</span>
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienEgg<span style="color: #339933;">;</span>
&nbsp;
	object target<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">float</span> dir<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> dis<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> dif<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> ang<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">boolean</span> hot <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>target <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>cat<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>temperature <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0.8</span><span style="color: #009900;">&#41;</span>
		    hot <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>temperature <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span>
		    hot <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>hot and topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
		    jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #009900;">&#123;</span>
			dis <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position,target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
			dif <span style="color: #339933;">=</span> target.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
			ang <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span>dif<span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span>dis<span style="color: #339933;">-</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
			jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">-</span>ang<span style="color: #339933;">/-</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
		<span style="color: #009900;">&#125;</span>
&nbsp;
		dis <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position,target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
		dif <span style="color: #339933;">=</span> target.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
		ang <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span>dif<span style="color: #339933;">/</span>dis<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>altitude <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
		    ang <span style="color: #339933;">-=</span> pitch<span style="color: #339933;">;</span>
&nbsp;
		dir <span style="color: #339933;">=</span> direction<span style="color: #009900;">&#40;</span>target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">40</span> and abs<span style="color: #009900;">&#40;</span>ang<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">20</span> and abs<span style="color: #009900;">&#40;</span>dir<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">112.5</span><span style="color: #009900;">&#41;</span>
		    turn<span style="color: #009900;">&#40;</span>dir<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">else</span>
		    motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">-</span>dir<span style="color: #339933;">/</span><span style="color: #cc66cc;">45</span>,<span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>dir<span style="color: #339933;">/</span><span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		dis <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position,target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
		dif <span style="color: #339933;">=</span> target.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
		ang <span style="color: #339933;">=</span> atan<span style="color: #009900;">&#40;</span>dif<span style="color: #339933;">/</span>dis<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>pitch<span style="color: #339933;">;</span> 
&nbsp;
		aim<span style="color: #009900;">&#40;</span>ang<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		dir <span style="color: #339933;">=</span> direction<span style="color: #009900;">&#40;</span>target.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">40</span>  and abs<span style="color: #009900;">&#40;</span>ang<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">20</span> and abs<span style="color: #009900;">&#40;</span>dir<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span>
		    fire<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>dis <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span>
		    maint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>maint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.35</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		object pwr <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>pwr <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>pwr.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
			    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.45</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		object rep <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>RepairCenter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>rep <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>rep.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
			    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Брюс Ли</h2>
<p>Еще одна программа для атаки. Эффективно против всех типов врагов (кроме AlienQueen, конечно ;-) ). Автоматически себе перезаряжает, если необходимо.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Air Superiority Fighter</span>
<span style="color: #666666; font-style: italic;">// Version 1.00</span>
<span style="color: #666666; font-style: italic;">// by Black Eagle</span>
<span style="color: #666666; font-style: italic;">// blackeagle@gamebox.net</span>
<span style="color: #666666; font-style: italic;">// For WingedShooter and WingedOrgaShooter</span>
<span style="color: #666666; font-style: italic;">// Features :</span>
<span style="color: #666666; font-style: italic;">// - Effective against all types of enemies (except AlienQueen, of course! :) )</span>
<span style="color: #666666; font-style: italic;">// - Low energy usage for firing</span>
<span style="color: #666666; font-style: italic;">// - Recharges and repairs itself when needed</span>
<span style="color: #666666; font-style: italic;">// - Avoids water while cooling down (if it can)</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// Notes :</span>
<span style="color: #666666; font-style: italic;">// * Don't use first person camera while using this program</span>
<span style="color: #666666; font-style: italic;">// because of the pitch bug. It will drop the accuracy</span>
<span style="color: #666666; font-style: italic;">// severely.</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">// * This bot can take the following commands via an</span>
<span style="color: #666666; font-style: italic;">// information exchange post :</span>
<span style="color: #666666; font-style: italic;">//   - wsguardrange : change the guard range</span>
<span style="color: #666666; font-style: italic;">//   - wsfirerate   : change the firing rate</span>
<span style="color: #666666; font-style: italic;">//   - wsfiredelay  : change the firing delay</span>
<span style="color: #666666; font-style: italic;">//   - wsguardpoint : change the guard point with the </span>
<span style="color: #666666; font-style: italic;">//                    wsguardpointx as the x value and </span>
<span style="color: #666666; font-style: italic;">//                    wsguardpointy as the y value</span>
<span style="color: #666666; font-style: italic;">//                  ( This bot DOESN'T check if the guard</span>
<span style="color: #666666; font-style: italic;">//                    point is covered with water or not,</span>
<span style="color: #666666; font-style: italic;">//                    so be careful when using this command )</span>
&nbsp;
extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>AirSuperiority<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object item<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> err1<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> err2<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> temp1<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> temp2<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> tempdir<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> tempdis<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> curdir<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> nexttopo<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> turnmotor<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> firerate<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> enemydir<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> enemylife<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> fired<span style="color: #339933;">;</span>
	object enemy<span style="color: #339933;">;</span>
	object enemy1<span style="color: #339933;">;</span>
	point guardpoint<span style="color: #339933;">;</span>
	point togo<span style="color: #339933;">;</span>
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ipf<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">800</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	guardpoint <span style="color: #339933;">=</span> position<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> list<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span>, i<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> maxsearch<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">float</span> maxsearchorig<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> firedelay<span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> firedelaytime<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
	enemylife <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	fired <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.15</span><span style="color: #339933;">;</span>
	temp1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	firedelay <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	firedelaytime <span style="color: #339933;">=</span> <span style="color: #cc66cc;">12</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Firing delay before another fire</span>
	firerate <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.25</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Firing Rate</span>
	maxsearch <span style="color: #339933;">=</span> <span style="color: #cc66cc;">300</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Max. search area.</span>
	maxsearchorig <span style="color: #339933;">=</span> maxsearch<span style="color: #339933;">;</span> 
&nbsp;
	i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
	list<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienAnt<span style="color: #339933;">;</span>
	list<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWasp<span style="color: #339933;">;</span>
	list<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienSpider<span style="color: #339933;">;</span>
	list<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienEgg<span style="color: #339933;">;</span>
	list<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWorm<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No Power Station Found. Aborting...&quot;</span>,DisplayError<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">+</span>fired<span style="color: #009900;">&#41;</span> <span style="color: #339933;">|</span> shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.4</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>                        <span style="color: #666666; font-style: italic;">// if so:</span>
			item <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> item <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span> distance2d<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span>,position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> item <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span>   <span style="color: #666666; font-style: italic;">// station found ?</span>
				<span style="color: #009900;">&#123;</span>
					err1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// go there</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>err1 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						err2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">120</span>,<span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>err2 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>err2 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
								wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
								err2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">120</span>,<span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
						message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Power Station occupied, waiting...&quot;</span>,DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>err1 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							err1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span>
					<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span>
					<span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// until recharged:</span>
						wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// wait</span>
						fired <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.15</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					item <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>RepairCenter<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> item <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span>   <span style="color: #666666; font-style: italic;">// repairstation found ?</span>
					<span style="color: #009900;">&#123;</span>
						err1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// go there</span>
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>err1 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							err2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">120</span>,<span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>err2 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>err2 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
									wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
									err2 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span>,<span style="color: #cc66cc;">8</span>,<span style="color: #cc66cc;">120</span>,<span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
								<span style="color: #009900;">&#125;</span>
							<span style="color: #009900;">&#125;</span>
							message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Repair Center occupied, waiting...&quot;</span>,DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>err1 <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
								err1 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>item.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
						<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span> shieldLevel <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span>
						<span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// until recharged:</span>
							wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// wait</span>
						<span style="color: #009900;">&#125;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				enemy <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>PowerStation<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>energyCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">+</span>fired<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;</span> shieldLevel <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0.4</span><span style="color: #009900;">&#41;</span> enemy <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">0</span>,maxsearch,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>testinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardrange&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			maxsearch <span style="color: #339933;">=</span> receive<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardrange&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			deleteinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardrange&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>testinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfirerate&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			firerate <span style="color: #339933;">=</span> receive<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfirerate&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			deleteinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfirerate&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>testinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfiredelay&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			firedelaytime <span style="color: #339933;">=</span> receive<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfiredelay&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			deleteinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsfiredelaytime&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>testinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardpoint&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			guardpoint.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> receive<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardpointx&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			guardpoint.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> receive<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardpointy&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			deleteinfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;wsguardpoint&quot;</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>enemy <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span> temperature <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.75</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>orientation<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
			togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>orientation<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
			togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span> <span style="color: #339933;">-</span> topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">|</span> position.<span style="color: #006633;">z</span> <span style="color: #339933;">-</span> topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">2</span> <span style="color: #339933;">|</span> position.<span style="color: #006633;">z</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span> <span style="color: #339933;">-</span> topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">0.2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">category</span> <span style="color: #339933;">!=</span> AlienWasp and enemy.<span style="color: #006633;">category</span> <span style="color: #339933;">!=</span> PowerStation<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>atan<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>enemy.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>distance2d<span style="color: #009900;">&#40;</span>position,enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">0.8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>atan<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">-</span>enemy.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>distance2d<span style="color: #009900;">&#40;</span>position,enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span> enemy.<span style="color: #006633;">category</span> <span style="color: #339933;">!=</span> PowerStation <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span> <span style="color: #339933;">&lt;</span> enemy.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span> <span style="color: #339933;">&gt;</span> enemy.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span> jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">0.4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
			turnmotor <span style="color: #339933;">=</span> distance<span style="color: #009900;">&#40;</span>position,enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">150</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>turnmotor <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> turnmotor <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>turnmotor <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> turnmotor <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.5</span><span style="color: #339933;">;</span>
			enemydir <span style="color: #339933;">=</span> direction<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">180</span> <span style="color: #339933;">|</span> enemydir <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&lt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> enemydir <span style="color: #339933;">=</span> enemydir <span style="color: #339933;">+</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span> enemydir <span style="color: #339933;">=</span> enemydir <span style="color: #339933;">-</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">lifeTime</span> <span style="color: #339933;">&gt;</span> enemylife <span style="color: #339933;">&amp;</span> enemy.<span style="color: #006633;">lifeTime</span> <span style="color: #339933;">&lt;</span> <span style="color: #009900;">&#40;</span>enemylife <span style="color: #339933;">+</span> <span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span> firedelay <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			enemylife <span style="color: #339933;">=</span> enemy.<span style="color: #006633;">lifeTime</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>firedelay <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> firedelay <span style="color: #339933;">=</span> firedelay <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>distance<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span>,position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">45</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span>turnmotor,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,turnmotor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
			<span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">60</span> <span style="color: #339933;">&amp;</span> enemydir <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span>turnmotor,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,turnmotor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemydir <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">else</span> motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			aim<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>atan<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>position.<span style="color: #006633;">z</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1.5</span><span style="color: #339933;">-</span>enemy.<span style="color: #006633;">position</span>.<span style="color: #006633;">z</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span>distance2d<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span>,position<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>pitch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>direction<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">5</span> <span style="color: #339933;">&amp;</span> direction<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">5</span> <span style="color: #339933;">&amp;</span> distance<span style="color: #009900;">&#40;</span>enemy.<span style="color: #006633;">position</span>,position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">45</span> <span style="color: #339933;">&amp;</span> firedelay <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				fire<span style="color: #009900;">&#40;</span>firerate<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>fired <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> fired <span style="color: #339933;">=</span> fired <span style="color: #339933;">-</span> <span style="color: #cc66cc;">0.02</span><span style="color: #339933;">;</span>
				firedelay <span style="color: #339933;">=</span> firedelaytime<span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>enemy <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span> temperature <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0.75</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			temp1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp1,<span style="color: #cc66cc;">45</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemy1 <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				temp1 <span style="color: #339933;">=</span> temp1 <span style="color: #339933;">+</span> <span style="color: #cc66cc;">45</span><span style="color: #339933;">;</span>
				enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp1,<span style="color: #cc66cc;">45</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			turn<span style="color: #009900;">&#40;</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>orientation<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
			togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>orientation<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
			togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>temperature <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				curdir <span style="color: #339933;">=</span> orientation<span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">0.1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>curdir<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
					togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>curdir<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
					togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						temp1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							temp1 <span style="color: #339933;">=</span> temp1 <span style="color: #339933;">+</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
							enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp1,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemy1 <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								temp1 <span style="color: #339933;">=</span> temp1 <span style="color: #339933;">+</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
								enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp1,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
							togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
						togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>curdir<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
						togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>curdir<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
						togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
						temp2 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							temp2 <span style="color: #339933;">=</span> temp2 <span style="color: #339933;">-</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
							enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp2,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemy1 <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								temp2 <span style="color: #339933;">=</span> temp2 <span style="color: #339933;">-</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
								enemy1 <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>list,temp2,<span style="color: #cc66cc;">10</span>,<span style="color: #cc66cc;">30</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
							togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp2<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
						<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>temp2 <span style="color: #339933;">&gt;</span> temp1<span style="color: #009900;">&#41;</span> tempdir <span style="color: #339933;">=</span> temp1<span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>temp2 <span style="color: #339933;">&lt;=</span> temp1<span style="color: #009900;">&#41;</span> tempdir <span style="color: #339933;">=</span> temp2<span style="color: #339933;">;</span>
						turn<span style="color: #009900;">&#40;</span>tempdir<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>position<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					motor<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					jet<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">0.05</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						temp1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
						tempdis <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>topo<span style="color: #009900;">&#40;</span>togo<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							temp1 <span style="color: #339933;">=</span> temp1 <span style="color: #339933;">+</span> <span style="color: #cc66cc;">45</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">x</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tempdis<span style="color: #339933;">*</span>cos<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">x</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">y</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>tempdis<span style="color: #339933;">*</span>sin<span style="color: #009900;">&#40;</span>curdir<span style="color: #339933;">+</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>position.<span style="color: #006633;">y</span><span style="color: #339933;">;</span>
							togo.<span style="color: #006633;">z</span> <span style="color: #339933;">=</span> position.<span style="color: #006633;">z</span><span style="color: #339933;">;</span>
							<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>temp1 <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">360</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
								temp1 <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
								tempdis <span style="color: #339933;">=</span> tempdis <span style="color: #339933;">+</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span>
							<span style="color: #009900;">&#125;</span>
						<span style="color: #009900;">&#125;</span>
						turn<span style="color: #009900;">&#40;</span>temp1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>enemy <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">&amp;</span> distance<span style="color: #009900;">&#40;</span>position,guardpoint<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>guardpoint<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>TowerService</h2>
<p>Программа для обслуживания множества башен и ботов. Для более эффективного использования Вы можете построить здание ExchangePost.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>ServiceTower2<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//resetExChgPst();</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>load <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		    getCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
			    maint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
&nbsp;
			loadTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>resetExChgPst<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object towers<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	towers <span style="color: #339933;">=</span> findAndSortTowers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> sizeof<span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	    finishService<span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
object object<span style="color: #339933;">::</span>getTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object towers<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	towers <span style="color: #339933;">=</span> findAndSortTowers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> sizeof<span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> and not currentlyBeingServiced<span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
		    <span style="color: #000000; font-weight: bold;">return</span> towers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>getCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object bestCell <span style="color: #339933;">=</span> findBestCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>bestCell <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    getCellFromTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		myGoto<span style="color: #009900;">&#40;</span>bestCell.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
object object<span style="color: #339933;">::</span>findBestCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object cell <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>PowerCell<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	object bestCell <span style="color: #339933;">=</span> cell<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">float</span> min <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>cell <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>PowerCell,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,min<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span> 
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>cell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
		    <span style="color: #000000; font-weight: bold;">return</span> cell<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>bestCell.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> cell.<span style="color: #006633;">energyLevel</span><span style="color: #009900;">&#41;</span>
		    bestCell <span style="color: #339933;">=</span> cell<span style="color: #339933;">;</span>
&nbsp;
		min <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position,cell.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">0.5</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> bestCell<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
&nbsp;
object<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> object<span style="color: #339933;">::</span>findAndSortTowers<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object towers<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> 
	<span style="color: #000066; font-weight: bold;">float</span> min <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>DefenseTower,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,min<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    min <span style="color: #339933;">=</span> distance2d<span style="color: #009900;">&#40;</span>position,towers<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">0.5</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> j <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> k <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> k <span style="color: #339933;">&lt;</span> j<span style="color: #339933;">;</span> k<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">float</span> energyLevel1 <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">float</span> energyLevel2 <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">energyCell</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
			    energyLevel1 <span style="color: #339933;">=</span> towers<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>towers<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">energyCell</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
			    energyLevel2 <span style="color: #339933;">=</span> towers<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>energyLevel1 <span style="color: #339933;">&gt;</span> energyLevel2<span style="color: #009900;">&#41;</span>
			<span style="color: #009900;">&#123;</span>
				object temp  <span style="color: #339933;">=</span> towers<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				towers<span style="color: #009900;">&#91;</span>k<span style="color: #009900;">&#93;</span>    <span style="color: #339933;">=</span> towers<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				towers<span style="color: #009900;">&#91;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>  <span style="color: #339933;">=</span> temp<span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> towers<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> 
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>getCellFromTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object tower <span style="color: #339933;">=</span> getTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">energyCell</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> cat<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerStation<span style="color: #339933;">;</span>
		cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerCaptor<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0.5</span> and radar<span style="color: #009900;">&#40;</span>cat<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			startService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			myGoto<span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemyIsNear<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> and tower.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0.125</span><span style="color: #009900;">&#41;</span>
			    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
&nbsp;
			grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			finishService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>  
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>loadTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object tower <span style="color: #339933;">=</span> getTower<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">energyCell</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> load.<span style="color: #006633;">energyLevel</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			startService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			myGoto<span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>enemyIsNear<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> and tower.<span style="color: #006633;">energyCell</span>.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0.125</span><span style="color: #009900;">&#41;</span>
			    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   
&nbsp;
			swapCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			finishService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">else</span>
	<span style="color: #009900;">&#123;</span>
		startService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		myGoto<span style="color: #009900;">&#40;</span>tower.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		finishService<span style="color: #009900;">&#40;</span>tower<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>startService<span style="color: #009900;">&#40;</span>object o<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>radar<span style="color: #009900;">&#40;</span>ExchangePost<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
&nbsp;
	send<span style="color: #009900;">&#40;</span>o.<span style="color: #006633;">position</span>.<span style="color: #006633;">x</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">+</span> o.<span style="color: #006633;">position</span>.<span style="color: #006633;">y</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
bool object<span style="color: #339933;">::</span>currentlyBeingServiced<span style="color: #009900;">&#40;</span>object o<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">return</span> testinfo<span style="color: #009900;">&#40;</span>o.<span style="color: #006633;">position</span>.<span style="color: #006633;">x</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">+</span> o.<span style="color: #006633;">position</span>.<span style="color: #006633;">y</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>finishService<span style="color: #009900;">&#40;</span>object o<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	deleteinfo<span style="color: #009900;">&#40;</span>o.<span style="color: #006633;">position</span>.<span style="color: #006633;">x</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">+</span> o.<span style="color: #006633;">position</span>.<span style="color: #006633;">y</span>,<span style="color: #cc66cc;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>swapCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	drop<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
	turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	turn<span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	grab<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	drop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	turn<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">90</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>maint<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;PowerCell needs recharge.  Searching for energy sources...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>rechargePlanA<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">false</span> and rechargePlanB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Warning.  No energy sources found!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Recharge completed.  Resuming job duties...&quot;</span>, DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
bool object<span style="color: #339933;">::</span>rechargePlanA<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">int</span> cat<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerStation<span style="color: #339933;">;</span> 
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> PowerCaptor<span style="color: #339933;">;</span>
&nbsp;
	object pwrSource <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>cat<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>pwrSource <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	myGoto<span style="color: #009900;">&#40;</span>triangulate2d<span style="color: #009900;">&#40;</span>pwrSource<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	myGoto<span style="color: #009900;">&#40;</span>pwrSource.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Recharging at &quot;</span> <span style="color: #339933;">+</span> pwrSource.<span style="color: #006633;">category</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;...&quot;</span>,DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
	    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>space<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
bool object<span style="color: #339933;">::</span>rechargePlanB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	object bestCell <span style="color: #339933;">=</span> findBestCell<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>bestCell <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>load.<span style="color: #006633;">energyLevel</span> <span style="color: #339933;">&lt;</span> bestCell.<span style="color: #006633;">energyLevel</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>bestCell.<span style="color: #006633;">position</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
&nbsp;
		message<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Swapping with better PowerCell...&quot;</span>,DisplayInfo<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		drop<span style="color: #009900;">&#40;</span>Behind<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		grab<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
bool object<span style="color: #339933;">::</span>enemyIsNear<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">int</span> cat<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>                
&nbsp;
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienAnt<span style="color: #339933;">;</span>    
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWorm<span style="color: #339933;">;</span>  
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienWasp<span style="color: #339933;">;</span> 
	cat<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> AlienSpider<span style="color: #339933;">;</span>
&nbsp;
	object enemy <span style="color: #339933;">=</span> radar<span style="color: #009900;">&#40;</span>cat,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">360</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">75</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>enemy <span style="color: #339933;">==</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>
	    <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>myGoto<span style="color: #009900;">&#40;</span>point p<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">goto</span><span style="color: #009900;">&#40;</span>p<span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
	    wait<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    
&nbsp;
	errmode<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
point object<span style="color: #339933;">::</span>triangulate2d<span style="color: #009900;">&#40;</span>object o<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	point dest <span style="color: #339933;">=</span> o.<span style="color: #006633;">position</span><span style="color: #339933;">;</span>
&nbsp;
	dest.<span style="color: #006633;">x</span> <span style="color: #339933;">+=</span> cos<span style="color: #009900;">&#40;</span>o.<span style="color: #006633;">orientation</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
	dest.<span style="color: #006633;">y</span> <span style="color: #339933;">+=</span> sin<span style="color: #009900;">&#40;</span>o.<span style="color: #006633;">orientation</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">return</span> dest<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h2>Сборщик урана</h2>
<p>Программа для сбора UraniumOre (урановой руды). Поддерживает до двух одновременно работающих ботов, позволяя избегать пробок :-)</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">extern <span style="color: #000066; font-weight: bold;">void</span> object<span style="color: #339933;">::</span>CollectUranOre<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">while</span><span style="color: #0