From 61420477f82a3eb389ee0202fd9c8625db287655 Mon Sep 17 00:00:00 2001 From: Victor Date: Sat, 22 Mar 2014 22:56:28 +0200 Subject: [PATCH] Add draw wind info --- src/com/annimon/turrets/GameCanvas.java | 1 + src/com/annimon/turrets/Wind.java | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/com/annimon/turrets/GameCanvas.java b/src/com/annimon/turrets/GameCanvas.java index 6b55b15..ecd678b 100644 --- a/src/com/annimon/turrets/GameCanvas.java +++ b/src/com/annimon/turrets/GameCanvas.java @@ -63,6 +63,7 @@ public class GameCanvas extends DoubleBufferedCanvas implements Runnable, Networ terrain.draw(g); serverTurret.draw(g); clientTurret.draw(g); + wind.drawInfo(g, metrics); } else { g.setColor(Color.WHITE); final int x = (Constants.WIDTH - metrics.stringWidth(WAIT_MESSAGE)) / 2; diff --git a/src/com/annimon/turrets/Wind.java b/src/com/annimon/turrets/Wind.java index 084d94e..5c11873 100644 --- a/src/com/annimon/turrets/Wind.java +++ b/src/com/annimon/turrets/Wind.java @@ -1,12 +1,15 @@ package com.annimon.turrets; import com.annimon.turrets.util.Util; +import java.awt.Color; +import java.awt.FontMetrics; +import java.awt.Graphics2D; /** * * @author aNNiMON */ -public class Wind implements Constants { +public class Wind { private double speed; @@ -15,7 +18,23 @@ public class Wind implements Constants { } public void change() { - speed = Util.rand(-MAX_WIND_STRENGTH, MAX_WIND_STRENGTH); + speed = Util.rand(-Constants.MAX_WIND_STRENGTH, Constants.MAX_WIND_STRENGTH); + } + + public void drawInfo(Graphics2D g, FontMetrics metrics) { + final int speedPercent = (int) (Math.abs(speed) * 100d / Constants.MAX_WIND_STRENGTH); + final String value = String.valueOf(speedPercent); + final int valueWidth = metrics.stringWidth(value); + final int x = (Constants.WIDTH - valueWidth) / 2; + final int y = metrics.getHeight(); + + g.setColor(Color.RED); + if (speed < 0) { + g.drawString("←", x - 2 * valueWidth, y); + } else if (speed > 0) { + g.drawString("→", x + 2 * valueWidth, y); + } + g.drawString(String.valueOf(speedPercent), x, y); } }