Commit Graph

31 Commits

Author SHA1 Message Date
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