Merge branch 'jonathan'

main structure almost finished
master
Jonathan Hager 5 years ago
commit 41da1e8641

@ -1,4 +1,40 @@
package com.trs.game;
public class StaticMath {
public static double calculateAngle(int xPos1, int yPos1, int xPos2, int yPos2){
float deltaX = xPos2 - xPos1;
float deltaY = yPos2 - yPos1;
double angle;
if(deltaY == 0){
if(deltaX < 0){
angle = Math.PI;
}
else{
angle = 0;
}
}
else if(deltaX == 0 && deltaY >= 0){
angle = Math.PI / 2;
}
else if(deltaX == 0 && deltaY < 0){
angle = Math.PI / -2;
}
else{
angle = Math.abs(Math.atan(deltaY / deltaX));
if(deltaX < 0 && deltaY < 0){
angle = Math.PI + angle;
}
else if(deltaX < 0 && deltaY > 0){
angle = Math.PI - angle;
}
else if(deltaX > 0 && deltaY < 0){
angle = 2*Math.PI - angle;
}
}
return angle;
}
}

@ -1,4 +1,45 @@
package com.trs.game.model;
import com.trs.game.StaticMath;
public class Monster {
private final int SPEED = 3;
private int xPos;
private int yPos;
private double movementX;
private double movementY;
private int xPosTarget;
private int yPosTarget;
public Monster(int xPos, int yPos){
this.xPos = xPos;
this.yPos = yPos;
}
public void move(){
this.xPos += this.movementX;
this.yPos += this.movementY;
}
private void checkTarget(){
if(this.xPos == this.xPosTarget && this.yPos == this.yPosTarget){
this.generateNewTarget();
}
}
private void generateNewTarget(){
// TODO: generate new target coordinates
calculateMovement();
}
private void calculateMovement(){
double angle = StaticMath.calculateAngle(this.xPos, this.yPos, this.xPosTarget, this.yPosTarget);
movementX = Math.cos(angle) * SPEED;
movementY = Math.sin(angle) * SPEED;
}
}

@ -1,4 +1,33 @@
package com.trs.game.model;
import com.trs.game.StaticMath;
public class Projectile {
private final int SPEED = 3;
private int xPos;
private int yPos;
private double movementX;
private double movementY;
public Projectile(int xPos, int yPos, int xPosMonster, int yPosMonster){
this.xPos = xPos;
this.yPos = yPos;
// calculating values for movementX and movementY
double angle = StaticMath.calculateAngle(this.xPos, this.yPos, xPosMonster, yPosMonster);
movementX = Math.cos(angle) * SPEED;
movementY = Math.sin(angle) * SPEED;
}
public void collision(){
}
public void move(){
this.xPos += this.movementX;
this.yPos += this.movementY;
}
}

Loading…
Cancel
Save