Commit Graph

51 Commits

Author SHA1 Message Date
Richard Harrington
d03d64bd6a separated source programs out into regular and dev 2013-08-24 06:37:49 -04:00
Richard Harrington
29ba6d0700 changed names of programs (to be shorter and easier to type in requests) 2013-08-24 00:01:06 -04:00
Richard Harrington
ad24b7e850 added SHOT register and :shot-timer robot field.
:shot-timer does not count down yet, and SHOT register
does not release shells.
2013-08-20 17:01:42 -04:00
Richard Harrington
d7d27ca9f0 moved test-programs out of test into src, renamed it src-programs
also fixed some testing bugs that were using
the old parameters for init-world
2013-08-20 12:21:09 -04:00
Richard Harrington
9b46900f9b changed width and height to robot-range-x and robot-range-y and made
them constants

because technically, the robot ranges are the maximum ranges for the
centers of the robots' bodies,
so the actual extent of the arena when
displayed must be slightly larger
2013-08-20 12:10:58 -04:00
Richard Harrington
b4b962096b separated 'animate' into two namespaces: 'terminal' and 'browser' 2013-08-20 11:40:29 -04:00
Richard Harrington
689cb9d693 built 'worlds-for-browser', tied handler to it 2013-08-17 15:51:45 -04:00
Richard Harrington
e51ba68254 changed 'build-sim-worlds' to 'worlds-for-terminal', flattened data structure of results a bit 2013-08-17 15:51:10 -04:00
Richard Harrington
659898494e uncommented and spruced up pprinting convenience functions in core 2013-08-16 23:49:03 -04:00
Richard Harrington
5892d6ad89 made some unnecessary thunks into resolved values in core 2013-08-16 23:47:46 -04:00
Richard Harrington
534872d0a8 changed 'make-it-so' function in core so it takes fast-forward and fps parameters 2013-08-16 23:34:30 -04:00
Richard Harrington
a1df709c4f now only stores last world in each round when building simulation
also did significant refactoring, including changing
variable names from 'round' to 'combined-world' before
going through the simulation-pass, and 'sim-world' afterwards.

