Here is an idea for another warrior like DivideAndConquer and
MultipleAndConquer.
I liked to think of it as "the chainsaw". It also has some resemblance with
the doubly or double linked list.
The idea is something like the following:
1. The warrior checks it's right side if there is a copy of himself running,
if not it copies itself to that location.
2. The warrior then checks it's left side if there is a copy of himself
running, if not it copies itself to that location.
3. If copies are running then the warrior could simply do nothing.
Alternatively the warrior might copy itself a little bit further away and
simply start bombing the intermediate spaces in case an enemy warrior ends
up there. Possibly use a stun to stun it, and maybe later bomb it.
Each copy repeats steps 1 to 3. So this leads to the core slowly being
conquered by the copies.
A flagging technique as demonstrated in "survivor v8" and "married" and such
could be used, this could prevent warriors from overwriting each other and
detect dead/alive.
I am not sure if it's a good thing or a bad thing if warriors overwrite each
other leading to weird behaviour. So far I have seen that the weird
behaviour sometimes works good too.
Anyway it's the idea that counts, I don't like weird warrior behaviour in
general, it's kinda cheap.
I would like to see the warrior in action some day.
Anyway another benefit is that it detects dead copies and can re-copy, to
restore the chain of death ! =D
The idea is to create a chain of warriors/death ! Which can restore itself.
So the chain can thus more or less restore/heal itself
Like a chainsaw it cuts into it's enemies.
Another idea might be to add checksumming code. So the warrior could first
perform a checksum on itself. If it's a good checksum it does a self-copy,
otherwise it does not do that.
Maybe this is a bad idea. A bad copy might still be better than no copy at
all.
But experimentation is what it's all about.
However it's been a while since I worked on my other Delphi apps and
projects and euhm I might want to pick that up again so I might not be able
to create this warrior at the present time. It just takes to much time and I
might want to divert my time back to Delphi.
But I still wanted to describe this idea, because someday I still might want
to program this, or maybe others will have programmed it.
Also maybe some of you have some feedback on this idea, why you think it's
good, bad, or suggest improvements to the idea
Also maybe it's easier to understand a warrior when you know the idea behind
it instead of just looking at code and lousy comments
Bye,
Skybuck.