Commit graph

37 commits

Author SHA1 Message Date
Petr Baudis
b693b5d6f4 connection::actions(): agent& -> agent*, more natural agent_id handling 2011-12-08 03:02:08 +01:00
Petr Baudis
8ae6051e97 Support reconnecting to agents
Agents do not die immediately on disconnect anymore. Instead, agent_id
is sent at birth and can be sent during negotiation to attach to a
disconnected agent.
2011-12-08 02:21:56 +01:00
Petr Baudis
96208e93ba Pheromones: Merge tile and agent info in pheromones output 2011-12-08 00:10:09 +01:00
Petr Baudis
a821e72661 Introduce pheromones 2011-12-07 23:54:03 +01:00
Petr Baudis
61cc3ef015 connection::senses(): Clean up visual sending 2011-12-07 23:28:11 +01:00
Petr Baudis
56979634bf connection::thread_loop(): Detect read errors and end of file reliably 2011-11-30 01:52:04 +01:00
Petr Baudis
f161c02210 connection::cancel(): Enable cancelling ongoing loop 2011-11-30 01:51:45 +01:00
Petr Baudis
1fcd4e45b7 connection::senses(): Split to many smaller printfs 2011-11-30 01:40:33 +01:00
Petr Baudis
39b61175c1 connection::thread_loop(): Try different way to append to in_buf
We have seen mysterious crashes.
2011-11-29 23:48:53 +01:00
Petr Baudis
0a9b9f8840 visual: Enlarge neighborhood 2011-11-29 22:26:00 +01:00
Petr Baudis
12724c016d connection::thread_loop(): Try harder to catch dead sockets 2011-11-29 19:46:33 +01:00
Petr Baudis
04fc7b4b7a connection::actions(): Fix command masking 2011-11-29 19:32:08 +01:00
Petr Baudis
529c401457 connection::actions(): Do not permit multiple actions of the same kind per tick 2011-11-27 07:37:30 +01:00
Petr Baudis
b80ccfdffd Attack, defense rates 2011-11-27 05:18:52 +01:00
Petr Baudis
2907cb6791 Connection: Add 'move' attribute to the negotiation phase 2011-11-27 05:07:01 +01:00
Petr Baudis
9cf99e0bcd Connection: Add negotiation phase 2011-11-27 05:06:46 +01:00
Petr Baudis
85e143fd11 connection::bump(): Fix double locking 2011-11-27 05:05:57 +01:00
Petr Baudis
a36deeb1db Connection: Abstract out buf_incomplete() macro 2011-11-27 05:05:43 +01:00
Petr Baudis
0c29808836 Action attack_dir(): Implement, trivially random now 2011-11-27 04:10:53 +01:00
Petr Baudis
5efaafe983 Sense around -> visual 2011-11-27 03:44:14 +01:00
Petr Baudis
f0a603352f Sense around: Extended format describing agents explicitly 2011-11-27 03:43:45 +01:00
Petr Baudis
e22c57c97f connnection::actions(): Take agent& 2011-11-27 03:25:16 +01:00
Petr Baudis
415475cd26 connnection::senses(): Sanitize interface, take just agent& 2011-11-27 03:24:40 +01:00
Petr Baudis
9dcb3c543a Connection: Use CRLF for output too 2011-11-27 03:16:47 +01:00
Petr Baudis
b969e91bd1 around: Show 8-neighborhood 2011-11-27 03:16:11 +01:00
Petr Baudis
77e555706b Send BUMP if move failed 2011-11-27 02:59:28 +01:00
Petr Baudis
64ea015a06 Support for agent death 2011-11-27 02:48:28 +01:00
Petr Baudis
f6221436a4 connection::thread_loop(): Do not write() if we have nothing to write 2011-11-27 02:40:57 +01:00
Petr Baudis
158ab85715 connection::thread_loop(): Break on zero reads 2011-11-27 02:33:24 +01:00
Petr Baudis
93882f79b9 Track agent energy
Base energy, move energy
2011-11-27 02:32:59 +01:00
Petr Baudis
d44c5f5b10 move_dir: Restrict to {-1,0,1} 2011-11-27 02:22:14 +01:00
Petr Baudis
de6a4d656f Support for command input
For starters, 'move_dir x y' command is supported.
2011-11-27 02:14:57 +01:00
Petr Baudis
92940b6054 Connection communication in separate thread 2011-11-27 01:24:52 +01:00
Petr Baudis
6a3d9b2e4a Destroy agent on disconnect; another agent can connect later 2011-11-26 23:59:31 +01:00
Petr Baudis
978a080656 ~connection(): Close file descriptor 2011-11-26 23:43:52 +01:00
Petr Baudis
1ed67c81b6 Maintain and broadcast current tick id 2011-11-26 23:31:28 +01:00
Petr Baudis
6b3a51139a Support for (read-only) TCP connection agent communication 2011-11-26 23:24:06 +01:00