mirror of
				https://github.com/Klagarge/PokeHES.git
				synced 2025-10-30 19:29:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			127 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package Main;
 | |
| 
 | |
| import java.util.Vector;
 | |
| import com.badlogic.gdx.Input;
 | |
| 
 | |
| import Control.Controller;
 | |
| import Entity.Enemy;
 | |
| import Entity.Entity;
 | |
| import Game.Battle;
 | |
| import Screen.ScreenBattle;
 | |
| import Screen.ScreenMap;
 | |
| import Screen.ScreenPlayer;
 | |
| import ch.hevs.gdx2d.desktop.PortableApplication;
 | |
| import ch.hevs.gdx2d.lib.GdxGraphics;
 | |
| 
 | |
| public class PokeMudry extends PortableApplication {
 | |
| 
 | |
|     private ScreenPlayer sp;
 | |
|     private Controller controller;
 | |
|     private static Vector<Enemy> enemies = new Vector<>();
 | |
| 	private static Vector<Entity> entities = new Vector<>();
 | |
| 
 | |
|     public static boolean front_montant = false;
 | |
| 
 | |
| 
 | |
|     public static void main(String[] args) {
 | |
|         new PokeMudry();
 | |
|     }
 | |
| 
 | |
|     PokeMudry(){
 | |
|         super(Settings.SIDE, Settings.SIDE);
 | |
|         controller = new Controller();
 | |
|         sp = new ScreenPlayer();
 | |
|     }
 | |
| 
 | |
|     public static Vector<Enemy> getEnemies() {
 | |
| 		return enemies;
 | |
| 	}
 | |
| 
 | |
|     @Override
 | |
|     public void onInit() {
 | |
|         sp.init();
 | |
|         controller.init();
 | |
| 
 | |
|         // add player, create and add all enemies in entities
 | |
| 		entities.add((Entity) sp.p);
 | |
| 		enemies.add(new Enemy("Mudry", 10, 15, "lumberjack_sheet32", "desert", 25, "informatique"));
 | |
| 		//enemies.add(new Enemy("Pignat", 5, 1, "lumberjack_sheet32", "test", 150));
 | |
|         for (Enemy enemy : enemies) { entities.add(enemy); }
 | |
| 
 | |
| 		//Init all entities
 | |
|         for (Entity entity : entities) { entity.init(); }
 | |
|     }
 | |
| 
 | |
|     @Override
 | |
|     public void onGraphicRender(GdxGraphics g) {
 | |
|         g.clear();
 | |
|         boolean onMapScreen = sp.screenManager.getActiveScreen().getClass().equals(ScreenMap.class);
 | |
|         boolean onBattleScreen = sp.screenManager.getActiveScreen().getClass().equals(ScreenBattle.class);
 | |
| 		
 | |
|         if(onMapScreen) sp.p.manageEntity(sp.sm, controller);
 | |
|         
 | |
|         // Switch screen
 | |
|         if (sp.p.onEnemy && onMapScreen){
 | |
|             sp.e = sp.p.lastEnemy;
 | |
|             sp.sb = sp.screenManager.getScreenBattle();
 | |
|             if(sp.e == null) System.out.println("sdfsdfsdfsdf");
 | |
| 
 | |
|             sp.b = new Battle(sp.e);
 | |
| 
 | |
|             //set pv and xp to display
 | |
|             sp.b.setXpPlayer(sp.p.getXp());
 | |
| 
 | |
|             g.resetCamera();
 | |
|         }
 | |
|         
 | |
|         if(onBattleScreen) sp.sb.manage(controller, sp.b);
 | |
| 
 | |
| 
 | |
|         if(!sp.b.getScreenBattleOn() && onBattleScreen){
 | |
|             //addXp for the player
 | |
|             sp.p.addXp(sp.b.getNewXp());
 | |
|             //remove pv of the enemy 
 | |
|             sp.e.removedPv(sp.b.getNewXp());
 | |
| 
 | |
|             sp.p.onEnemy = false;
 | |
|             sp.sm = sp.screenManager.getScreenMap();
 | |
|         }
 | |
| 
 | |
|         // Graphics render
 | |
|         sp.render(g);
 | |
|         for (Entity entity : entities) {
 | |
|             // Render only entities on the good map
 | |
|             if (entity.getMap().equals(sp.sm.map) && onMapScreen)
 | |
|             entity.graphicRender(g);
 | |
| 		}
 | |
|     }
 | |
| 
 | |
| 
 | |
|     //key gestion
 | |
|     @Override
 | |
|     public void onKeyDown(int keycode) {
 | |
|         super.onKeyDown(keycode);
 | |
|         front_montant = true;
 | |
|         switch (keycode) {
 | |
|             case Input.Keys.Z:
 | |
|                 if (sp.sm.zoom == 1.0) {
 | |
|                     sp.sm.zoom = 0.5f;
 | |
|                 } else {
 | |
|                     sp.sm.zoom = 1;
 | |
|                 }
 | |
|                 return;
 | |
|             default:
 | |
|                 break;
 | |
|         }
 | |
|         controller.keyStatus.put(keycode, true);
 | |
|         sp.screenManager.getActiveScreen().onKeyUp(keycode);
 | |
|     }
 | |
|     @Override
 | |
|     public void onKeyUp(int keycode) {
 | |
|         super.onKeyUp(keycode);
 | |
|         front_montant = false;
 | |
|         controller.keyStatus.put(keycode, false);
 | |
|         sp.screenManager.getActiveScreen().onKeyDown(keycode);
 | |
|     }
 | |
| }
 |