mirror of
https://github.com/Noratrieb/Java2DGame.git
synced 2026-01-14 14:05:01 +01:00
start physics
This commit is contained in:
parent
35c47c50b8
commit
843d30eb47
9 changed files with 61 additions and 2 deletions
5
src/main/java/core/Collidable.java
Normal file
5
src/main/java/core/Collidable.java
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
package core;
|
||||||
|
|
||||||
|
public interface Collidable {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,8 +3,10 @@ package core;
|
||||||
import objects.DebugPos;
|
import objects.DebugPos;
|
||||||
import objects.ships.BattleShip;
|
import objects.ships.BattleShip;
|
||||||
import objects.GameObject;
|
import objects.GameObject;
|
||||||
|
import objects.ships.Submarine;
|
||||||
import objects.ships.Turret;
|
import objects.ships.Turret;
|
||||||
import objects.world.Grid;
|
import objects.world.Grid;
|
||||||
|
import objects.world.Wall;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
@ -44,6 +46,9 @@ public class Master extends JPanel {
|
||||||
}
|
}
|
||||||
objects.add(bs);
|
objects.add(bs);
|
||||||
objects.add(battleShip);
|
objects.add(battleShip);
|
||||||
|
|
||||||
|
objects.add(new Submarine(new Vector2D(), new Vector2D(20, 20)));
|
||||||
|
objects.add(new Wall(20, 80, 50, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
5
src/main/java/core/physics/Hitbox.java
Normal file
5
src/main/java/core/physics/Hitbox.java
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
package core.physics;
|
||||||
|
|
||||||
|
public abstract class Hitbox {
|
||||||
|
|
||||||
|
}
|
||||||
4
src/main/java/core/physics/RectHitBox.java
Normal file
4
src/main/java/core/physics/RectHitBox.java
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
package core.physics;
|
||||||
|
|
||||||
|
public class RectHitBox extends Hitbox{
|
||||||
|
}
|
||||||
|
|
@ -32,6 +32,10 @@ public abstract class GameObject {
|
||||||
public abstract void draw(Graphics2D g2d, int w, Master master);
|
public abstract void draw(Graphics2D g2d, int w, Master master);
|
||||||
public abstract void update(Master master);
|
public abstract void update(Master master);
|
||||||
|
|
||||||
|
public void moveTo(Vector2D target){
|
||||||
|
this.position = target;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public double getMapCoords(double value, boolean isX){
|
public double getMapCoords(double value, boolean isX){
|
||||||
if (isX){
|
if (isX){
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,26 @@
|
||||||
package objects.ships;
|
package objects.ships;
|
||||||
|
|
||||||
import core.Master;
|
import core.Master;
|
||||||
|
import core.Vector2D;
|
||||||
import objects.GameObject;
|
import objects.GameObject;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
public class Submarine extends GameObject {
|
public class Submarine extends GameObject {
|
||||||
|
|
||||||
|
public Submarine(Vector2D position, Vector2D size) {
|
||||||
|
super(position, size);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(Graphics2D g2d, int w, Master master) {
|
public void draw(Graphics2D g2d, int w, Master master) {
|
||||||
|
g2d.setPaint(Color.BLUE);
|
||||||
|
g2d.fillOval((int) (position.x - size.x / 2), (int) (position.y - size.y / 2), (int) size.x, (int) size.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(Master master) {
|
public void update(Master master) {
|
||||||
|
Point mouse = master.getMouseLocation();
|
||||||
|
moveTo(new Vector2D(mouse.x, mouse.y));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
28
src/main/java/objects/world/Wall.java
Normal file
28
src/main/java/objects/world/Wall.java
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
package objects.world;
|
||||||
|
|
||||||
|
import core.Master;
|
||||||
|
import objects.GameObject;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
public class Wall extends GameObject {
|
||||||
|
|
||||||
|
public Wall(double x, double y, double xSize, double ySize) {
|
||||||
|
super(x, y, xSize, ySize);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void draw(Graphics2D g2d, int w, Master master) {
|
||||||
|
int xAbs = (int) getWorldCoords(position.x, true);
|
||||||
|
int yAbs = (int) getWorldCoords(position.y, false);
|
||||||
|
int sizeXAbs = (int) getWorldCoords(size.x, true);
|
||||||
|
int sizeYAbs = (int) getWorldCoords(size.y, false);
|
||||||
|
|
||||||
|
g2d.setPaint(Color.BLACK);
|
||||||
|
g2d.fillRect(xAbs, yAbs, sizeXAbs, sizeYAbs);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(Master master) {
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue