mirror of
https://github.com/Klagarge/PokeHES.git
synced 2024-11-26 19:13:27 +00:00
switch screen
This commit is contained in:
parent
df732ad57f
commit
697c9e659f
@ -1,5 +1,6 @@
|
|||||||
package Entity;
|
package Entity;
|
||||||
|
|
||||||
|
import java.util.TreeMap;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
@ -13,9 +14,11 @@ import Screen.ScreenMap;
|
|||||||
public class Player extends Character{
|
public class Player extends Character{
|
||||||
|
|
||||||
private int xp;
|
private int xp;
|
||||||
|
public Enemy lastEnemy = null;
|
||||||
|
public boolean frontOfEnemy = false;
|
||||||
|
|
||||||
public Player(int x, int y, String map) {
|
public Player(int x, int y, String map) {
|
||||||
super("Player", x, y, "lumberjack_sheet32", map);
|
super("Player", x, y, "Character", map);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addXp(int xp){
|
public void addXp(int xp){
|
||||||
@ -54,6 +57,7 @@ public class Player extends Character{
|
|||||||
if (sm.isWalkable(nextCell)) {
|
if (sm.isWalkable(nextCell)) {
|
||||||
|
|
||||||
if (enemy(sm, nextPos)) {
|
if (enemy(sm, nextPos)) {
|
||||||
|
//turn(goalDirection);
|
||||||
System.out.println("It's a enemy !!");
|
System.out.println("It's a enemy !!");
|
||||||
} else {
|
} else {
|
||||||
setSpeed(sm.getSpeed(nextCell));
|
setSpeed(sm.getSpeed(nextCell));
|
||||||
@ -92,19 +96,15 @@ public class Player extends Character{
|
|||||||
int eX = (int) enemy.position.x/sm.tileWidth;
|
int eX = (int) enemy.position.x/sm.tileWidth;
|
||||||
int eY = (int) enemy.position.y/sm.tileHeight;
|
int eY = (int) enemy.position.y/sm.tileHeight;
|
||||||
//System.out.println("Player: " + pX + " x " + pY + " - Enemy: " + eX + " x " + eY);
|
//System.out.println("Player: " + pX + " x " + pY + " - Enemy: " + eX + " x " + eY);
|
||||||
if(bMap && pX==eX && pY==eY) return true;
|
if(bMap && pX==eX && pY==eY) {
|
||||||
|
lastEnemy = enemy;
|
||||||
|
frontOfEnemy = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void move(int x, int y){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void move(Vector2 vMove){
|
|
||||||
move((int)vMove.x, (int)vMove.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void removedPv(int pv) {
|
protected void removedPv(int pv) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
@ -2,12 +2,14 @@ package Main;
|
|||||||
|
|
||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import com.badlogic.gdx.Input;
|
import com.badlogic.gdx.Input;
|
||||||
|
|
||||||
import Control.Controller;
|
import Control.Controller;
|
||||||
import Entity.Enemy;
|
import Entity.Enemy;
|
||||||
import Entity.Entity;
|
import Entity.Entity;
|
||||||
|
import Screen.ScreenMap;
|
||||||
import Screen.ScreenPlayer;
|
import Screen.ScreenPlayer;
|
||||||
import ch.hevs.gdx2d.desktop.PortableApplication;
|
import ch.hevs.gdx2d.desktop.PortableApplication;
|
||||||
import ch.hevs.gdx2d.lib.GdxGraphics;
|
import ch.hevs.gdx2d.lib.GdxGraphics;
|
||||||
@ -42,13 +44,9 @@ public class PokeMudry extends PortableApplication {
|
|||||||
enemies.add(new Enemy("Mudry", 10, 15, "lumberjack_sheet32", "desert"));
|
enemies.add(new Enemy("Mudry", 10, 15, "lumberjack_sheet32", "desert"));
|
||||||
enemies.add(new Enemy("Pignat", 5, 1, "lumberjack_sheet32", "test"));
|
enemies.add(new Enemy("Pignat", 5, 1, "lumberjack_sheet32", "test"));
|
||||||
|
|
||||||
for (Enemy enemy : enemies) {
|
for (Enemy enemy : enemies) { entities.add(enemy); }
|
||||||
entities.add(enemy);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Entity entity : entities) {
|
for (Entity entity : entities) { entity.init(); }
|
||||||
entity.init();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -56,9 +54,19 @@ public class PokeMudry extends PortableApplication {
|
|||||||
g.clear();
|
g.clear();
|
||||||
sp.p.manageEntity(sp.sm, controller);
|
sp.p.manageEntity(sp.sm, controller);
|
||||||
sp.render(g);
|
sp.render(g);
|
||||||
|
System.out.println(sp.screenManager.getActiveScreen().getClass());
|
||||||
|
//System.out.println(ScreenMap.class);
|
||||||
for (Entity entity : entities) {
|
for (Entity entity : entities) {
|
||||||
if (entity.getMap().equals(sp.sm.map)) entity.graphicRender(g);
|
|
||||||
|
if (entity.getMap().equals(sp.sm.map) && sp.screenManager.getActiveScreen().getClass().equals(ScreenMap.class))
|
||||||
|
entity.graphicRender(g);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sp.p.frontOfEnemy && sp.screenManager.getActiveScreen().getClass().equals(ScreenMap.class)){
|
||||||
|
sp.e = sp.p.lastEnemy;
|
||||||
|
System.out.println("switch screen");
|
||||||
|
sp.screenManager.activateNextScreen();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,15 +4,14 @@ import ch.hevs.gdx2d.lib.ScreenManager;
|
|||||||
|
|
||||||
public class ManagerOfScreen extends ScreenManager{
|
public class ManagerOfScreen extends ScreenManager{
|
||||||
ManagerOfScreen(){
|
ManagerOfScreen(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ScreenMap getScreenMap(){
|
public ScreenMap getScreenMap(){
|
||||||
this.activateScreen(0);
|
this.activateScreen(0);
|
||||||
return (ScreenMap)this.getActiveScreen();
|
return (ScreenMap)this.getActiveScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
ScreenBattle getScreenBattle(){
|
public ScreenBattle getScreenBattle(){
|
||||||
this.activateScreen(1);
|
this.activateScreen(1);
|
||||||
return (ScreenBattle)this.getActiveScreen();
|
return (ScreenBattle)this.getActiveScreen();
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ public class ScreenBattle extends RenderingScreen{
|
|||||||
private static int EDGE = 10;
|
private static int EDGE = 10;
|
||||||
private static int HEIGHT_DIALOG = Settings.SIDE / 3;
|
private static int HEIGHT_DIALOG = Settings.SIDE / 3;
|
||||||
private static int WIDTH_DIALOG = Settings.SIDE - 2*EDGE;
|
private static int WIDTH_DIALOG = Settings.SIDE - 2*EDGE;
|
||||||
|
private Enemy e;
|
||||||
|
|
||||||
private boolean attackOn;
|
private boolean attackOn;
|
||||||
private int numAttack =0;
|
private int numAttack =0;
|
||||||
@ -60,6 +61,10 @@ public class ScreenBattle extends RenderingScreen{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setEnemy(Enemy e) {
|
||||||
|
this.e = e;
|
||||||
|
}
|
||||||
|
|
||||||
public void displayEnemy(Enemy e){
|
public void displayEnemy(Enemy e){
|
||||||
// stock his speech
|
// stock his speech
|
||||||
|
|
||||||
|
@ -79,8 +79,13 @@ public class ScreenMap extends RenderingScreen{
|
|||||||
|
|
||||||
|
|
||||||
// Render the tileMap
|
// Render the tileMap
|
||||||
g.zoom(zoom);
|
try {
|
||||||
g.moveCamera(player.getPosition().x, player.getPosition().y, width * tileWidth, height * tileHeight);
|
g.zoom(zoom);
|
||||||
|
g.moveCamera(player.getPosition().x, player.getPosition().y, width * tileWidth, height * tileHeight);
|
||||||
|
} catch (Exception e) {
|
||||||
|
//TODO: handle exception
|
||||||
|
}
|
||||||
|
|
||||||
tMapRenderer.get(map).setView(g.getCamera());
|
tMapRenderer.get(map).setView(g.getCamera());
|
||||||
tMapRenderer.get(map).render();
|
tMapRenderer.get(map).render();
|
||||||
|
|
||||||
|
@ -1,21 +1,26 @@
|
|||||||
package Screen;
|
package Screen;
|
||||||
|
|
||||||
|
import Entity.Enemy;
|
||||||
import Entity.Player;
|
import Entity.Player;
|
||||||
import ch.hevs.gdx2d.lib.GdxGraphics;
|
import ch.hevs.gdx2d.lib.GdxGraphics;
|
||||||
|
|
||||||
public class ScreenPlayer {
|
public class ScreenPlayer {
|
||||||
public ManagerOfScreen screenManager = new ManagerOfScreen();
|
public ManagerOfScreen screenManager = new ManagerOfScreen();
|
||||||
public Player p;
|
public Player p;
|
||||||
|
public Enemy e;
|
||||||
public ScreenMap sm;
|
public ScreenMap sm;
|
||||||
|
public ScreenBattle sb;
|
||||||
|
|
||||||
public void init(){
|
public void init(){
|
||||||
p = new Player(8, 15, "desert");
|
p = new Player(8, 15, "desert");
|
||||||
screenManager.registerScreen(ScreenMap.class);
|
screenManager.registerScreen(ScreenMap.class);
|
||||||
screenManager.registerScreen(ScreenBattle.class);
|
screenManager.registerScreen(ScreenBattle.class);
|
||||||
|
sb = screenManager.getScreenBattle();
|
||||||
sm = screenManager.getScreenMap();
|
sm = screenManager.getScreenMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void render(GdxGraphics g){
|
public void render(GdxGraphics g){
|
||||||
|
sb.setEnemy(e);
|
||||||
sm.setPlayer(p);
|
sm.setPlayer(p);
|
||||||
screenManager.render(g);
|
screenManager.render(g);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user