Soon, we'll make the worlds coming out of 'sim-world' a lot less
verbose.
2013-08-16 23:26:34 -04:00
Richard Harrington
9ab14a7653 commented out convenience functions in core 2013-08-16 23:25:33 -04:00
Richard Harrington
12ee2260c1 got compojure going, with a few sample routes 2013-08-16 18:09:44 -04:00
Richard Harrington
257b6a2495 reworked hacky sandbox stuff in core.clj, to help with animation 2013-08-15 16:22:00 -04:00
Richard Harrington
cd1a9fabbd removed passing of tick-duration down into brain and robot
replaced with dynamic "constant" *GAME-SECONDS-PER-TICK*,
so we can alter it during tests
2013-08-14 23:12:50 -04:00
Richard Harrington
9e8285e86f added pprint to core 2013-08-14 16:37:35 -04:00
Richard Harrington
20f71db62f got :moving-to-spot test working, refactored test-programs a bit 2013-08-14 00:16:06 -04:00
Richard Harrington
a56d210fe4 changed tick-duration so it's a parameter passed into tick-world 2013-08-12 00:13:13 -04:00
Richard Harrington
50ddd8d2b7 changed all values & calculations outside the brain to floating point
(also added stuff to the register functions that pull and push
from the brain to the robot fields, casting to integer when
pulling, and float when pushing)
2013-08-11 23:32:58 -04:00
Richard Harrington
2846ed4151 added iterate-worlds convenience function to world 2013-08-10 17:03:58 -04:00
Richard Harrington
7e040dfcf5 expanded core.clj inspection functions to cover robot, world and worlds 2013-08-10 15:55:26 -04:00
Richard Harrington
528b18a45d fixed bugs in core.clj ppt inspection function, also made it more pretty 2013-08-10 00:55:17 -04:00
Richard Harrington
1cf9f7e42e put test programs into their own file; altered brain-test and core.clj accordingly 2013-08-09 22:01:56 -04:00
Richard Harrington
382a70bd34 created register namespace, moved game_lexicom stuff into it 2013-08-07 11:36:03 -04:00
Richard Harrington
94c069116f changed parameter-pass-in format to ppt in core.clj, to registers flattened in the argument list 2013-08-06 18:35:27 -04:00
Richard Harrington
7fd4baa3c2 fixed bug in ppt in core.clj causing it to refer to old hard-coded info rather than passed-in parameters 2013-08-06 18:35:05 -04:00
Richard Harrington
9c4a576702 added to inspection functions in core.clj 2013-08-06 18:01:57 -04:00
Richard Harrington
40b1b4533d fixed typo in namespace require section of robotwar.core 2013-08-06 18:00:51 -04:00
Richard Harrington
623bfea415 changed name of foundry namespace to assembler 2013-08-06 12:00:30 -04:00
Richard Harrington
54161691fa made shorter aliases (without 'robotwar.' prefix) for all namespaces 2013-08-06 11:34:51 -04:00
Richard Harrington
041a639203 wrote special-purpose registers: X, Y, DAMAGE, INDEX, DATA, RANDOM. Brain tests now failing. 2013-08-05 21:40:23 -04:00
Richard Harrington
42dade809c updated the hacky inspection code in core.clj to work with the new robot and world apis 2013-08-05 00:35:17 -04:00
Richard Harrington
67f30c959c changed keyword 'program' to 'obj-code' (more specific) 2013-08-04 22:48:13 -04:00
Richard Harrington
5865a9f570 moved 'get-world' functionality (allows world-finding by world-tick-idx
and robot-idx) into helper function in brains-test
2013-08-03 14:14:32 -04:00
Richard Harrington
5eca3965cc wrote informal inspection function for core.clj, that reports robot-states from a sequence of worlds, given world-tick-idx and robot-idx 2013-08-03 13:52:10 -04:00
Richard Harrington
0c988d61f4 commented out most of these high-level files till the refactoring is done 2013-08-03 03:38:28 -04:00
Richard Harrington
9112c82dc6 making progress on refactoring, especially in brain (formerly robot). made new file called robot to represent external robot state 2013-08-02 01:36:17 -04:00
Richard Harrington
6e04c076a6 grinding along with the refactoring 2013-08-01 20:01:08 -04:00
Richard Harrington
08dcf38214 refactored, changed module names, untangled dependencies between kernel language and register names. Also removed 'repl' 2013-07-31 20:55:15 -04:00
Richard Harrington
2dbd496442 revised informal testing junk in core.clj 2013-07-31 17:38:55 -04:00
Richard Harrington
b331a43f79 changed name 'compile' to 'assemble', now don't have to exclude loading of clojure.core/compile 2013-07-31 14:30:40 -04:00
Richard Harrington
64cb83cb3b altered informal testing junk in core.clj 2013-07-30 18:32:52 -04:00
Richard Harrington
4276409d9c wrote init-world function to create a world-state 2013-07-30 11:44:36 -04:00
Richard Harrington
52554ab4c5 added SPEEDX and SPEEDY to list of registers which have an effect on the world 2013-07-29 17:00:32 -04:00
Richard Harrington
9bfa7c213e restored full 'robotwar' name everywhere, instead of 'rw' 2013-07-28 22:37:18 -04:00
Richard Harrington
dbd1007a84 shortened main namespace name from robotwar to rw 2013-07-28 01:31:03 -04:00
Richard Harrington
abae4d35b0 converted to proper ns macro format 2013-07-28 01:19:55 -04:00
Richard Harrington
b0fb5d6147 almost got robot-tick function working 2013-07-25 12:53:10 -04:00
Richard Harrington
4cfac7d461 wrote map-labels function to map the labels in a token-string. including tests. 2013-07-22 23:03:57 -04:00