Talk:Watermelon/Code
Jump to navigation
Jump to search
It will be more fun if you do this instead:
public void doPaint(Graphics2D g) { g.setStroke(new java.awt.BasicStroke(2f)); if (bot.getOthers() == 1) { double radius, arcSegment, segmentHeading; double time = bot.getTime(); for (Wave w : waves) { if (w.paint) { radius = (time - w.ctime) * w.velocity; arcSegment = w.extent / NUM_WAVEBUCKETS; for (int i = 0; i < NUM_WAVEBUCKETS; i++) { segmentHeading = w.heading + w.clockwise * (arcSegment * i - w.extent / 2); g.setColor(Color.getHSBColor( // this is Hue, Saturation, and Brightness 0.058333f, 1.0f, (float) (0.15 + 0.85 * waveBuckets[w.segment][i] / bucketMax[w.segment]) )); g.draw(new Arc2D.Double( w.origin.x - radius, w.origin.y - radius, radius * 2, radius * 2, segmentHeading, arcSegment, Arc2D.OPEN )); } } } } }
=) » Nat | Talk » 13:43, 10 June 2009 (UTC)
Originally, that's what I did, but with more waves on the screen I was skipping turns. -- Synapse 14:37, 10 June 2009 (UTC)
Really? I think robocode allow unlimited time when you are drawing. » Nat | Talk » 14:43, 10 June 2009 (UTC)
- Nope -- I noticed in one of the changelogs that painting is now done by the robot's thread and counts against your cpu time. Makes sense, since you can really put any code (movement, targeting, etc.) inside of onPaint(). Nice waves, by the way! --Darkcanuck 14:54, 10 June 2009 (UTC)
- Interesting -- if you switch on painting for a bot, it gets unlimited time? I guess that's ok. --Darkcanuck 03:29, 11 June 2009 (UTC)