# MicroCatbert

Robo Home | Changes | Preferences | AllPages

A Microbot that mirrors it's opponent's movement.

#### What's special about it?

Uhm, not much, besides being the only one which I know of in Microbot size to mirror it's opponent's moves. Soon to have a pattern matcher which saves data between matches, but the I/O at the moment for Average Velocity Targeting isn't going to well, and I'm going to figure out PMing in a week or so.

#### Great, I want to try it. Where can I download it?

http://www.robocoderepository.com/BotDetail.jsp?id=1585

#### How competitive is it?

I think it will do ok, not meant to be super competitive at the moment. Allthough it might become.

#### How does it move?

It Mirrors it's Opponents movements. Like this:

```		dX= getBattleFieldWidth() -((mX=getX())+Math.sin(inf)*e.getDistance());
dY= getBattleFieldHeight() -((mY=getY())+Math.cos(inf)*e.getDistance());
setTurnRightRadians(nTA = Math.atan(Math.tan(tA = ((Math.atan2(dX - mX, dY - mY) - (inf = getHeadingRadians())) + (7.0 * Math.PI)) % (2.0 * Math.PI) - Math.PI)));
setAhead((tA == nTA ? 1.0 : -1.0) * Point2D.Double.distance(mX, mY, dX, dY));
```

#### How does it fire?

It uses Average Velocity Linear Targeting, soon to patternmatch.

#### How does it dodge bullets?

It relies on it's opponent to dodge, because it mirrors it's opponent's movement.

#### How does the melee strategy differ from one-on-one strategy?

It's strategy in Melee is to get confused.

Doesn't

#### What does it save between rounds and matches?

I save velocity between rounds, and am trying to figure out how to fix a bug that keeps it from saving data between matches.

#### Where did you get the name?

See http://www.dilbert.com

#### Can I use your code?

Yes. If you use it and find improvements, please let me know. My e-mail is assasin595@hotmail.com Here is MicroCatbert's Code.

#### What's next for your robot?

Implement a Pattern matcher, fix several bugs.

#### What other robot(s) is it based on?

Uhm, maybe DuelistNanoMelee 1.0 and Calypso 3.6

#### Comments, questions, feedback:

I'd like help fixing a few bugs here and there, specifically with the bug that makes me not write my files in the onDeath Event.

I actually played with a mirror-like movement in FunkyChicken, which probably would have fit, too (with a pattern-matcher in a nano, even!) Wouldn't have been an exact mirror, but a reasonably good one. The smallest mirror-bot I know of is sgp.nano.FurryLeech, which is 245 bots, probably with random aim. A lot of top nanos have a hard time with it, while others beat it easily. It's pretty funny :-p (and hard to make a really good nano that beats NanoLauLectrik and FurryLeech). -- Kawigi

If you're still interested in mimicking your opponent and pattern-matching them at the same time, you should check out a simple but reasonably accurate implementation I use - it's called FunkyLeech. The mirroring isn't by location like yours, it's by relative angle and speed. I think it's pretty clever :-) -- Kawigi

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited August 5, 2003 1:06 EST by Kawigi (diff)
Search: