feat: minor modifications
This commit is contained in:
parent
7817353e15
commit
a18d8cfaf7
16
README.md
16
README.md
|
@ -6,7 +6,7 @@
|
|||
A turn based game in which players kill each others using bows, arrows and GRAVITY !
|
||||
|
||||
## Built with
|
||||
* [openJDK 15](https://openjdk.java.net/projects/jdk/15/)
|
||||
* [openJDK 8](https://openjdk.java.net/projects/jdk/8/)
|
||||
* [libGDX](https://libgdx.com/)
|
||||
|
||||
## Usage
|
||||
|
@ -26,14 +26,16 @@ To export the game to a .jar file:
|
|||
The resulting .jar file should be in `desktop/build/libs/`
|
||||
|
||||
## TODO LIST
|
||||
* create BaseActor to concatenate code
|
||||
* player turn
|
||||
* kill player
|
||||
* generate random map (with parameters)
|
||||
* move freely camera
|
||||
* lerp camera arrow
|
||||
* menus test
|
||||
* faire des textures (+ background)
|
||||
* particules de flèche, quand un joueur meurt...
|
||||
* faire le gestionnaire de keybinds
|
||||
* faire des sons et musique
|
||||
* astéroïdes
|
||||
* bonus/gadgets
|
||||
* améliorer trajectoires arrows en simulant tout n'univers
|
||||
* rotating planets and moons (on themselves)
|
||||
* petites phrases vision
|
||||
|
||||
## Contributing
|
||||
Please use [conventionnal commits](https://www.conventionalcommits.org/).
|
||||
|
|
|
@ -146,7 +146,7 @@ public class Arrow extends EntityQuad {
|
|||
private void verifyHitting() {
|
||||
for (Actor actor : GameScreen.players.getChildren()) {
|
||||
Player player = (Player) actor;
|
||||
if (player == GameScreen.playerCurrent && TTL > 19.5) break;
|
||||
if (player == GameScreen.playerCurrent && TTL > 19.5) continue;
|
||||
if (Intersector.overlapConvexPolygons(player.hitbox, this.hitbox)) {
|
||||
landed = true;
|
||||
GameScreen.removePlayer(player);
|
||||
|
@ -158,10 +158,11 @@ public class Arrow extends EntityQuad {
|
|||
}
|
||||
}
|
||||
|
||||
private boolean hasHit() {
|
||||
private boolean hasHit() { // doesn't work
|
||||
for (Actor actor : GameScreen.players.getChildren()) {
|
||||
Player player = (Player) actor;
|
||||
if (TTL < 19 && Intersector.overlapConvexPolygons(player.hitbox, this.hitbox)) {
|
||||
if (player == GameScreen.playerCurrent) continue;
|
||||
if (player.hitbox.contains(this.getPosition())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -181,16 +182,16 @@ public class Arrow extends EntityQuad {
|
|||
Arrow dummyArrow = new Arrow(angle, power, shooter);
|
||||
for (int i = 0; i < iterations; i++) {
|
||||
dummyArrow.integrationVerlet(timeStep);
|
||||
if (dummyArrow.hasLanded() || dummyArrow.hasHit() ) { break; }
|
||||
path.add(dummyArrow.getX());
|
||||
path.add(dummyArrow.getY());
|
||||
if ( dummyArrow.hasLanded() || dummyArrow.hasHit() ) { break; }
|
||||
}
|
||||
|
||||
// TODO : optimize, lots of useless stuff + change name
|
||||
// or ignore and use adapters
|
||||
|
||||
final float[] arr = new float[path.size()]; // utiliser le count de la fonction, faire tab size iteration*2, et draw avec count
|
||||
int index = 0;
|
||||
int index = 0; // TODO: créer objet Trajectory, avec un float[iteration*2] et un actualSize;
|
||||
for (final Float value: path) {
|
||||
arr[index++] = value;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class Bow extends Actor {
|
|||
if (power > 50) shapes.setColor(Color.RED);
|
||||
shapes.line(this.anchor, GameScreen.worldCursor);
|
||||
if (aimAssist) {
|
||||
float[] traj = Arrow.traj(angle, power, GameScreen.playerCurrent, 400, 0.05f);
|
||||
float[] traj = Arrow.traj(angle, power, GameScreen.playerCurrent, 500, 0.03f);
|
||||
if (traj.length > 2) {
|
||||
shapes.polyline(traj);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package sagittarius.view;
|
||||
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input.Buttons;
|
||||
import com.badlogic.gdx.InputProcessor;
|
||||
import com.badlogic.gdx.Input.Keys;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.OrthographicCamera;
|
||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||
import com.badlogic.gdx.math.MathUtils;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.math.Vector3;
|
||||
import com.badlogic.gdx.scenes.scene2d.Group;
|
||||
|
@ -12,7 +14,7 @@ import com.badlogic.gdx.scenes.scene2d.Group;
|
|||
import sagittarius.SagittariusGame;
|
||||
import sagittarius.model.*;
|
||||
|
||||
public class GameScreen extends BaseScreen {
|
||||
public class GameScreen extends BaseScreen implements InputProcessor {
|
||||
|
||||
// ---------- ATTRIBUTEs ----------
|
||||
|
||||
|
@ -38,12 +40,15 @@ public class GameScreen extends BaseScreen {
|
|||
private final float ispeed = 1.0f - speed;
|
||||
private static Entity focus;
|
||||
|
||||
// test
|
||||
private OrthographicCamera gameCam;
|
||||
|
||||
// ---------- METHODs ----------
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
|
||||
Gdx.input.setInputProcessor(null); // on a pas de boutons
|
||||
Gdx.input.setInputProcessor(this);
|
||||
|
||||
// planets & moons
|
||||
attractors = new Group();
|
||||
|
@ -102,6 +107,7 @@ public class GameScreen extends BaseScreen {
|
|||
// camera stuff
|
||||
mainCameraPosition = mainStage.getCamera().position;
|
||||
focus = playerCurrent;
|
||||
gameCam = ((OrthographicCamera) mainStage.getCamera());
|
||||
|
||||
}
|
||||
|
||||
|
@ -116,16 +122,21 @@ public class GameScreen extends BaseScreen {
|
|||
SagittariusGame.setActiveScreen( new StartScreen() );
|
||||
}
|
||||
|
||||
// camera zoom using keys
|
||||
if (Gdx.input.isKeyPressed( Keys.DOWN)) {
|
||||
gameCam.zoom += dt;
|
||||
}
|
||||
if (Gdx.input.isKeyPressed( Keys.UP)) {
|
||||
gameCam.zoom -= dt;
|
||||
}
|
||||
|
||||
// clamp zoom
|
||||
gameCam.zoom = MathUtils.clamp(gameCam.zoom, 1f, 3f);
|
||||
|
||||
// camera follow focus
|
||||
mainCameraPosition.scl(ispeed);
|
||||
mainCameraPosition.add(new Vector3(focus.getPosition(), 0).scl(speed));
|
||||
|
||||
if (Gdx.input.isButtonPressed(Buttons.LEFT)) {
|
||||
((OrthographicCamera) mainStage.getCamera()).zoom = 2f;
|
||||
} else {
|
||||
((OrthographicCamera) mainStage.getCamera()).zoom = 1f;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -164,4 +175,55 @@ public class GameScreen extends BaseScreen {
|
|||
public static void setFocus(Entity entity) {
|
||||
focus = entity;
|
||||
}
|
||||
|
||||
// ---------- InputProcessor METHODs ----------
|
||||
|
||||
@Override
|
||||
public boolean keyDown(int keycode) {
|
||||
// TODO Auto-generated method stub
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyUp(int keycode) {
|
||||
// TODO Auto-generated method stub
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean keyTyped(char character) {
|
||||
// TODO Auto-generated method stub
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean touchDragged(int screenX, int screenY, int pointer) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean mouseMoved(int screenX, int screenY) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean scrolled(float amountX, float amountY) {
|
||||
gameCam.zoom += 2 * amountY * Gdx.graphics.getDeltaTime();
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue