Richard Harrington
499602baa6
moved shell and shell-id to top level of world
2013-09-03 12:34:45 -04:00
Richard Harrington
dd1bf0e1e0
changed aim register so it never goes above 360
2013-09-01 21:58:27 -04:00
Richard Harrington
0945151aab
changed all float coercion to double coercion
2013-08-23 10:51:56 -04:00
Richard Harrington
102a307af8
changed shells to a map-indexed system, for identifying new ones
...
(so far, we can't play the same sound at the same time
anyway, so this change has no visible effect yet)
2013-08-22 15:25:36 -04:00
Richard Harrington
36ea96826f
changed 'step-' named functions to 'tick-'
2013-08-21 11:11:16 -04:00
Richard Harrington
6be9e599e1
added firing of new shells to SHOT write-register function
2013-08-20 23:40:54 -04:00
Richard Harrington
63ff5c8e05
refactored 'register' to do a lot more destructuring of registers and robots passed as parameters
2013-08-20 17:45:37 -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
a32a83d24f
refactored register to be able to use mixins separate from their
...
map keys
2013-08-20 16:02:48 -04:00
Richard Harrington
c38f82d22e
moved single-use read- and write-register functions directly into the extend protocol blocks as anonymous functions
2013-08-20 15:05:03 -04:00
Richard Harrington
163ba2840b
altered indentatin in register
2013-08-20 15:03:34 -04:00
Richard Harrington
07596d8fad
refactored 'register' with path-to-robot-field convenience function
2013-08-20 14:57:53 -04:00
Richard Harrington
9fc3a06e7e
added 'multiplier' field to all records in register
...
multiplier is a factor by which to multiply values
being pushed from the robot brain through
a register interface to a robot field, and
likewise by which to divide values being pulled from
a robot field to the robot brain
2013-08-11 23:33:31 -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
c802fc811e
fixed desired-v-x and desired-v-y situation
...
before, pushes to SPEEDX and SPEEDY were overwriting
the actual :v-x and :v-y fields on the robot,
so I made new :desired-v-x and :desired-v-y fields
to hold the aspiration for what we want the speed to be
(which might not be accomplished for several ticks)
2013-08-09 16:07:18 -04:00
Richard Harrington
6e6fd957f9
removed unnecessary assoc path functions in register
2013-08-09 16:02:40 -04:00
Richard Harrington
30a1ed781b
switched to system where registers are part of the brain, not the robot
2013-08-09 15:58:14 -04:00
Richard Harrington
171fe5d5b2
fixed RANDOM register, was writing to robot-field still; now writes to register itself
2013-08-09 15:57:16 -04:00
Richard Harrington
167c8e73ee
changed name of 'reg-names-by-idx' back to 'reg-names'
2013-08-09 15:26:02 -04:00
Richard Harrington
ac2c87325a
changed name of reg-names to reg-names-by-index
...
to reflect its sole role: to be a lookup for the
DATA/INDEX pair system
2013-08-09 14:58:24 -04:00
Richard Harrington
98f7958e6a
minor whitespace change
2013-08-09 14:55:47 -04:00
Richard Harrington
ea5ca28e45
put storage-reg-names inline in init-register, instead of at beginning of file
2013-08-09 14:55:30 -04:00
Richard Harrington
e6f1205164
finished reworking the RANDOM register to store max-value in the
...
register, not the robot
2013-08-09 14:32:17 -04:00
Richard Harrington
8620ea8bac
renamed records in register namespace, to reflect where data is being
...
stored
2013-08-09 14:30:14 -04:00
Richard Harrington
3fe4444f7a
ATTN: commits now contain internal info. Changed register system to
...
mostly an interface.
Removed :val field from all registers except storage registers & INDEX.
Some of the other registers were already quite specialized, but
the ones that weren't -- the ones that relied on :val fields in the
register -- are now just interfaces to attributes stored on the top
level of the robot.
2013-08-09 00:51:42 -04:00
Richard Harrington
db63955567
removed passing of attributes from robot to init-register function. don't need them now.
2013-08-09 00:38:21 -04:00
Richard Harrington
cd2fc415ea
fixed slight bug in robot-field-read-register, in register namespace
2013-08-08 23:53:07 -04:00
Richard Harrington
abbc60d81c
added 'random' record to register, switched to mixin system for most records, got all existing tests working
2013-08-08 23:38:05 -04:00
Richard Harrington
74ab6affe3
fixed bug in pathfinder convenience functions in register
2013-08-08 23:23:36 -04:00
Richard Harrington
4d7fdb0cfb
converted registers to protocols and records. 2/3 finished.
2013-08-08 01:10:35 -04:00
Richard Harrington
382a70bd34
created register namespace, moved game_lexicom stuff into it
2013-08-07 11:36:03 -04:00