mirror of https://github.com/dirtbags/tanks.git
More cautious attempt to update docs
This commit is contained in:
parent
8ea2ff7dda
commit
2b949a819a
|
@ -1,147 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Tanks Introduction</title>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
<script type="application/javascript" src="tanks.js"></script>
|
||||
<script type="application/javascript" src="figures.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Tanks Introduction</h1>
|
||||
|
||||
<table class="figure">
|
||||
<caption>"ChashTank" dominates this short round.</caption>
|
||||
<tr>
|
||||
<td>
|
||||
<canvas id="shortround"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("shortround", shortround);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Tanks is a game in which you pit your coding abilities against
|
||||
other hackers. You write a program for your tank, set it out on
|
||||
the battlefield, and watch how it fares against other tanks while
|
||||
running your program.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Each tank has a turret-mounted laser, two treads, up to ten
|
||||
sensors, and a diagnostic LED. Sensors are used to detect when
|
||||
other tanks are inside a given arc. In the examples on this page,
|
||||
"triggered" sensors turn black. Most tanks will take some action
|
||||
if a sensor is triggered, such as changing speed of the treads,
|
||||
turning the turret, or firing.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Tanks are programmed in Forf, a stack-based language similar to
|
||||
PostScript. Please read the <a href="forf.html">Forf manual</a>
|
||||
to learn more about forf, and the <a href="procs.html">Tanks
|
||||
procedure reference</a> for a description of Tanks extensions.
|
||||
</p>
|
||||
|
||||
<h2>Quick Start for the Impatient</h2>
|
||||
|
||||
<table class="figure left">
|
||||
<caption>"Crashmaster" pwns the lame default tank provided in this
|
||||
section.</caption>
|
||||
<tr>
|
||||
<td>
|
||||
<canvas id="default"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("default", default_);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
To get started, head over to the <a href="debugger.html">Tank
|
||||
Debugger</a> and enter the following example tank. This tank will
|
||||
move around, turn the turret, and fire if there's something in
|
||||
front of it.
|
||||
</p>
|
||||
|
||||
<pre style="clear: both;">
|
||||
Sensor 0: 50 0 7 ☑
|
||||
Sensor 1: 30 0 90 ☐
|
||||
|
||||
get-turret 12 + set-turret! ( Rotate turret )
|
||||
37 40 set-speed! ( Go in circles )
|
||||
0 sensor? { fire! } if ( Fire if turret sensor triggered )
|
||||
1 sensor? { -50 50 set-speed! } if ( Turn if collision sensor triggered )
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
Obviously, this tank could be improved. Studying the examples on
|
||||
this page should give you ideas about how to make a better tank.
|
||||
Don't forget the <a href="forf.html">Forf manual</a> and the
|
||||
<a href="procs.html">Tank procedure reference</a>.
|
||||
</p>
|
||||
|
||||
<h2>Tank Specifications</h2>
|
||||
|
||||
<table class="figure">
|
||||
<caption>"Ant Lion" nails "Rabbit With Gun".</caption>
|
||||
<tr>
|
||||
<td>
|
||||
<canvas id="antlion"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("antlion", antlion);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Your PF-255 autonomous tank is built to the exacting
|
||||
specifications sent to our factory in New Khavistan. All
|
||||
distances are in meters, angles in degrees.
|
||||
</p>
|
||||
|
||||
<dl style="clear: both;">
|
||||
<dt>Tank size</dt>
|
||||
<dd>
|
||||
The targettable area of the tank—the part which can be hit by a
|
||||
cannon—is a circle about 7½ meters in radius.
|
||||
</dd>
|
||||
|
||||
<dt>Speed</dt>
|
||||
<dd>
|
||||
Each tread can have a speed between -100 and 100. This is in
|
||||
percentage of total speed for that tread, where total speed is
|
||||
roughly 7 meters per turn.
|
||||
</dd>
|
||||
|
||||
<dt>Sensors</dt>
|
||||
<dd>
|
||||
Each sensor has a maximum range of 100 meters. Of course, you
|
||||
don't have to use the full range. Sensors may be attached to
|
||||
the turret (they turn along with the turret), or left fixed to
|
||||
the tank.
|
||||
</dd>
|
||||
|
||||
<dt>Turret</dt>
|
||||
<dd>
|
||||
Turret angle can be set between -359° and 359°, with 0° directly
|
||||
in front of the tank. Be aware that it takes time for the
|
||||
turret to swing around: the turret can swing about 45° per turn.
|
||||
</dd>
|
||||
|
||||
<dt>Cannon range and recharging</dt>
|
||||
<dd>
|
||||
When the cannon is fired, it obliterates everything for 50
|
||||
meters in front of it. It takes around 20 turns for your cannon
|
||||
to recharge after it's been fired, so only shoot when you feel
|
||||
like you're going to hit something.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
Good luck blowing everybody up!
|
||||
include(nav.html.inc)
|
||||
</html>
|
|
@ -0,0 +1,97 @@
|
|||
# Tanks Introduction
|
||||
|
||||
<figure>
|
||||
<figcaption>"ChashTank" dominates this short round.</figure>
|
||||
<canvas id="shortround"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("shortround", shortround);
|
||||
</script>
|
||||
</figure>
|
||||
|
||||
Tanks is a game in which you pit your coding abilities against
|
||||
other hackers. You write a program for your tank, set it out on
|
||||
the battlefield, and watch how it fares against other tanks while
|
||||
running your program.
|
||||
|
||||
Each tank has a turret-mounted laser, two treads, up to ten
|
||||
sensors, and a diagnostic LED. Sensors are used to detect when
|
||||
other tanks are inside a given arc. In the examples on this page,
|
||||
"triggered" sensors turn black. Most tanks will take some action
|
||||
if a sensor is triggered, such as changing speed of the treads,
|
||||
turning the turret, or firing.
|
||||
|
||||
Tanks are programmed in Forf, a stack-based language similar to
|
||||
PostScript. Please read the [Forf manual](forf.md) to learn more
|
||||
about forf, and the [Tanks procedure reference](procs.html) for a
|
||||
description of Tanks extensions.
|
||||
|
||||
## Quick Start for the Impatient
|
||||
|
||||
<figure>
|
||||
<figcaption>"Crashmaster" pwns the lame default tank provided in this
|
||||
section.</figcaption>
|
||||
<canvas id="default"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("default", default_);
|
||||
</script>
|
||||
</figure>
|
||||
|
||||
To get started, head over to the designer for your game,
|
||||
and use the following example tank. This tank will
|
||||
move around, turn the turret, and fire if there's something in
|
||||
front of it.
|
||||
|
||||
Sensor 0: 50 0 7 ☑
|
||||
Sensor 1: 30 0 90 ☐
|
||||
|
||||
get-turret 12 + set-turret! ( Rotate turret )
|
||||
37 40 set-speed! ( Go in circles )
|
||||
0 sensor? { fire! } if ( Fire if turret sensor triggered )
|
||||
1 sensor? { -50 50 set-speed! } if ( Turn if collision sensor triggered )
|
||||
|
||||
Obviously, this tank could be improved.
|
||||
Watch other tanks in your game to get ideas about how to improve yours.
|
||||
Don't forget the [Forf manual](forf.md) and the
|
||||
[Tank procedure reference](procs.html).
|
||||
|
||||
## Tank Specifications
|
||||
|
||||
<figure>
|
||||
<figcaption>"Ant Lion" nails "Rabbit With Gun".</figcaption>
|
||||
<canvas id="antlion"></canvas>
|
||||
<script type="text/javascript">
|
||||
start("antlion", antlion);
|
||||
</script>
|
||||
</figure>
|
||||
|
||||
Your PF-255 autonomous tank is built to the exacting
|
||||
specifications sent to our factory in New Khavistan. All
|
||||
distances are in meters, angles in degrees.
|
||||
|
||||
|
||||
Tank size
|
||||
: The targettable area of the tank—the part which can be hit by a cannon—is a circle about 7½ meters in radius.
|
||||
|
||||
Speed
|
||||
: Each tread can have a speed between -100 and 100. This is in
|
||||
percentage of total speed for that tread, where total speed is
|
||||
roughly 7 meters per turn.
|
||||
|
||||
Sensors
|
||||
: Each sensor has a maximum range of 100 meters. Of course, you
|
||||
don't have to use the full range. Sensors may be attached to
|
||||
the turret (they turn along with the turret), or left fixed to
|
||||
the tank.
|
||||
|
||||
Turret
|
||||
: Turret angle can be set between -359° and 359°, with 0° directly
|
||||
in front of the tank. Be aware that it takes time for the
|
||||
turret to swing around: the turret can swing about 45° per turn.
|
||||
|
||||
Cannon range and recharging
|
||||
: When the cannon is fired, it obliterates everything for 50
|
||||
meters in front of it. It takes around 20 turns for your cannon
|
||||
to recharge after it's been fired, so only shoot when you feel
|
||||
like you're going to hit something.
|
||||
|
||||
Good luck blowing everybody up!
|
Loading…
Reference in New Issue