Commit Graph

55 Commits

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