package com.codingame.game;
import java.util.Random;
+import java.util.ArrayList;
+import java.util.Comparator;
import com.codingame.gameengine.core.MultiplayerGameManager;
import com.codingame.gameengine.module.entities.GraphicEntityModule;
p1.startTurn();
}
+ private class Pos {
+ int x, y;
+ Pos(int _x, int _y) { x = _x; y = _y; }
+ }
+
private void drawBackground() {
graphicEntityModule.createSprite()
.setImage("background.png")
.setAnchor(0);
- int numTrees = random.nextInt(101);
+ int numTrees = random.nextInt(21);
+ ArrayList<Pos> poss = new ArrayList<Pos>(numTrees);
while (numTrees --> 0) {
int x, y;
do {
// yes, this biases randomness wrt perspective! :-(
y = 700 + random.nextInt(175);
} while (y > 880 && (x < 200 || x > 1720));
- double scale = ( 100.0 / 433.0 // base height from PNG
- * (y - 680) / (875 - 680) ); // perspective
+ poss.add(new Pos(x, y));
+ }
+ poss.sort(new Comparator<Pos>() {
+ public int compare(Pos a, Pos b) { return a.y < b.y ? -1 : 1; }
+ });
+
+ for (Pos p : poss) {
+ double scale = ( 90.0 / 433.0 // base height from PNG
+ * (p.y - 680) / (875 - 680) ); // perspective
graphicEntityModule.createSprite()
- .setImage("Alshock.png")
+ .setImage(random.nextInt(2) == 0 ? "Alshockv1.png"
+ : "Alshockv2.png")
.setAnchorX(0.5)
.setAnchorY(1)
- .setX(x)
- .setY(y)
- .setScaleX(scale * (random.nextInt(2) == 0 ? -1 : 1))
- .setScaleY(scale)
+ .setX(p.x)
+ .setY(p.y)
+ .setScaleX(scale * (random.nextInt(2) == 0 ? -1 : 1)
+ * (1 + (random.nextDouble() - 0.5) / 6))
+ .setScaleY(scale * (1 + (random.nextDouble() -0.5) / 6))
.setRotation((random.nextDouble() - 0.5) * Math.PI / 1800)
.setSkewX((random.nextDouble() - 0.5) /4)
.setSkewY((random.nextDouble() - 0.5) /8);