From 1225ddac81a1bc41f5961a3b49cd17ab2eeb1fc6 Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Mon, 23 Jul 2012 16:33:40 -0600 Subject: [PATCH] better tanx --- packages/00common/src/puzzles.cgi.c | 5 ++ packages/tanks/examples/hard/antlion/author | 1 + packages/tanks/examples/hard/antlion/name | 1 + packages/tanks/examples/hard/antlion/program | 22 ++++++ packages/tanks/examples/hard/antlion/sensor0 | 1 + packages/tanks/examples/hard/antlion/sensor1 | 1 + packages/tanks/examples/hard/antlion/sensor2 | 1 + packages/tanks/examples/hard/antlion/sensor3 | 1 + packages/tanks/examples/hard/antlion/sensor4 | 1 + packages/tanks/examples/hard/antlion/sensor5 | 1 + packages/tanks/examples/hard/antlion/sensor6 | 1 + packages/tanks/examples/hard/chashtank/author | 1 + packages/tanks/examples/hard/chashtank/name | 1 + .../tanks/examples/hard/chashtank/program | 41 ++++++++++ .../tanks/examples/hard/chashtank/sensor0 | 1 + .../tanks/examples/hard/chashtank/sensor1 | 1 + .../tanks/examples/hard/chashtank/sensor2 | 1 + .../tanks/examples/hard/chashtank/sensor3 | 1 + .../tanks/examples/hard/chashtank/sensor4 | 1 + .../tanks/examples/hard/chashtank/sensor5 | 1 + .../tanks/examples/hard/chashtank/sensor6 | 1 + .../tanks/examples/hard/chashtank/sensor7 | 1 + .../tanks/examples/hard/chashtank/sensor8 | 1 + .../tanks/examples/hard/chashtank/sensor9 | 1 + .../tanks/examples/hard/crashmaster/author | 1 + packages/tanks/examples/hard/crashmaster/name | 1 + .../tanks/examples/hard/crashmaster/program | 38 +++++++++ .../tanks/examples/hard/crashmaster/sensor0 | 1 + .../tanks/examples/hard/crashmaster/sensor1 | 1 + .../tanks/examples/hard/crashmaster/sensor2 | 1 + .../tanks/examples/hard/crashmaster/sensor3 | 1 + .../tanks/examples/hard/crashmaster/sensor4 | 1 + .../tanks/examples/hard/crashmaster/sensor5 | 1 + packages/tanks/examples/hard/foobar/author | 1 + packages/tanks/examples/hard/foobar/name | 1 + packages/tanks/examples/hard/foobar/program | 15 ++++ packages/tanks/examples/hard/foobar/sensor0 | 1 + packages/tanks/examples/hard/foobar/sensor1 | 1 + packages/tanks/examples/hard/foobar/sensor2 | 1 + packages/tanks/examples/hard/foobar/sensor3 | 1 + packages/tanks/examples/hard/foobar/sensor4 | 1 + packages/tanks/examples/hard/foobar/sensor5 | 1 + packages/tanks/examples/hard/foobar/sensor6 | 1 + packages/tanks/examples/hard/pflarr/author | 1 + packages/tanks/examples/hard/pflarr/name | 1 + packages/tanks/examples/hard/pflarr/program | 27 +++++++ packages/tanks/examples/hard/pflarr/sensor0 | 1 + packages/tanks/examples/hard/pflarr/sensor1 | 1 + packages/tanks/examples/hard/pflarr/sensor2 | 1 + packages/tanks/examples/hard/pflarr/sensor3 | 1 + packages/tanks/examples/hard/pflarr/sensor4 | 1 + packages/tanks/examples/hard/pflarr/sensor5 | 1 + packages/tanks/examples/hard/pflarr/sensor6 | 1 + packages/tanks/examples/hard/pflarr/sensor7 | 1 + packages/tanks/examples/hard/pflarr/sensor8 | 1 + .../tanks/examples/insane/BoomStick/author | 1 + .../tanks/examples/insane/BoomStick/color | 1 + packages/tanks/examples/insane/BoomStick/name | 1 + .../tanks/examples/insane/BoomStick/program | 56 +++++++++++++ .../tanks/examples/insane/BoomStick/sensor0 | 1 + .../tanks/examples/insane/BoomStick/sensor1 | 1 + .../tanks/examples/insane/BoomStick/sensor2 | 1 + .../tanks/examples/insane/BoomStick/sensor3 | 1 + .../tanks/examples/insane/BoomStick/sensor4 | 1 + .../tanks/examples/insane/BoomStick/sensor5 | 1 + .../tanks/examples/insane/BoomStick/sensor6 | 1 + .../tanks/examples/insane/BoomStick/sensor7 | 1 + .../tanks/examples/insane/BoomStick/sensor8 | 1 + .../tanks/examples/insane/BoomStick/sensor9 | 1 + .../tanks/examples/insane/Combustible/author | 1 + .../tanks/examples/insane/Combustible/color | 1 + .../tanks/examples/insane/Combustible/name | 1 + .../tanks/examples/insane/Combustible/program | 14 ++++ .../tanks/examples/insane/Combustible/sensor0 | 1 + .../tanks/examples/insane/Combustible/sensor1 | 1 + .../tanks/examples/insane/Combustible/sensor2 | 1 + .../tanks/examples/insane/Combustible/sensor3 | 1 + .../tanks/examples/insane/Combustible/sensor4 | 1 + .../tanks/examples/insane/Combustible/sensor5 | 1 + .../tanks/examples/insane/Combustible/sensor6 | 1 + .../tanks/examples/insane/Combustible/sensor7 | 1 + .../tanks/examples/insane/Combustible/sensor8 | 1 + .../tanks/examples/insane/Combustible/sensor9 | 1 + .../tanks/examples/insane/Combustible/sensors | 2 + packages/tanks/examples/insane/clumsy/author | 1 + packages/tanks/examples/insane/clumsy/color | 1 + packages/tanks/examples/insane/clumsy/name | 1 + packages/tanks/examples/insane/clumsy/program | 50 ++++++++++++ packages/tanks/examples/insane/clumsy/sensor0 | 1 + packages/tanks/examples/insane/clumsy/sensor1 | 1 + packages/tanks/examples/insane/clumsy/sensor2 | 1 + packages/tanks/examples/insane/clumsy/sensor3 | 1 + packages/tanks/examples/insane/clumsy/sensor4 | 1 + packages/tanks/examples/insane/clumsy/sensor5 | 1 + packages/tanks/examples/insane/clumsy/sensor6 | 1 + packages/tanks/examples/insane/clumsy/sensor7 | 1 + packages/tanks/examples/insane/clumsy/sensor8 | 1 + packages/tanks/examples/insane/clumsy/sensor9 | 1 + packages/tanks/examples/insane/pony/author | 1 + packages/tanks/examples/insane/pony/color | 1 + packages/tanks/examples/insane/pony/name | 1 + packages/tanks/examples/insane/pony/program | 78 +++++++++++++++++++ packages/tanks/examples/insane/pony/sensor0 | 1 + packages/tanks/examples/insane/pony/sensor1 | 1 + packages/tanks/examples/insane/pony/sensor2 | 1 + packages/tanks/examples/insane/pony/sensor3 | 1 + packages/tanks/examples/insane/pony/sensor4 | 1 + packages/tanks/examples/insane/pony/sensor5 | 1 + packages/tanks/examples/insane/pony/sensor6 | 1 + packages/tanks/examples/insane/pony/sensor7 | 1 + packages/tanks/examples/insane/pony/sensor8 | 1 + packages/tanks/examples/insane/pony/sensor9 | 1 + packages/tanks/examples/insane/sarlacc/author | 1 + packages/tanks/examples/insane/sarlacc/color | 1 + packages/tanks/examples/insane/sarlacc/name | 1 + .../tanks/examples/insane/sarlacc/program | 27 +++++++ .../tanks/examples/insane/sarlacc/sensor0 | 1 + .../tanks/examples/insane/sarlacc/sensor1 | 1 + .../tanks/examples/insane/sarlacc/sensor2 | 1 + .../tanks/examples/insane/sarlacc/sensor3 | 1 + .../tanks/examples/insane/sarlacc/sensor4 | 1 + .../tanks/examples/insane/sarlacc/sensor5 | 1 + .../tanks/examples/insane/sarlacc/sensor6 | 1 + .../tanks/examples/insane/sarlacc/sensor7 | 1 + .../tanks/examples/insane/sarlacc/sensor8 | 1 + .../tanks/examples/insane/sarlacc/sensor9 | 1 + packages/tanks/service/tanksd/tanksd | 6 +- packages/wopr/www/wopr/wopr.cgi | 3 +- 128 files changed, 494 insertions(+), 4 deletions(-) create mode 100644 packages/tanks/examples/hard/antlion/author create mode 100644 packages/tanks/examples/hard/antlion/name create mode 100644 packages/tanks/examples/hard/antlion/program create mode 100644 packages/tanks/examples/hard/antlion/sensor0 create mode 100644 packages/tanks/examples/hard/antlion/sensor1 create mode 100644 packages/tanks/examples/hard/antlion/sensor2 create mode 100644 packages/tanks/examples/hard/antlion/sensor3 create mode 100644 packages/tanks/examples/hard/antlion/sensor4 create mode 100644 packages/tanks/examples/hard/antlion/sensor5 create mode 100644 packages/tanks/examples/hard/antlion/sensor6 create mode 100644 packages/tanks/examples/hard/chashtank/author create mode 100644 packages/tanks/examples/hard/chashtank/name create mode 100644 packages/tanks/examples/hard/chashtank/program create mode 100644 packages/tanks/examples/hard/chashtank/sensor0 create mode 100644 packages/tanks/examples/hard/chashtank/sensor1 create mode 100644 packages/tanks/examples/hard/chashtank/sensor2 create mode 100644 packages/tanks/examples/hard/chashtank/sensor3 create mode 100644 packages/tanks/examples/hard/chashtank/sensor4 create mode 100644 packages/tanks/examples/hard/chashtank/sensor5 create mode 100644 packages/tanks/examples/hard/chashtank/sensor6 create mode 100644 packages/tanks/examples/hard/chashtank/sensor7 create mode 100644 packages/tanks/examples/hard/chashtank/sensor8 create mode 100644 packages/tanks/examples/hard/chashtank/sensor9 create mode 100644 packages/tanks/examples/hard/crashmaster/author create mode 100644 packages/tanks/examples/hard/crashmaster/name create mode 100644 packages/tanks/examples/hard/crashmaster/program create mode 100644 packages/tanks/examples/hard/crashmaster/sensor0 create mode 100644 packages/tanks/examples/hard/crashmaster/sensor1 create mode 100644 packages/tanks/examples/hard/crashmaster/sensor2 create mode 100644 packages/tanks/examples/hard/crashmaster/sensor3 create mode 100644 packages/tanks/examples/hard/crashmaster/sensor4 create mode 100644 packages/tanks/examples/hard/crashmaster/sensor5 create mode 100644 packages/tanks/examples/hard/foobar/author create mode 100644 packages/tanks/examples/hard/foobar/name create mode 100644 packages/tanks/examples/hard/foobar/program create mode 100644 packages/tanks/examples/hard/foobar/sensor0 create mode 100644 packages/tanks/examples/hard/foobar/sensor1 create mode 100644 packages/tanks/examples/hard/foobar/sensor2 create mode 100644 packages/tanks/examples/hard/foobar/sensor3 create mode 100644 packages/tanks/examples/hard/foobar/sensor4 create mode 100644 packages/tanks/examples/hard/foobar/sensor5 create mode 100644 packages/tanks/examples/hard/foobar/sensor6 create mode 100644 packages/tanks/examples/hard/pflarr/author create mode 100644 packages/tanks/examples/hard/pflarr/name create mode 100644 packages/tanks/examples/hard/pflarr/program create mode 100644 packages/tanks/examples/hard/pflarr/sensor0 create mode 100644 packages/tanks/examples/hard/pflarr/sensor1 create mode 100644 packages/tanks/examples/hard/pflarr/sensor2 create mode 100644 packages/tanks/examples/hard/pflarr/sensor3 create mode 100644 packages/tanks/examples/hard/pflarr/sensor4 create mode 100644 packages/tanks/examples/hard/pflarr/sensor5 create mode 100644 packages/tanks/examples/hard/pflarr/sensor6 create mode 100644 packages/tanks/examples/hard/pflarr/sensor7 create mode 100644 packages/tanks/examples/hard/pflarr/sensor8 create mode 100644 packages/tanks/examples/insane/BoomStick/author create mode 100644 packages/tanks/examples/insane/BoomStick/color create mode 100644 packages/tanks/examples/insane/BoomStick/name create mode 100644 packages/tanks/examples/insane/BoomStick/program create mode 100644 packages/tanks/examples/insane/BoomStick/sensor0 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor1 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor2 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor3 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor4 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor5 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor6 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor7 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor8 create mode 100644 packages/tanks/examples/insane/BoomStick/sensor9 create mode 100644 packages/tanks/examples/insane/Combustible/author create mode 100644 packages/tanks/examples/insane/Combustible/color create mode 100644 packages/tanks/examples/insane/Combustible/name create mode 100644 packages/tanks/examples/insane/Combustible/program create mode 100644 packages/tanks/examples/insane/Combustible/sensor0 create mode 100644 packages/tanks/examples/insane/Combustible/sensor1 create mode 100644 packages/tanks/examples/insane/Combustible/sensor2 create mode 100644 packages/tanks/examples/insane/Combustible/sensor3 create mode 100644 packages/tanks/examples/insane/Combustible/sensor4 create mode 100644 packages/tanks/examples/insane/Combustible/sensor5 create mode 100644 packages/tanks/examples/insane/Combustible/sensor6 create mode 100644 packages/tanks/examples/insane/Combustible/sensor7 create mode 100644 packages/tanks/examples/insane/Combustible/sensor8 create mode 100644 packages/tanks/examples/insane/Combustible/sensor9 create mode 100644 packages/tanks/examples/insane/Combustible/sensors create mode 100644 packages/tanks/examples/insane/clumsy/author create mode 100644 packages/tanks/examples/insane/clumsy/color create mode 100644 packages/tanks/examples/insane/clumsy/name create mode 100644 packages/tanks/examples/insane/clumsy/program create mode 100644 packages/tanks/examples/insane/clumsy/sensor0 create mode 100644 packages/tanks/examples/insane/clumsy/sensor1 create mode 100644 packages/tanks/examples/insane/clumsy/sensor2 create mode 100644 packages/tanks/examples/insane/clumsy/sensor3 create mode 100644 packages/tanks/examples/insane/clumsy/sensor4 create mode 100644 packages/tanks/examples/insane/clumsy/sensor5 create mode 100644 packages/tanks/examples/insane/clumsy/sensor6 create mode 100644 packages/tanks/examples/insane/clumsy/sensor7 create mode 100644 packages/tanks/examples/insane/clumsy/sensor8 create mode 100644 packages/tanks/examples/insane/clumsy/sensor9 create mode 100644 packages/tanks/examples/insane/pony/author create mode 100644 packages/tanks/examples/insane/pony/color create mode 100644 packages/tanks/examples/insane/pony/name create mode 100644 packages/tanks/examples/insane/pony/program create mode 100644 packages/tanks/examples/insane/pony/sensor0 create mode 100644 packages/tanks/examples/insane/pony/sensor1 create mode 100644 packages/tanks/examples/insane/pony/sensor2 create mode 100644 packages/tanks/examples/insane/pony/sensor3 create mode 100644 packages/tanks/examples/insane/pony/sensor4 create mode 100644 packages/tanks/examples/insane/pony/sensor5 create mode 100644 packages/tanks/examples/insane/pony/sensor6 create mode 100644 packages/tanks/examples/insane/pony/sensor7 create mode 100644 packages/tanks/examples/insane/pony/sensor8 create mode 100644 packages/tanks/examples/insane/pony/sensor9 create mode 100644 packages/tanks/examples/insane/sarlacc/author create mode 100644 packages/tanks/examples/insane/sarlacc/color create mode 100644 packages/tanks/examples/insane/sarlacc/name create mode 100644 packages/tanks/examples/insane/sarlacc/program create mode 100644 packages/tanks/examples/insane/sarlacc/sensor0 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor1 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor2 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor3 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor4 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor5 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor6 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor7 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor8 create mode 100644 packages/tanks/examples/insane/sarlacc/sensor9 diff --git a/packages/00common/src/puzzles.cgi.c b/packages/00common/src/puzzles.cgi.c index 9df4a19..39403a8 100644 --- a/packages/00common/src/puzzles.cgi.c +++ b/packages/00common/src/puzzles.cgi.c @@ -136,6 +136,11 @@ main(int argc, char *argv[]) read_until_char(map, hash, sizeof(hash), '\n'); points = atol(points_str); + if (0 == points) { + printf(" \n"); + break; + } + printf(" %ld\n", cat, hash, points); if (points > maxpoints) break; diff --git a/packages/tanks/examples/hard/antlion/author b/packages/tanks/examples/hard/antlion/author new file mode 100644 index 0000000..1718d06 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/author @@ -0,0 +1 @@ +Nick Moffitt diff --git a/packages/tanks/examples/hard/antlion/name b/packages/tanks/examples/hard/antlion/name new file mode 100644 index 0000000..baf3147 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/name @@ -0,0 +1 @@ +Ant Lion diff --git a/packages/tanks/examples/hard/antlion/program b/packages/tanks/examples/hard/antlion/program new file mode 100644 index 0000000..beb83bd --- /dev/null +++ b/packages/tanks/examples/hard/antlion/program @@ -0,0 +1,22 @@ +get-turret 6 + set-turret! +0 0 set-speed! + +1 sensor? { get-turret 60 - set-turret! } if +2 sensor? { get-turret 60 + set-turret! } if +0 sensor? { + fire-ready? { 0 0 set-speed! fire! } if + fire-ready? ! set-led! +} if + +6 sensor? { + 0 set-turret! ( stay on target, stay on target... ) + 3 sensor? { -40 -40 set-speed! } if ( back dat tank up ) + 4 sensor? { 25 50 set-speed! } if ( hook ) + 5 sensor? { 50 25 set-speed! } if ( slice ) +} { + 3 sensor? { -100 -100 set-speed! } if ( back dat tank up ) + 4 sensor? { 50 100 set-speed! } if ( hook ) + 5 sensor? { 100 50 set-speed! } if ( slice ) +} ifelse + + diff --git a/packages/tanks/examples/hard/antlion/sensor0 b/packages/tanks/examples/hard/antlion/sensor0 new file mode 100644 index 0000000..469111b --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor0 @@ -0,0 +1 @@ +50 0 5 1 diff --git a/packages/tanks/examples/hard/antlion/sensor1 b/packages/tanks/examples/hard/antlion/sensor1 new file mode 100644 index 0000000..14bda08 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor1 @@ -0,0 +1 @@ +100 268 177 1 diff --git a/packages/tanks/examples/hard/antlion/sensor2 b/packages/tanks/examples/hard/antlion/sensor2 new file mode 100644 index 0000000..f5fdaac --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor2 @@ -0,0 +1 @@ +100 92 178 1 diff --git a/packages/tanks/examples/hard/antlion/sensor3 b/packages/tanks/examples/hard/antlion/sensor3 new file mode 100644 index 0000000..4b63c75 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor3 @@ -0,0 +1 @@ +60 0 120 diff --git a/packages/tanks/examples/hard/antlion/sensor4 b/packages/tanks/examples/hard/antlion/sensor4 new file mode 100644 index 0000000..ae2a212 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor4 @@ -0,0 +1 @@ +60 120 120 diff --git a/packages/tanks/examples/hard/antlion/sensor5 b/packages/tanks/examples/hard/antlion/sensor5 new file mode 100644 index 0000000..b9e2568 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor5 @@ -0,0 +1 @@ +60 240 120 diff --git a/packages/tanks/examples/hard/antlion/sensor6 b/packages/tanks/examples/hard/antlion/sensor6 new file mode 100644 index 0000000..13994b7 --- /dev/null +++ b/packages/tanks/examples/hard/antlion/sensor6 @@ -0,0 +1 @@ +100 0 5 1 diff --git a/packages/tanks/examples/hard/chashtank/author b/packages/tanks/examples/hard/chashtank/author new file mode 100644 index 0000000..e4503eb --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/author @@ -0,0 +1 @@ +Curtis Hash diff --git a/packages/tanks/examples/hard/chashtank/name b/packages/tanks/examples/hard/chashtank/name new file mode 100644 index 0000000..b925208 --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/name @@ -0,0 +1 @@ +ChashTank diff --git a/packages/tanks/examples/hard/chashtank/program b/packages/tanks/examples/hard/chashtank/program new file mode 100644 index 0000000..dcaa57b --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/program @@ -0,0 +1,41 @@ +( move back and forth ) +0 set-turret! +6 random 2 < { 95 75 set-speed! } { 90 90 set-speed! } ifelse + +( rear sensor ) +4 sensor? { 90 90 set-speed! } if + +( far right front sensor ) +5 sensor? { 100 -100 set-speed! } if + +( far left front sensor ) +6 sensor? { -100 100 set-speed! } if + +( right front sensor ) +2 sensor? { 80 -80 set-speed! } if + +( left front sensor ) +3 sensor? { -80 80 set-speed! } if + +( immediate front sensor in firing range ) +0 sensor? +{ + fire-ready? + { fire! } + { -50 -50 set-speed! } + ifelse +} +if + +( near far right front sensor ) +8 sensor? { 60 -60 set-speed! } if +9 sensor? { -60 60 set-speed! } if + +fire-ready? set-led! + +( front far sensor ) +7 sensor? fire-ready? & { 100 100 set-speed! } if + +( collison sensor ) +1 sensor? { -100 -100 set-speed! 0 set-turret! } if + diff --git a/packages/tanks/examples/hard/chashtank/sensor0 b/packages/tanks/examples/hard/chashtank/sensor0 new file mode 100644 index 0000000..b5725bf --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor0 @@ -0,0 +1 @@ +50 0 10 1 diff --git a/packages/tanks/examples/hard/chashtank/sensor1 b/packages/tanks/examples/hard/chashtank/sensor1 new file mode 100644 index 0000000..6ffe40c --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor1 @@ -0,0 +1 @@ +35 0 90 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor2 b/packages/tanks/examples/hard/chashtank/sensor2 new file mode 100644 index 0000000..b9fcdad --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor2 @@ -0,0 +1 @@ +100 30 59 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor3 b/packages/tanks/examples/hard/chashtank/sensor3 new file mode 100644 index 0000000..dfda664 --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor3 @@ -0,0 +1 @@ +100 330 59 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor4 b/packages/tanks/examples/hard/chashtank/sensor4 new file mode 100644 index 0000000..a18b6ea --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor4 @@ -0,0 +1 @@ +70 180 180 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor5 b/packages/tanks/examples/hard/chashtank/sensor5 new file mode 100644 index 0000000..f7ddaaa --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor5 @@ -0,0 +1 @@ +100 90 59 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor6 b/packages/tanks/examples/hard/chashtank/sensor6 new file mode 100644 index 0000000..a6561dd --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor6 @@ -0,0 +1 @@ +100 270 59 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor7 b/packages/tanks/examples/hard/chashtank/sensor7 new file mode 100644 index 0000000..13994b7 --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor7 @@ -0,0 +1 @@ +100 0 5 1 diff --git a/packages/tanks/examples/hard/chashtank/sensor8 b/packages/tanks/examples/hard/chashtank/sensor8 new file mode 100644 index 0000000..faf590f --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor8 @@ -0,0 +1 @@ +55 50 89 0 diff --git a/packages/tanks/examples/hard/chashtank/sensor9 b/packages/tanks/examples/hard/chashtank/sensor9 new file mode 100644 index 0000000..31cddcd --- /dev/null +++ b/packages/tanks/examples/hard/chashtank/sensor9 @@ -0,0 +1 @@ +55 310 89 0 diff --git a/packages/tanks/examples/hard/crashmaster/author b/packages/tanks/examples/hard/crashmaster/author new file mode 100644 index 0000000..902019d --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/author @@ -0,0 +1 @@ +Neale Pickett diff --git a/packages/tanks/examples/hard/crashmaster/name b/packages/tanks/examples/hard/crashmaster/name new file mode 100644 index 0000000..e0a2059 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/name @@ -0,0 +1 @@ +Crashmaster diff --git a/packages/tanks/examples/hard/crashmaster/program b/packages/tanks/examples/hard/crashmaster/program new file mode 100644 index 0000000..288b323 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/program @@ -0,0 +1,38 @@ +( Mem 0: Turn number ) +0 mget +1 + +0 mset + +0 mget 30 % 10 / ( [0..2], changes every 10 turns ) +dup 0 = { 80 80 set-speed! } if +dup 1 = { 60 80 set-speed! } if + 2 = { 80 60 set-speed! } if + +0 set-turret! + +fire-ready? set-led! + +fire-ready? +{ + ( Behavior for when we can shoot ) + + 0 sensor? { fire! } if + 1 sensor? { 10 10 set-speed! 0 set-turret! } if + 2 sensor? { 10 10 set-speed! 0 set-turret! } if + 3 sensor? { 0 60 set-speed! get-turret 50 - set-turret! } if + 4 sensor? { 60 0 set-speed! get-turret 50 + set-turret! } if + 3 sensor? 4 sensor? & { 100 100 set-speed! get-turret set-turret! } if + 5 sensor? { 100 40 set-speed! } if +} +{ + ( Behavior for when we can't shoot ) + + 0 sensor? { 10 20 set-speed! } if + 1 sensor? { 10 10 set-speed! } if + 2 sensor? { 10 20 set-speed! } if + 3 sensor? { 70 50 set-speed! } if + 4 sensor? { 50 70 set-speed! } if + 3 sensor? 4 sensor? & { -100 20 set-speed! } if + 5 sensor? { 100 50 set-speed! } if +} +ifelse diff --git a/packages/tanks/examples/hard/crashmaster/sensor0 b/packages/tanks/examples/hard/crashmaster/sensor0 new file mode 100644 index 0000000..682dfb9 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor0 @@ -0,0 +1 @@ +50 0 8 1 diff --git a/packages/tanks/examples/hard/crashmaster/sensor1 b/packages/tanks/examples/hard/crashmaster/sensor1 new file mode 100644 index 0000000..a6b17e8 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor1 @@ -0,0 +1 @@ +30 0 50 0 diff --git a/packages/tanks/examples/hard/crashmaster/sensor2 b/packages/tanks/examples/hard/crashmaster/sensor2 new file mode 100644 index 0000000..7851bcc --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor2 @@ -0,0 +1 @@ +50 0 10 0 diff --git a/packages/tanks/examples/hard/crashmaster/sensor3 b/packages/tanks/examples/hard/crashmaster/sensor3 new file mode 100644 index 0000000..473e0b5 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor3 @@ -0,0 +1 @@ +100 315 100 1 diff --git a/packages/tanks/examples/hard/crashmaster/sensor4 b/packages/tanks/examples/hard/crashmaster/sensor4 new file mode 100644 index 0000000..cb0e6e2 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor4 @@ -0,0 +1 @@ +100 45 100 1 diff --git a/packages/tanks/examples/hard/crashmaster/sensor5 b/packages/tanks/examples/hard/crashmaster/sensor5 new file mode 100644 index 0000000..3f436a9 --- /dev/null +++ b/packages/tanks/examples/hard/crashmaster/sensor5 @@ -0,0 +1 @@ +60 180 180 0 diff --git a/packages/tanks/examples/hard/foobar/author b/packages/tanks/examples/hard/foobar/author new file mode 100644 index 0000000..e4503eb --- /dev/null +++ b/packages/tanks/examples/hard/foobar/author @@ -0,0 +1 @@ +Curtis Hash diff --git a/packages/tanks/examples/hard/foobar/name b/packages/tanks/examples/hard/foobar/name new file mode 100644 index 0000000..323fae0 --- /dev/null +++ b/packages/tanks/examples/hard/foobar/name @@ -0,0 +1 @@ +foobar diff --git a/packages/tanks/examples/hard/foobar/program b/packages/tanks/examples/hard/foobar/program new file mode 100644 index 0000000..eecd344 --- /dev/null +++ b/packages/tanks/examples/hard/foobar/program @@ -0,0 +1,15 @@ +65 85 set-speed! + +6 random 2 <= { 85 65 set-speed! } if + +0 set-turret! +2 sensor? { 80 10 set-speed! get-turret 30 + set-turret! } if +3 sensor? { 10 80 set-speed! get-turret 30 - set-turret! } if +4 sensor? { 90 90 set-speed! } if +5 sensor? { 90 10 set-speed! get-turret 30 + set-turret! } if +6 sensor? { 10 90 set-speed! get-turret 30 - set-turret! } if +0 sensor? fire-ready? & { 90 90 set-speed! 0 set-turret! fire! } if +1 sensor? { -100 -100 set-speed! } if + +fire-ready? set-led! + diff --git a/packages/tanks/examples/hard/foobar/sensor0 b/packages/tanks/examples/hard/foobar/sensor0 new file mode 100644 index 0000000..034e325 --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor0 @@ -0,0 +1 @@ +55 0 5 1 diff --git a/packages/tanks/examples/hard/foobar/sensor1 b/packages/tanks/examples/hard/foobar/sensor1 new file mode 100644 index 0000000..b21565e --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor1 @@ -0,0 +1 @@ +40 0 30 0 diff --git a/packages/tanks/examples/hard/foobar/sensor2 b/packages/tanks/examples/hard/foobar/sensor2 new file mode 100644 index 0000000..89ec188 --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor2 @@ -0,0 +1 @@ +80 30 59 0 diff --git a/packages/tanks/examples/hard/foobar/sensor3 b/packages/tanks/examples/hard/foobar/sensor3 new file mode 100644 index 0000000..c438cad --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor3 @@ -0,0 +1 @@ +80 330 59 0 diff --git a/packages/tanks/examples/hard/foobar/sensor4 b/packages/tanks/examples/hard/foobar/sensor4 new file mode 100644 index 0000000..a18b6ea --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor4 @@ -0,0 +1 @@ +70 180 180 0 diff --git a/packages/tanks/examples/hard/foobar/sensor5 b/packages/tanks/examples/hard/foobar/sensor5 new file mode 100644 index 0000000..c83a316 --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor5 @@ -0,0 +1 @@ +80 90 59 0 diff --git a/packages/tanks/examples/hard/foobar/sensor6 b/packages/tanks/examples/hard/foobar/sensor6 new file mode 100644 index 0000000..ee3f02a --- /dev/null +++ b/packages/tanks/examples/hard/foobar/sensor6 @@ -0,0 +1 @@ +80 270 59 0 diff --git a/packages/tanks/examples/hard/pflarr/author b/packages/tanks/examples/hard/pflarr/author new file mode 100644 index 0000000..5d7a8e0 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/author @@ -0,0 +1 @@ +Paul Ferrell diff --git a/packages/tanks/examples/hard/pflarr/name b/packages/tanks/examples/hard/pflarr/name new file mode 100644 index 0000000..e2f684c --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/name @@ -0,0 +1 @@ +Pflanzarr diff --git a/packages/tanks/examples/hard/pflarr/program b/packages/tanks/examples/hard/pflarr/program new file mode 100644 index 0000000..f7df7a1 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/program @@ -0,0 +1,27 @@ +70 75 set-speed! +0 set-turret! + +10 random 1 > { 75 75 set-speed! } if + +2 sensor? { + 85 70 set-speed! + 0 sensor? { get-turret 15 + set-turret! } + { get-turret 30 + set-turret! } ifelse +} if +3 sensor? { + 75 80 set-speed! + 0 sensor? { get-turret 15 - set-turret! } + { get-turret 30 - set-turret! } ifelse +} if +5 sensor? { + 7 sensor? { 70 30 set-speed! } if + 8 sensor? { 30 70 set-speed! } if + 0 sensor? { fire! } if + 6 sensor? fire-ready? & { 100 100 set-speed! } if +} if +4 sensor? { 100 100 set-speed! } if +1 sensor? { -50 25 set-speed! } if + +fire-ready? set-led! + + diff --git a/packages/tanks/examples/hard/pflarr/sensor0 b/packages/tanks/examples/hard/pflarr/sensor0 new file mode 100644 index 0000000..c134070 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor0 @@ -0,0 +1 @@ +50 0 45 1 diff --git a/packages/tanks/examples/hard/pflarr/sensor1 b/packages/tanks/examples/hard/pflarr/sensor1 new file mode 100644 index 0000000..5773d18 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor1 @@ -0,0 +1 @@ +30 0 180 diff --git a/packages/tanks/examples/hard/pflarr/sensor2 b/packages/tanks/examples/hard/pflarr/sensor2 new file mode 100644 index 0000000..c5e303c --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor2 @@ -0,0 +1 @@ +100 40 60 1 diff --git a/packages/tanks/examples/hard/pflarr/sensor3 b/packages/tanks/examples/hard/pflarr/sensor3 new file mode 100644 index 0000000..4c9cef7 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor3 @@ -0,0 +1 @@ +100 320 60 1 diff --git a/packages/tanks/examples/hard/pflarr/sensor4 b/packages/tanks/examples/hard/pflarr/sensor4 new file mode 100644 index 0000000..8f73117 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor4 @@ -0,0 +1 @@ +80 180 160 diff --git a/packages/tanks/examples/hard/pflarr/sensor5 b/packages/tanks/examples/hard/pflarr/sensor5 new file mode 100644 index 0000000..1212984 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor5 @@ -0,0 +1 @@ +100 0 0 1 diff --git a/packages/tanks/examples/hard/pflarr/sensor6 b/packages/tanks/examples/hard/pflarr/sensor6 new file mode 100644 index 0000000..7d1e8c4 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor6 @@ -0,0 +1 @@ +100 0 0 diff --git a/packages/tanks/examples/hard/pflarr/sensor7 b/packages/tanks/examples/hard/pflarr/sensor7 new file mode 100644 index 0000000..b761a40 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor7 @@ -0,0 +1 @@ +75 75 30 diff --git a/packages/tanks/examples/hard/pflarr/sensor8 b/packages/tanks/examples/hard/pflarr/sensor8 new file mode 100644 index 0000000..7b7dcc2 --- /dev/null +++ b/packages/tanks/examples/hard/pflarr/sensor8 @@ -0,0 +1 @@ +75 285 30 diff --git a/packages/tanks/examples/insane/BoomStick/author b/packages/tanks/examples/insane/BoomStick/author new file mode 100644 index 0000000..eefbad4 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/author @@ -0,0 +1 @@ +Adam \ No newline at end of file diff --git a/packages/tanks/examples/insane/BoomStick/color b/packages/tanks/examples/insane/BoomStick/color new file mode 100644 index 0000000..0cb011e --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/color @@ -0,0 +1 @@ +#7bdd82 \ No newline at end of file diff --git a/packages/tanks/examples/insane/BoomStick/name b/packages/tanks/examples/insane/BoomStick/name new file mode 100644 index 0000000..0752946 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/name @@ -0,0 +1 @@ +BoomStick \ No newline at end of file diff --git a/packages/tanks/examples/insane/BoomStick/program b/packages/tanks/examples/insane/BoomStick/program new file mode 100644 index 0000000..9ed449a --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/program @@ -0,0 +1,56 @@ +0 sensor? { 0 0 mset fire! }if + +0 9 mset + +8 sensor? {-36 get-turret + set-turret! 1 9 mset} if +4 sensor? { 36 get-turret + set-turret! 1 9 mset} if +2 sensor? {-18 get-turret + set-turret! 1 9 mset} if +1 sensor? { 18 get-turret + set-turret! 1 9 mset} if +7 sensor? { 0 get-turret + set-turret! 1 9 mset} if + +fire-ready? +{ + 6 sensor? + { + 9 mget ! { 0 set-turret! } if + 100 100 set-speed! 5 0 mset + } + { + 5 sensor? { 100 -80 set-speed! 5 0 mset} if + 8 sensor? { -80 100 set-speed! 5 0 mset } if + } + ifelse +} +{ + 6 sensor? { 1 set-led! -100 -100 set-speed! 3 0 mset } if + 5 sensor? { 1 set-led! -75 -100 set-speed! 3 0 mset } if + 8 sensor? { 1 set-led! -100 -75 set-speed! 3 0 mset } if +} +ifelse + + +0 mget 0 = +{ + 0 set-led! + 0 set-turret! + + 1 mget 0 = + { + 0 set-turret! + 3 random + dup 0 = {90 90 set-speed! 20 random 1 mset } if + dup 1 = {00 90 set-speed! 3 random 1 mset } if + dup 2 = {90 00 set-speed! 3 random 1 mset } if + } + { + 1 mget 1 - 1 mset + } + ifelse +} +{ + 0 mget 1 - 0 mset +} +ifelse + +3 sensor? { -10 -10 set-speed! 1 0 mset } if + diff --git a/packages/tanks/examples/insane/BoomStick/sensor0 b/packages/tanks/examples/insane/BoomStick/sensor0 new file mode 100644 index 0000000..f810184 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor0 @@ -0,0 +1 @@ +50 0 2 1 diff --git a/packages/tanks/examples/insane/BoomStick/sensor1 b/packages/tanks/examples/insane/BoomStick/sensor1 new file mode 100644 index 0000000..5a59710 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor1 @@ -0,0 +1 @@ +100 18 18 1 diff --git a/packages/tanks/examples/insane/BoomStick/sensor2 b/packages/tanks/examples/insane/BoomStick/sensor2 new file mode 100644 index 0000000..a409452 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor2 @@ -0,0 +1 @@ +100 -18 18 1 diff --git a/packages/tanks/examples/insane/BoomStick/sensor3 b/packages/tanks/examples/insane/BoomStick/sensor3 new file mode 100644 index 0000000..61d740b --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor3 @@ -0,0 +1 @@ +25 0 120 0 diff --git a/packages/tanks/examples/insane/BoomStick/sensor4 b/packages/tanks/examples/insane/BoomStick/sensor4 new file mode 100644 index 0000000..5a39230 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor4 @@ -0,0 +1 @@ +100 36 18 1 diff --git a/packages/tanks/examples/insane/BoomStick/sensor5 b/packages/tanks/examples/insane/BoomStick/sensor5 new file mode 100644 index 0000000..a54a843 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor5 @@ -0,0 +1 @@ +100 112 135 0 diff --git a/packages/tanks/examples/insane/BoomStick/sensor6 b/packages/tanks/examples/insane/BoomStick/sensor6 new file mode 100644 index 0000000..3b119c4 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor6 @@ -0,0 +1 @@ +100 0 30 0 diff --git a/packages/tanks/examples/insane/BoomStick/sensor7 b/packages/tanks/examples/insane/BoomStick/sensor7 new file mode 100644 index 0000000..6a165df --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor7 @@ -0,0 +1 @@ +100 0 18 1 diff --git a/packages/tanks/examples/insane/BoomStick/sensor8 b/packages/tanks/examples/insane/BoomStick/sensor8 new file mode 100644 index 0000000..e7fb35c --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor8 @@ -0,0 +1 @@ +100 -112 135 0 diff --git a/packages/tanks/examples/insane/BoomStick/sensor9 b/packages/tanks/examples/insane/BoomStick/sensor9 new file mode 100644 index 0000000..444de17 --- /dev/null +++ b/packages/tanks/examples/insane/BoomStick/sensor9 @@ -0,0 +1 @@ +100 -36 18 1 diff --git a/packages/tanks/examples/insane/Combustible/author b/packages/tanks/examples/insane/Combustible/author new file mode 100644 index 0000000..36352d5 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/author @@ -0,0 +1 @@ +mr_combustible@hotmail.com \ No newline at end of file diff --git a/packages/tanks/examples/insane/Combustible/color b/packages/tanks/examples/insane/Combustible/color new file mode 100644 index 0000000..9d5085c --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/color @@ -0,0 +1 @@ +#FF6F00 \ No newline at end of file diff --git a/packages/tanks/examples/insane/Combustible/name b/packages/tanks/examples/insane/Combustible/name new file mode 100644 index 0000000..35828ff --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/name @@ -0,0 +1 @@ +Combustible \ No newline at end of file diff --git a/packages/tanks/examples/insane/Combustible/program b/packages/tanks/examples/insane/Combustible/program new file mode 100644 index 0000000..9457553 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/program @@ -0,0 +1,14 @@ +0 set-turret! ( Rotate turret ) +60 58 set-speed! ( Full speed! ) +0 sensor? { fire! } if ( Fire if turret sensor triggered ) +1 sensor? { 100 -150 set-speed! } if ( Turn if right sensor triggered ) +2 sensor? { -150 100 set-speed! } if ( Turn if left sensor triggered ) +8 sensor? { 90 0 set-speed! } if ( Turn if right/front sensor triggered ) +9 sensor? { 0 90 set-speed! } if ( Turn if left/front sensor triggered ) +3 sensor? { 150 150 set-speed! } if (Front doublespeed) +4 sensor? { 150 150 set-speed! } if ( run away! ) + +7 sensor? { -150 -150 set-speed! } if (Front collision) + +fire-ready? {}{ 5 sensor? {-30 -60 set-speed! } if } ifelse +fire-ready? {}{ 6 sensor? {-60 -30 set-speed! } if } ifelse \ No newline at end of file diff --git a/packages/tanks/examples/insane/Combustible/sensor0 b/packages/tanks/examples/insane/Combustible/sensor0 new file mode 100644 index 0000000..9246d12 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor0 @@ -0,0 +1 @@ +50 0 2 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor1 b/packages/tanks/examples/insane/Combustible/sensor1 new file mode 100644 index 0000000..e44d621 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor1 @@ -0,0 +1 @@ +100 108 130 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor2 b/packages/tanks/examples/insane/Combustible/sensor2 new file mode 100644 index 0000000..c0e8d0c --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor2 @@ -0,0 +1 @@ +100 252 130 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor3 b/packages/tanks/examples/insane/Combustible/sensor3 new file mode 100644 index 0000000..75c424c --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor3 @@ -0,0 +1 @@ +100 0 2 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor4 b/packages/tanks/examples/insane/Combustible/sensor4 new file mode 100644 index 0000000..67bc9c9 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor4 @@ -0,0 +1 @@ +90 180 90 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor5 b/packages/tanks/examples/insane/Combustible/sensor5 new file mode 100644 index 0000000..dc649e1 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor5 @@ -0,0 +1 @@ +55 90 180 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor6 b/packages/tanks/examples/insane/Combustible/sensor6 new file mode 100644 index 0000000..aece5cf --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor6 @@ -0,0 +1 @@ +55 270 180 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor7 b/packages/tanks/examples/insane/Combustible/sensor7 new file mode 100644 index 0000000..c39894c --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor7 @@ -0,0 +1 @@ +35 0 180 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor8 b/packages/tanks/examples/insane/Combustible/sensor8 new file mode 100644 index 0000000..df70693 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor8 @@ -0,0 +1 @@ +100 34 37 0 diff --git a/packages/tanks/examples/insane/Combustible/sensor9 b/packages/tanks/examples/insane/Combustible/sensor9 new file mode 100644 index 0000000..1030344 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensor9 @@ -0,0 +1 @@ +100 326 37 0 diff --git a/packages/tanks/examples/insane/Combustible/sensors b/packages/tanks/examples/insane/Combustible/sensors new file mode 100644 index 0000000..8151664 --- /dev/null +++ b/packages/tanks/examples/insane/Combustible/sensors @@ -0,0 +1,2 @@ +50 0 0 1 +70 0 50 0 diff --git a/packages/tanks/examples/insane/clumsy/author b/packages/tanks/examples/insane/clumsy/author new file mode 100644 index 0000000..d48933b --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/author @@ -0,0 +1 @@ +Geoff \ No newline at end of file diff --git a/packages/tanks/examples/insane/clumsy/color b/packages/tanks/examples/insane/clumsy/color new file mode 100644 index 0000000..b6f49d0 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/color @@ -0,0 +1 @@ +#FFFFFF \ No newline at end of file diff --git a/packages/tanks/examples/insane/clumsy/name b/packages/tanks/examples/insane/clumsy/name new file mode 100644 index 0000000..225fcb5 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/name @@ -0,0 +1 @@ +clumsy \ No newline at end of file diff --git a/packages/tanks/examples/insane/clumsy/program b/packages/tanks/examples/insane/clumsy/program new file mode 100644 index 0000000..8b2b6a0 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/program @@ -0,0 +1,50 @@ +0 sensor?{ + get-turret 0 = { 1 sensor?{ fire! } if } if + + get-turret 17 = { 2 sensor?{ fire! } if } if + get-turret 34 = { 3 sensor?{ fire! } if } if + get-turret 51 = { 4 sensor?{ fire! } if } if + + get-turret -17 = { 5 sensor?{ fire! } if } if + get-turret -34 = { 6 sensor?{ fire! } if } if + get-turret -51 = { 7 sensor?{ fire! } if } if +}if (0) +fire-ready?{ 0 set-led! }{ 1 set-led! } ifelse + +1 sensor?{ 0 set-turret! }{ + 2 sensor?{ 17 set-turret! }{ + 3 sensor?{ 34 set-turret! }{ + 4 sensor?{ 51 set-turret! }{ + 5 sensor?{ -17 set-turret! }{ + 6 sensor?{ -34 set-turret! }{ + 7 sensor?{ -51 set-turret! }{ + 0 set-turret! + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse + }ifelse +}ifelse + +get-turret 0 = { 2 sensor?{ 17 set-turret! }{ 5 sensor?{ -17 set-turret! } if (5) } ifelse (2) } if (0t) +get-turret 17 = { 1 sensor?{ 0 set-turret! }{ 3 sensor?{ 34 set-turret! } if (3) } ifelse (1) } if (17t) +get-turret 34 = { 2 sensor?{ 17 set-turret! }{ 4 sensor?{ 51 set-turret! } if (4) } ifelse (2) } if (34t) +get-turret 51 = { 34 set-turret! } if (51t) + +get-turret -17 = { 1 sensor?{ 0 set-turret! }{ 6 sensor?{ -34 set-turret! } if (6) } ifelse (1) } if (-17t) +get-turret -34 = { 5 sensor?{ -17 set-turret! }{ 7 sensor?{ -51 set-turret! } if (7) } ifelse (5) } if (-34t) +get-turret -51 = { -34 set-turret! } if (51t) + +9 mget 55 = {}{ 0 set-turret! 55 9 mset} ifelse + + 1 sensor?{ 100 1 mset 100 2 mset }{ + 2 sensor?{ 100 1 mset -100 2 mset }{ + 5 sensor?{ -100 1 mset 100 2 mset }{ + 100 1 mset 100 2 mset + } ifelse (5) + } ifelse (2) + } ifelse (1) + + 8 sensor?{ 100 1 mset 100 2 mset } if +1 mget 2 mget set-speed! diff --git a/packages/tanks/examples/insane/clumsy/sensor0 b/packages/tanks/examples/insane/clumsy/sensor0 new file mode 100644 index 0000000..992184a --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor0 @@ -0,0 +1 @@ +50 0 359 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor1 b/packages/tanks/examples/insane/clumsy/sensor1 new file mode 100644 index 0000000..fed3ae2 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor1 @@ -0,0 +1 @@ +100 0 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor2 b/packages/tanks/examples/insane/clumsy/sensor2 new file mode 100644 index 0000000..af9d7fe --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor2 @@ -0,0 +1 @@ +100 17 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor3 b/packages/tanks/examples/insane/clumsy/sensor3 new file mode 100644 index 0000000..ac407a7 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor3 @@ -0,0 +1 @@ +100 34 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor4 b/packages/tanks/examples/insane/clumsy/sensor4 new file mode 100644 index 0000000..79e02fb --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor4 @@ -0,0 +1 @@ +100 51 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor5 b/packages/tanks/examples/insane/clumsy/sensor5 new file mode 100644 index 0000000..b9270c5 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor5 @@ -0,0 +1 @@ +100 -17 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor6 b/packages/tanks/examples/insane/clumsy/sensor6 new file mode 100644 index 0000000..81d2267 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor6 @@ -0,0 +1 @@ +100 -34 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor7 b/packages/tanks/examples/insane/clumsy/sensor7 new file mode 100644 index 0000000..b03447b --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor7 @@ -0,0 +1 @@ +100 -51 1 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor8 b/packages/tanks/examples/insane/clumsy/sensor8 new file mode 100644 index 0000000..f805278 --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor8 @@ -0,0 +1 @@ +75 180 180 0 diff --git a/packages/tanks/examples/insane/clumsy/sensor9 b/packages/tanks/examples/insane/clumsy/sensor9 new file mode 100644 index 0000000..41008bd --- /dev/null +++ b/packages/tanks/examples/insane/clumsy/sensor9 @@ -0,0 +1 @@ +90 180 180 0 diff --git a/packages/tanks/examples/insane/pony/author b/packages/tanks/examples/insane/pony/author new file mode 100644 index 0000000..c137216 --- /dev/null +++ b/packages/tanks/examples/insane/pony/author @@ -0,0 +1 @@ +F \ No newline at end of file diff --git a/packages/tanks/examples/insane/pony/color b/packages/tanks/examples/insane/pony/color new file mode 100644 index 0000000..576e1e4 --- /dev/null +++ b/packages/tanks/examples/insane/pony/color @@ -0,0 +1 @@ +#FF0000 \ No newline at end of file diff --git a/packages/tanks/examples/insane/pony/name b/packages/tanks/examples/insane/pony/name new file mode 100644 index 0000000..72ff5d8 --- /dev/null +++ b/packages/tanks/examples/insane/pony/name @@ -0,0 +1 @@ +for pony \ No newline at end of file diff --git a/packages/tanks/examples/insane/pony/program b/packages/tanks/examples/insane/pony/program new file mode 100644 index 0000000..9ac6e86 --- /dev/null +++ b/packages/tanks/examples/insane/pony/program @@ -0,0 +1,78 @@ +0 sensor?{ fire! 0 0 mset } if +1 2 mset +1 sensor?{ +6 sensor?{ + fire-ready?{ + 100 100 set-speed! + }{ + -100 -100 set-speed! + } ifelse (fire) + }{ + get-turret 30 > { + get-turret 180 < { + 50 -50 set-speed! get-turret 20 - set-turret! + }{ + -50 50 set-speed! get-turret 20 + set-turret! + } ifelse (180) + }{ + get-turret -30 < { + get-turret -180 > { + -50 50 set-speed! get-turret 20 + set-turret! + }{ + 50 -50 set-speed! get-turret 20 - set-turret! + } ifelse (-180) + }{ + fire-ready?{ + 100 100 set-speed! + }{ + -100 -100 set-speed! + } ifelse (fire) + } ifelse (-30) + } ifelse (30) + } ifelse (6) +} if (1) + +2 sensor?{ get-turret 30 + set-turret! }{ +3 sensor?{ get-turret 30 - set-turret! }{ +4 sensor?{ 50 -50 set-speed! }{ +5 sensor?{ -50 50 set-speed! }{ + + +1 mget 20 > { +100 100 set-speed! +0 set-turret! +0 1 mset + +}{ + +1 mget 1 + 1 mset +} ifelse + +0 2 mset + +} ifelse (5) +} ifelse (4) + +} ifelse (3) +} ifelse (2) + +9 mget 55 = {}{ 55 9 mset 0 0 mset 0 1 mset 60 3 mset 10 4 mset 50 55 set-speed! 0 set-turret! }ifelse (initialisation routine - only executed once) + +2 mget 0 = { + 7 sensor?{ + 100 100 set-speed! + }{ + 8 sensor?{ + 100 -100 set-speed! + }{ + 9 sensor?{ + -100 100 set-speed! + }{ + 3 mget 0 = { 4 mget 0 = { 10 4 mset 60 3 mset 100 100 set-speed! }{ 4 mget 10 = { 50 50 random set-speed! } if 4 mget 1 - 4 mset } ifelse (4m) }{ 3 mget 1 - 3 mset } ifelse (3m) + } ifelse + + } ifelse + } ifelse +} if (mget) + +fire-ready?{}{ 6 sensor? { -100 -100 set-speed! } if } ifelse diff --git a/packages/tanks/examples/insane/pony/sensor0 b/packages/tanks/examples/insane/pony/sensor0 new file mode 100644 index 0000000..ae81fe2 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor0 @@ -0,0 +1 @@ +50 0 1 1 diff --git a/packages/tanks/examples/insane/pony/sensor1 b/packages/tanks/examples/insane/pony/sensor1 new file mode 100644 index 0000000..07f5207 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor1 @@ -0,0 +1 @@ +100 0 1 1 diff --git a/packages/tanks/examples/insane/pony/sensor2 b/packages/tanks/examples/insane/pony/sensor2 new file mode 100644 index 0000000..c050a62 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor2 @@ -0,0 +1 @@ +100 30 1 1 diff --git a/packages/tanks/examples/insane/pony/sensor3 b/packages/tanks/examples/insane/pony/sensor3 new file mode 100644 index 0000000..0a88d20 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor3 @@ -0,0 +1 @@ +100 -30 1 1 diff --git a/packages/tanks/examples/insane/pony/sensor4 b/packages/tanks/examples/insane/pony/sensor4 new file mode 100644 index 0000000..9e730e6 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor4 @@ -0,0 +1 @@ +100 60 30 0 diff --git a/packages/tanks/examples/insane/pony/sensor5 b/packages/tanks/examples/insane/pony/sensor5 new file mode 100644 index 0000000..bf83607 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor5 @@ -0,0 +1 @@ +100 -60 30 0 diff --git a/packages/tanks/examples/insane/pony/sensor6 b/packages/tanks/examples/insane/pony/sensor6 new file mode 100644 index 0000000..fed3ae2 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor6 @@ -0,0 +1 @@ +100 0 1 0 diff --git a/packages/tanks/examples/insane/pony/sensor7 b/packages/tanks/examples/insane/pony/sensor7 new file mode 100644 index 0000000..5c56951 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor7 @@ -0,0 +1 @@ +80 180 60 0 diff --git a/packages/tanks/examples/insane/pony/sensor8 b/packages/tanks/examples/insane/pony/sensor8 new file mode 100644 index 0000000..b122373 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor8 @@ -0,0 +1 @@ +80 120 60 0 diff --git a/packages/tanks/examples/insane/pony/sensor9 b/packages/tanks/examples/insane/pony/sensor9 new file mode 100644 index 0000000..1c594d7 --- /dev/null +++ b/packages/tanks/examples/insane/pony/sensor9 @@ -0,0 +1 @@ +80 -120 60 0 diff --git a/packages/tanks/examples/insane/sarlacc/author b/packages/tanks/examples/insane/sarlacc/author new file mode 100644 index 0000000..bf11e9d --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/author @@ -0,0 +1 @@ +Nemo \ No newline at end of file diff --git a/packages/tanks/examples/insane/sarlacc/color b/packages/tanks/examples/insane/sarlacc/color new file mode 100644 index 0000000..78d0486 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/color @@ -0,0 +1 @@ +#00FF00 \ No newline at end of file diff --git a/packages/tanks/examples/insane/sarlacc/name b/packages/tanks/examples/insane/sarlacc/name new file mode 100644 index 0000000..ff1bdd8 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/name @@ -0,0 +1 @@ +Sarlacc \ No newline at end of file diff --git a/packages/tanks/examples/insane/sarlacc/program b/packages/tanks/examples/insane/sarlacc/program new file mode 100644 index 0000000..c76f574 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/program @@ -0,0 +1,27 @@ +99 100 set-speed! ( big circles ) +0 set-led! +0 set-turret! + +2 sensor? { 100 -28 set-speed! } if (outer right) +3 sensor? { -32 100 set-speed! } if (outer left) + +4 sensor? { 100 2 set-speed! } if (middle pincer) +5 sensor? { -2 100 set-speed! } if (middle pincer) + +4 sensor? 2 sensor? & { 50 -48 set-speed! } if (middle right) +5 sensor? 3 sensor? & { -52 50 set-speed! } if (middle left) + +1 sensor? { 100 100 set-speed! } if ( full speed ahead if we have a target ) +fire-ready? { 1 set-led! } { 40 random 10 + 35 random 5 + set-speed! } ifelse (trundle if we can't fire, else show danger LED) + +6 sensor? { 100 -48 set-speed! } if ( inner right ) +7 sensor? { -52 100 set-speed! } if ( inner left ) + +0 sensor? { fire! } if ( Fire if turret sensor triggered ) + +4 sensor? fire-ready? ! & {70 100 set-speed!} if (escape if we can't fire and are close) +5 sensor? fire-ready? ! & {100 70 set-speed!} if (escape if we can't fire and are close) + +8 sensor? 6 sensor? & { -99 -100 set-speed! } if ( front crash avoid ) +8 sensor? 7 sensor? & { -100 -99 set-speed! } if ( front crash avoid ) +9 sensor? { 100 100 set-speed! } if ( rear crash avoid ) \ No newline at end of file diff --git a/packages/tanks/examples/insane/sarlacc/sensor0 b/packages/tanks/examples/insane/sarlacc/sensor0 new file mode 100644 index 0000000..6cab31b --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor0 @@ -0,0 +1 @@ +50 0 3 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor1 b/packages/tanks/examples/insane/sarlacc/sensor1 new file mode 100644 index 0000000..ce8d4d8 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor1 @@ -0,0 +1 @@ +100 0 10 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor2 b/packages/tanks/examples/insane/sarlacc/sensor2 new file mode 100644 index 0000000..20fbb32 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor2 @@ -0,0 +1 @@ +100 105 150 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor3 b/packages/tanks/examples/insane/sarlacc/sensor3 new file mode 100644 index 0000000..44d4eee --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor3 @@ -0,0 +1 @@ +100 255 150 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor4 b/packages/tanks/examples/insane/sarlacc/sensor4 new file mode 100644 index 0000000..e05222f --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor4 @@ -0,0 +1 @@ +80 100 160 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor5 b/packages/tanks/examples/insane/sarlacc/sensor5 new file mode 100644 index 0000000..3f6b139 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor5 @@ -0,0 +1 @@ +80 260 160 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor6 b/packages/tanks/examples/insane/sarlacc/sensor6 new file mode 100644 index 0000000..1cb43e1 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor6 @@ -0,0 +1 @@ +60 95 170 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor7 b/packages/tanks/examples/insane/sarlacc/sensor7 new file mode 100644 index 0000000..db43bab --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor7 @@ -0,0 +1 @@ +60 265 170 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor8 b/packages/tanks/examples/insane/sarlacc/sensor8 new file mode 100644 index 0000000..c73feb0 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor8 @@ -0,0 +1 @@ +40 0 180 0 diff --git a/packages/tanks/examples/insane/sarlacc/sensor9 b/packages/tanks/examples/insane/sarlacc/sensor9 new file mode 100644 index 0000000..31bc932 --- /dev/null +++ b/packages/tanks/examples/insane/sarlacc/sensor9 @@ -0,0 +1 @@ +40 180 180 0 diff --git a/packages/tanks/service/tanksd/tanksd b/packages/tanks/service/tanksd/tanksd index 78862e1..86c4956 100755 --- a/packages/tanks/service/tanksd/tanksd +++ b/packages/tanks/service/tanksd/tanksd @@ -39,7 +39,7 @@ EOF cat < EOF - cat $packages/tanks/html/nav.html.inc + cat $PACKAGES/tanks/html/nav.html.inc cat < @@ -49,7 +49,7 @@ EOF while true; do find $STATE/teams/names -type f | while read dn; do hash=${dn##*/} - install -o ctf -d $p/$hash + install -o ctf -d $TPLAYERS/$hash done # Has anyone submitted a program yet? @@ -85,7 +85,7 @@ while true; do start("battlefield", // Start JSON data EOF - $PACKAGES/tanks/bin/forftanks $p/* >>$fn 3>$rfn + $PACKAGES/tanks/bin/forftanks $TPLAYERS/* >>$fn 3>$rfn cat <>$fn // end JSON data ); diff --git a/packages/wopr/www/wopr/wopr.cgi b/packages/wopr/www/wopr/wopr.cgi index 2e40cb1..c13defc 100755 --- a/packages/wopr/www/wopr/wopr.cgi +++ b/packages/wopr/www/wopr/wopr.cgi @@ -1,6 +1,7 @@ #! /bin/env lua -BASEDIR = "/var/tmp/wopr" +CTF_BASE = os.getenv("CTF_BASE") or "" +BASEDIR = CTF_BASE .. "/state/wopr" POST_MAX = 512 method = os.getenv("REQUEST_METHOD")