Talk:Watermelon/Code

From Robowiki
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)