Difference between revisions of "Talk:OcnirpSNG"
Line 11: | Line 11: | ||
* Move the turn code before the gun code, assign the e.getBearingRadians() to absB first, then in gun, use += getHeadingRadians(); | * 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 :) » <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> » 14:28, 1 March 2009 (UTC) | That all I squeeze the Scytodes, note that we use the same gun :) » <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> » 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. --[[User:Robar|HUNRobar]] 15:11, 1 March 2009 (UTC) |
Revision as of 16:11, 1 March 2009
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)