mirror of
				https://github.com/Klagarge/PokeHES.git
				synced 2025-10-29 11:01:07 +00:00 
			
		
		
		
	Merge pull request #37 from Klagarge/battlescreen-display
Battlescreen-display
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								Data/img/Mudry.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Data/img/Mudry.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 59 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Data/img/Player.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Data/img/Player.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 31 KiB | 
							
								
								
									
										
											BIN
										
									
								
								Data/img/enemy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Data/img/enemy.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 59 KiB | 
| @@ -29,6 +29,7 @@ public abstract class Character extends Entity{ | ||||
|     int nFrames = 4; | ||||
|     final float FRAME_TIME = 0.1f; // Duration of each frime | ||||
|     private String img; | ||||
|     private String imgBattle; | ||||
|  | ||||
|     protected int pv; | ||||
|  | ||||
| @@ -43,6 +44,8 @@ public abstract class Character extends Entity{ | ||||
|     public Character(String name, int x, int y, String img, String map){ | ||||
|         super(name, x, y, map); | ||||
|         this.img = img; | ||||
|  | ||||
|         imgBattle = "./Data/img/" + name + ".png"; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -163,4 +166,8 @@ public abstract class Character extends Entity{ | ||||
|     } | ||||
|  | ||||
|     abstract protected void removedPv(int pv); | ||||
|  | ||||
|     public String getImgBattle(){ | ||||
|         return imgBattle; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -9,8 +9,7 @@ public class Enemy extends Character{ | ||||
|     private String branch; | ||||
|     public int recoveredTime = Settings.RECOVERED; | ||||
|  | ||||
|  | ||||
|  | ||||
|     private int pvInit; | ||||
|  | ||||
|     public Enemy(String name, int x, int y, String img, String map, int pv, String branch, Character.Direction dir) { | ||||
|  | ||||
| @@ -24,6 +23,9 @@ public class Enemy extends Character{ | ||||
|         this.branch = branch; | ||||
|  | ||||
|         this.pv = pv; | ||||
|  | ||||
|         pvInit = pv; | ||||
|          | ||||
|     } | ||||
|  | ||||
|     public void setPosition(int x, int y, String map){ | ||||
| @@ -50,5 +52,10 @@ public class Enemy extends Character{ | ||||
|         //the pv can go under 0, but his real pv is 0 (for the player) | ||||
|         return (pv<0) ? 0 : pv; | ||||
|     } | ||||
|  | ||||
|     public int getPvInit(){ | ||||
|         return pvInit; | ||||
|     } | ||||
|  | ||||
|      | ||||
| } | ||||
|   | ||||
| @@ -16,6 +16,7 @@ public class Player extends Character{ | ||||
|     private int xp = 0; | ||||
| 	public Enemy lastEnemy = null; | ||||
| 	public boolean onEnemy = false; | ||||
| 	private static final int XP_MAX = 6000; | ||||
|  | ||||
|     public Player(int x, int y, String map) { | ||||
|         super("Player", x, y, "Character_flipped", map); | ||||
| @@ -122,4 +123,8 @@ public class Player extends Character{ | ||||
|         // TODO Auto-generated method stub | ||||
|          | ||||
|     } | ||||
|  | ||||
| 	public int getXpMax(){ | ||||
| 		return XP_MAX; | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -1,11 +1,14 @@ | ||||
| package Game; | ||||
|  | ||||
| import Entity.Enemy; | ||||
| import Entity.Player; | ||||
| import Text.TextEnemy; | ||||
|  | ||||
| public class Battle { | ||||
|  | ||||
|     private Enemy e; | ||||
|     public Enemy e; | ||||
|     public Player player; | ||||
|      | ||||
|     public TextEnemy textEnemy; | ||||
|     private int lineSpeech; | ||||
|  | ||||
| @@ -141,4 +144,7 @@ public class Battle { | ||||
|     public void setEnemy(Enemy e){ | ||||
|         this.e = e; | ||||
|     } | ||||
|     public void setPlayer(Player p){ | ||||
|         this.player = p; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -77,6 +77,8 @@ public class PokeMudry extends PortableApplication { | ||||
| 		 | ||||
|         if(onMapScreen) sp.p.manageEntity(sp.sm, controller); | ||||
|          | ||||
|  | ||||
|  | ||||
|         // Switch screen | ||||
|         if (sp.p.onEnemy && onMapScreen){ | ||||
|             sp.e = sp.p.lastEnemy; | ||||
| @@ -84,9 +86,12 @@ public class PokeMudry extends PortableApplication { | ||||
|             int pv = sp.e.getPv(); | ||||
|             boolean recovered = sp.e.recoveredTime>=Settings.RECOVERED; | ||||
|  | ||||
|  | ||||
|             if (pv>0 && recovered) { | ||||
|                 sp.sb = sp.screenManager.getScreenBattle();             | ||||
|  | ||||
|                 sp.b = new Battle(sp.e); | ||||
|                 sp.sb = sp.screenManager.getScreenBattle(); | ||||
|                  | ||||
|                 //set pv and xp to display | ||||
|                 sp.b.setXpPlayer(sp.p.getXp()); | ||||
|   | ||||
| @@ -14,6 +14,7 @@ import Entity.Player; | ||||
| import Game.Battle; | ||||
| import Main.PokeMudry; | ||||
| import Main.Settings; | ||||
| import ch.hevs.gdx2d.components.bitmaps.BitmapImage; | ||||
| import ch.hevs.gdx2d.components.screen_management.RenderingScreen; | ||||
| import ch.hevs.gdx2d.lib.GdxGraphics; | ||||
|  | ||||
| @@ -23,14 +24,20 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 	private static int HEIGHT_DIALOG = Settings.SIDE / 3; | ||||
| 	private static int WIDTH_DIALOG = Settings.SIDE - 2*EDGE; | ||||
|  | ||||
| 	private BitmapFont optimus40; | ||||
| 	private BitmapFont unbuntuRegularBlack; | ||||
| 	private BitmapFont unbuntuRegularWhite; | ||||
| 	private BitmapImage enemyImg; | ||||
| 	private BitmapImage playerImg; | ||||
|  | ||||
| 	private Battle b = null; | ||||
|  | ||||
| 	private Enemy enemy; | ||||
|  | ||||
|     @Override | ||||
| 	public void onInit() { | ||||
|         //display the question | ||||
| 		generateFont("./Data/font/Ubuntu-Regular.ttf", 30, Color.BLACK); | ||||
| 		unbuntuRegularBlack = generateFont("./Data/font/Ubuntu-Regular.ttf", 30, Color.BLACK); | ||||
| 		unbuntuRegularWhite = generateFont("./Data/font/Ubuntu-Regular.ttf", 45, Color.WHITE); | ||||
| 	} | ||||
|  | ||||
|  | ||||
| @@ -38,11 +45,19 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 	public void onGraphicRender(GdxGraphics g) { | ||||
| 		g.clear(Color.BLACK); | ||||
| 		displayDialog(g); | ||||
| 		displayEnemy(g); | ||||
| 		displayPlayer(g); | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public void dispose() { | ||||
| 		optimus40.dispose(); | ||||
| 		unbuntuRegularBlack.dispose(); | ||||
| 		unbuntuRegularWhite.dispose(); | ||||
| 	} | ||||
|  | ||||
| 	public void setImg(){ | ||||
| 		enemyImg = new BitmapImage(b.e.getImgBattle()); //width : 192, height : 240 | ||||
| 		playerImg = new BitmapImage(b.player.getImgBattle()); | ||||
| 	} | ||||
|  | ||||
| 	 | ||||
| @@ -50,16 +65,17 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 		this.b = battle; | ||||
| 	} | ||||
|  | ||||
| 	public void generateFont(String file, int height, Color c ){ | ||||
|  | ||||
| 	public BitmapFont generateFont(String file, int height, Color c ){ | ||||
| 		//Generate font with the file .ttf | ||||
| 		BitmapFont font; | ||||
| 		FileHandle fileHandle = Gdx.files.internal(file); | ||||
| 		FreeTypeFontParameter parameter = new FreeTypeFontParameter(); | ||||
|         FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fileHandle); | ||||
| 		parameter.size = generator.scaleForPixelHeight(height); | ||||
| 		parameter.color = c; | ||||
| 		optimus40 = generator.generateFont(parameter); | ||||
| 		font = generator.generateFont(parameter); | ||||
| 		generator.dispose(); | ||||
| 		return font; | ||||
|  | ||||
| 	} | ||||
|  | ||||
| @@ -70,16 +86,26 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 		//dialog | ||||
| 		if(b == null) return; | ||||
| 		if(b.getLine() == null) return; | ||||
| 		g.drawString(15, 260 ,b.getLine() , optimus40); | ||||
| 		g.drawString(15, 260 ,b.getLine() , unbuntuRegularBlack); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	public void displayEnemy(Enemy e){ | ||||
| 		// TODO affficher l'enemi | ||||
| 	 | ||||
| 	public void displayEnemy(GdxGraphics g){ | ||||
| 		//draw image | ||||
| 		g.drawPicture(Settings.SIDE - (192/2), Settings.SIDE-240/2, enemyImg); | ||||
| 		//draw pv | ||||
| 		g.drawString(350, Settings.SIDE - 15 , "PV : " + b.pvEnemy + " / " + b.e.getPvInit(), unbuntuRegularWhite); | ||||
|  | ||||
|  | ||||
|   	} | ||||
|  | ||||
| 	public void displayPlayer(Player p){ | ||||
| 		//TODO afficher le joueur                  | ||||
| 	public void displayPlayer(GdxGraphics g){ | ||||
| 		//draw image | ||||
|  | ||||
| 		g.drawPicture((192/2), HEIGHT_DIALOG + 10 + 240/2, playerImg); | ||||
| 		//draw pv | ||||
| 		g.drawString(255, HEIGHT_DIALOG + 100 , "XP : " + b.xpPlayer + " / " + b.player.getXpMax() + "\nPV : " + b.player.getPv() + " / " + Settings.TIME*60, unbuntuRegularWhite);               | ||||
| 	} | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,8 @@ public class ScreenPlayer { | ||||
|         //p = new Player(8, 15, "desert"); | ||||
|         p = new Player(4, 2, "21RI"); | ||||
|  | ||||
|         b = new Battle(new Enemy("enemy", 0, 0, "lumberjack_sheet32", "desert", 50, "enemy",Direction.NULL)); | ||||
|         e = new Enemy("enemy", 0, 0, "lumberjack_sheet32", "desert", 50, "enemy",Direction.NULL); | ||||
|         b = new Battle(e); | ||||
|  | ||||
|         // Create both type of screen and record for reuse | ||||
|         screenManager.registerScreen(ScreenMap.class); | ||||
| @@ -38,6 +39,8 @@ public class ScreenPlayer { | ||||
|         if(sb != null){ | ||||
|             sb.setBattle(b); | ||||
|             b.setEnemy(e); | ||||
|             b.setPlayer(p); | ||||
|             sb.setImg(); | ||||
|         } | ||||
|          | ||||
|         screenManager.render(g); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user