|
4 | 4 | /** |
5 | 5 | * Class to generate instances of DumBot |
6 | 6 | * @author Kaspar Kallast |
7 | | - * @version 0.1, 15-05-2018 |
| 7 | + * @version 0.2, 29-05-2018 |
8 | 8 | */ |
9 | 9 | import com.badlogic.gdx.math.Vector2; |
10 | 10 | import com.group.golf.Ball; |
|
15 | 15 |
|
16 | 16 | public class DumBot implements Bot { |
17 | 17 |
|
18 | | - private static final double A_SCALAR = 15; // 120 |
19 | | - private static final double F_SCALAR = 2; // 10 |
20 | | - private static final double BIG_SCALAR = 30; // 1000 |
| 18 | + private static final double A_SCALAR = 15; |
| 19 | + private static final double F_SCALAR = 2; |
| 20 | + private static final double BIG_SCALAR = 30; |
21 | 21 |
|
22 | 22 | private final Course course; |
23 | 23 | private final Ball ball; |
@@ -46,17 +46,33 @@ public void setCollision(Collision collision) { |
46 | 46 |
|
47 | 47 | @Override |
48 | 48 | public void makeMove() { |
49 | | - double extraPower = 3; // 0.4 |
50 | | - double distanceLimit = 0.26; // 0.5 |
| 49 | + double extraPower = 6.5; |
| 50 | + double distanceLimit = 0.75; |
51 | 51 | double[] goalCoords = this.course.getGoal(); |
52 | 52 | double[] distances = new double[] {goalCoords[0]-this.ball.getX(), goalCoords[1]-this.ball.getY()}; |
| 53 | + /* |
53 | 54 | for (int i = 0; i < distances.length; i++) { |
54 | | - if (Math.abs(distances[i]) < distanceLimit) { |
55 | | - distances[i] += extraPower; |
56 | | - System.out.println("distanceLimit applied."); |
| 55 | + if (Math.abs(distances[i]) < Math.abs(distanceLimit)) { |
| 56 | + // distances[i] += extraPower; |
| 57 | + if (i == 0) { |
| 58 | + distances[i] *= (extraPower); |
| 59 | + System.out.println("distanceLimit applied to distances[0]."); |
| 60 | + } |
| 61 | + else { |
| 62 | + if (i == 1) distances[i] *= (extraPower); |
| 63 | + System.out.println("distanceLimit applied to distances[1]."); |
| 64 | + } |
57 | 65 | } |
58 | 66 | distances[i] *= BIG_SCALAR; |
59 | 67 | } |
| 68 | + */ |
| 69 | + if ((Math.abs(distances[0]) + Math.abs(distances[1])) / 2 < Math.abs(distanceLimit)) { |
| 70 | + System.out.println("distanceLimit applied"); |
| 71 | + distances[0] *= extraPower; |
| 72 | + distances[1] *= extraPower; |
| 73 | + } |
| 74 | + distances[0] *= BIG_SCALAR; |
| 75 | + distances[1] *= BIG_SCALAR; |
60 | 76 | this.scale(distances); |
61 | 77 | this.engine.hit(distances[0], distances[1]); |
62 | 78 | } |
|
0 commit comments