Richard Harrington
b7c1e689a6
implemented 'damage' to robots on collision
...
although they don't die yet -- their capacity
for damage is infinite.
also, the damage is just one point per collision --
it's in no way proportional to kinetic energy yet.
2013-09-02 20:45:57 -04:00
Richard Harrington
c03676d000
couple of bug fixes on collision detection
2013-09-02 12:26:51 -04:00
Richard Harrington
8e70c42e3d
got billiard ball collision detection almost working (still wonky)
2013-09-02 11:12:30 -04:00
Richard Harrington
a7cb6a58da
changed comments in robot
2013-09-01 23:14:54 -04:00
Richard Harrington
b8567a487b
transferring attributes by name (instead of en masse) from world to robot, for clarity
2013-09-01 21:02:53 -04:00
Richard Harrington
8dc42da7bc
sort of got collision detection working. needs tweaks.
2013-08-31 17:23:22 -04:00
Richard Harrington
736b5ac5aa
colliding, but getting stuck. x and y proximity both need to be checked.
2013-08-31 16:52:42 -04:00
Richard Harrington
50e9fa6f68
not crashing any more! collision detection not working, though.
2013-08-30 02:32:42 -04:00
Richard Harrington
dd0d06446e
more slight progress
2013-08-30 02:11:58 -04:00
Richard Harrington
0633ebab2a
in the middle of adding collision detection
2013-08-30 01:26:36 -04:00
Richard Harrington
9edc004ab0
working on collision detection
2013-08-29 12:48:22 -04:00
Richard Harrington
cc1dee5418
changed robot acceleration calc to use Java Math/copySign function
2013-08-23 10:53:33 -04:00
Richard Harrington
7afb653f38
changed namespace phys to physics
2013-08-21 13:23:49 -04:00
Richard Harrington
1a5b3e3727
separated out tick-robot code into helper functions: move-robot and update-shot-timer
2013-08-21 13:12:42 -04:00
Richard Harrington
36ea96826f
changed 'step-' named functions to 'tick-'
2013-08-21 11:11:16 -04:00
Richard Harrington
8d0996bec6
moved physics formulas from robot into their own namespace
2013-08-21 10:29:44 -04:00
Richard Harrington
61dcd040ad
got the shot timer counting down
2013-08-20 17:30: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
45f6947ea8
moved constants out into their own file
2013-08-15 11:31:46 -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
2bf499766b
changed damage from '0 to 100' to '100 to 0' -- i.e., it should be called health instead
2013-08-14 17:20:47 -04:00
Richard Harrington
7d60b43a8b
altered some todo comments in robot
2013-08-14 16:37:05 -04:00
Richard Harrington
e01d375bb3
made a more streamlined method of passing attributes from world to robots
2013-08-12 14:58:54 -04:00
Richard Harrington
9cf4063603
fixed bug causing robot-step to add old pos and veloc instead of new
2013-08-12 09:42:11 -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
32eac97e0c
changed TICK_DURATION from a constant to a parameter that we pass into robot
2013-08-11 22:37:20 -04:00
Richard Harrington
af7618c7f9
added support for negative acceleration and fixed bug in robot
...
bug in robot was that we were doing the kinematic calculations
on the original robot, not the stepped one. It wasn't
causing a problem with any of the tests (even the so far
informal ones) because we weren't checking any changes
except to the kinematic info
2013-08-11 22:35:19 -04:00
Richard Harrington
64ac3c743b
fixed various bugs in kinematics calculations in robot
2013-08-10 17:04:44 -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
30a1ed781b
switched to system where registers are part of the brain, not the robot
2013-08-09 15:58: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
382a70bd34
created register namespace, moved game_lexicom stuff into it
2013-08-07 11:36:03 -04:00
Richard Harrington
f65ee493a9
added todo
2013-08-06 20:08:05 -04:00
Richard Harrington
b43eb26b37
fixed bug in robot.clj, all previous tests now working
2013-08-06 19:21:35 -04:00
Richard Harrington
2b983b6080
in the midst of some changes to robot
2013-08-06 18:17:26 -04:00
Richard Harrington
a30726aac2
added some distance, time and acceleration functions
2013-08-06 16:19:01 -04:00
Richard Harrington
6d16b1d4aa
changed todo list comments about registers still to be done
2013-08-06 16:18:33 -04:00
Richard Harrington
a26092a481
added default registers AIM, SPEEDX and SPEEDY
2013-08-06 16:17:37 -04:00
Richard Harrington
de7497691c
minor whitespace adjustment
2013-08-06 16:17:05 -04:00
Richard Harrington
154d3e70bc
added TICK_DURATION constant
2013-08-06 16:16:04 -04:00
Richard Harrington
5477c430d8
changed damage so it goes up instead of down
2013-08-06 13:06:37 -04:00
Richard Harrington
54161691fa
made shorter aliases (without 'robotwar.' prefix) for all namespaces
2013-08-06 11:34:51 -04:00
Richard Harrington
4af58b61ab
changed robot module dependencies from 'use' to 'require'
2013-08-06 11:26:43 -04:00
Richard Harrington
8f1653bb66
bug fixed; all existing tests running. No tests yet for new special-purpose registers.
2013-08-05 21:53: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
8091e1f216
fixed typo, got push-test in brain-test working
2013-08-05 00:36:13 -04:00
Richard Harrington
28efa906c2
got basic skeletons of robot and world up and running, all tests but one passing in brain-test
2013-08-05 00:26:05 -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