Talk:OcnirpSNG

From Robowiki
Revision as of 20:38, 2 March 2009 by Robar (talk | contribs)
Jump to navigation Jump to search

Shall I proud with this bot? I own only half of it. » Nat | Talk » 12:11, 1 March 2009 (UTC)

Good bot! I'm trying to put random movement to Scytodes, but I can't make it less than 266 bytes... Maybe Simonton's gun costs less codesize? --HUNRobar 12:58, 1 March 2009 (UTC)

It the smallest PM I can found on the wiki right now :) Note that Simonton are excellent in codesize reduction. You might read the CodeSize/WritingSmallCode on the old wiki. Note that with his trick on variable declaration, I can take 14 bytes away from Ocnirp and have enough room for StopNGo, anyway. » Nat | Talk » 14:14, 1 March 2009 (UTC)

Note for you, if you don't mine to turn while you are moving, you can reduce codesize to 227, if not, 237.

  • The e.getDistance() called twice, declare a variable.
  • Note that instead of degrees, use radians. The turn code will look like setTurnRightRadians((Math.cos(absB = e.getBearingRadians()) + direction * -0.174532925D));
  • As you will see above, use Math.cos will move in perpendicular automatically. (I don't know why, but ripped from WeekendObsession)
  • Move the turn code before the gun code, assign the e.getBearingRadians() to absB first, then in gun, use += getHeadingRadians();

That all I squeeze the Scytodes, note that we use the same gun :) » Nat | Talk » 14:28, 1 March 2009 (UTC)

In fact Scytodes 0.3 is awfully inoptimized in codesize. Just look at Prestige's code. I even managed to make direction unnecessary! Okay, in stop and go it wouldn't work, but now I could be sqeeze further any more, maybe 1-2 bytes. Anyway, I deal with nanos so much that I discover newer and newer tricks every week. --HUNRobar 15:11, 1 March 2009 (UTC)

Come on, Robar, share your secret with us. » Nat | Talk » 15:35, 1 March 2009 (UTC)

Start to fear, I managed to finish the first version of BlackWidow, the worst enemy of WeekendObsession and OcnirpSNG! :P --HUNRobar 19:38, 2 March 2009 (UTC)