mirror of
				https://github.com/Klagarge/PokeHES.git
				synced 2025-10-31 03:39:16 +00:00 
			
		
		
		
	Merge branch 'master' into add-FabLab
This commit is contained in:
		| @@ -22,7 +22,7 @@ public class PokeMudry extends PortableApplication { | ||||
|     private long beginTime; | ||||
|     private long lastMesure; | ||||
|  | ||||
|     public static boolean front_montant = false; | ||||
|     public static boolean risingFront = false; | ||||
|  | ||||
|  | ||||
|     public static void main(String[] args) { | ||||
| @@ -137,14 +137,14 @@ public class PokeMudry extends PortableApplication { | ||||
|     @Override | ||||
|     public void onKeyDown(int keycode) { | ||||
|         super.onKeyDown(keycode); | ||||
|         front_montant = true; | ||||
|         risingFront = true; | ||||
|         controller.keyStatus.put(keycode, true); | ||||
|         sp.screenManager.getActiveScreen().onKeyUp(keycode); | ||||
|     } | ||||
|     @Override | ||||
|     public void onKeyUp(int keycode) { | ||||
|         super.onKeyUp(keycode); | ||||
|         front_montant = false; | ||||
|         risingFront = false; | ||||
|         controller.keyStatus.put(keycode, false); | ||||
|         sp.screenManager.getActiveScreen().onKeyDown(keycode); | ||||
|     } | ||||
|   | ||||
| @@ -41,7 +41,9 @@ public class ScreenBattle extends RenderingScreen{ | ||||
|  | ||||
| 	@Override | ||||
| 	public void onGraphicRender(GdxGraphics g) { | ||||
| 		//color the background in black | ||||
| 		g.clear(Color.BLACK); | ||||
| 		//display the dialog, theenemy and the player | ||||
| 		displayDialog(g); | ||||
| 		displayEnemy(g); | ||||
| 		displayPlayer(g); | ||||
| @@ -53,16 +55,18 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 		ubuntuRegularWhite.dispose(); | ||||
| 	} | ||||
|  | ||||
| 	//set the images for the player and the enemy | ||||
| 	public void setImg(){ | ||||
| 		enemyImg = new BitmapImage(b.e.getImgBattle()); //width : 192, height : 240 | ||||
| 		playerImg = new BitmapImage(b.player.getImgBattle()); | ||||
| 		playerImg = new BitmapImage(b.player.getImgBattle()); //width : 192, height : 240 | ||||
| 	} | ||||
|  | ||||
| 	 | ||||
| 	//set the battle | ||||
| 	public void setBattle(Battle battle) { | ||||
| 		this.b = battle; | ||||
| 	} | ||||
|  | ||||
| 	//create a font with a file .ttf ,  a height and a color | ||||
| 	public BitmapFont generateFont(String file, int height, Color c ){ | ||||
| 		//Generate font with the file .ttf | ||||
| 		BitmapFont font; | ||||
| @@ -78,48 +82,40 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 	} | ||||
|  | ||||
| 	public void displayDialog(GdxGraphics g){ | ||||
| 		//dialog background | ||||
| 		//draw the background | ||||
| 		g.drawFilledRectangle(Settings.SIDE/2, HEIGHT_DIALOG/2 + EDGE, WIDTH_DIALOG, HEIGHT_DIALOG, 0); | ||||
|  | ||||
| 		//dialog | ||||
| 		//draw the dialog | ||||
| 		if(b == null) return; | ||||
| 		if(b.getLine() == null) return; | ||||
| 		g.drawString(15, 260, b.getLine(), ubuntuRegularBlack); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	 | ||||
| 	public void displayEnemy(GdxGraphics g){ | ||||
| 		//draw image | ||||
| 		g.drawPicture(Settings.SIDE - (192/2), Settings.SIDE-240/2, enemyImg); | ||||
| 		//draw pv | ||||
| 		g.drawString(300, Settings.SIDE - 15 , "PV : " + b.pvEnemy + " / " + b.e.getPvInit(), ubuntuRegularWhite); | ||||
|  | ||||
|  | ||||
|   	} | ||||
|  | ||||
| 	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, ubuntuRegularWhite);               | ||||
|  | ||||
| 	} | ||||
|  | ||||
|  | ||||
|  | ||||
| 	public void manage(Controller c, Battle battle){ | ||||
| 		if(PokeMudry.front_montant){ | ||||
|  | ||||
| 		//add a rising front to have one impulsion | ||||
| 		if(PokeMudry.risingFront){ | ||||
| 			//the enemi is attacking | ||||
| 			if( battle.getAttackOn() == false){ | ||||
| 				if (c.keyStatus.get(Input.Keys.SPACE)){ | ||||
| 					battle.action(-1); | ||||
| 				} | ||||
| 				if (c.keyStatus.get(Input.Keys.ENTER)){ | ||||
| 					battle.screenBattleOn = battle.screenBattleOn; | ||||
| 			} | ||||
| 			} | ||||
|  | ||||
| 			//the enemi is speaking | ||||
| 			if(battle.getAttackOn() == true){ | ||||
| 				if (c.keyStatus.get(Input.Keys.NUM_1)){ | ||||
| 					battle.action(1); | ||||
| @@ -132,17 +128,10 @@ public class ScreenBattle extends RenderingScreen{ | ||||
| 				} | ||||
| 				else if (c.keyStatus.get(Input.Keys.NUM_4)){ | ||||
| 					battle.action(4); | ||||
| 					 | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
| 			//mettre le front à false jusqu'à ce que le bouton soit relâché | ||||
| 			PokeMudry.front_montant = false; | ||||
| 			PokeMudry.risingFront = false; | ||||
| 		} | ||||
| 	 | ||||
|  | ||||
|  | ||||
| 	 | ||||
|  | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -17,16 +17,19 @@ public class ScreenEnd extends RenderingScreen{ | ||||
|     private String textEnd = null; | ||||
|     private BitmapFont unbuntuRegularWhite; | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public void onInit() { | ||||
|         //generate a new font | ||||
|         unbuntuRegularWhite = generateFont("./Data/font/Ubuntu-Regular.ttf", 30, Color.WHITE); | ||||
|          | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     protected void onGraphicRender(GdxGraphics g) { | ||||
|         //color the background in black | ||||
|         g.clear(Color.BLACK); | ||||
|  | ||||
|         //display the text | ||||
|         if(textEnd != null) g.drawStringCentered(Settings.SIDE/2, textEnd, unbuntuRegularWhite); | ||||
|          | ||||
|     } | ||||
| @@ -36,6 +39,7 @@ public class ScreenEnd extends RenderingScreen{ | ||||
| 		unbuntuRegularWhite.dispose(); | ||||
| 	} | ||||
|  | ||||
|     //set a different text if the player win or loose | ||||
|     public void setText(Player p){ | ||||
|         if(p.getXp() >= p.getXpMax()){ | ||||
|             textEnd = "Bravo, tu as réussi ton année avec " + p.getXp()/100.0 + " crédits en " + (Settings.TIME*60-p.getPv()) + " secondes.\n\nMais, seras-tu près pour le prochain...."; | ||||
| @@ -45,7 +49,7 @@ public class ScreenEnd extends RenderingScreen{ | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|     //create a font with a file .ttf ,  a height and a color | ||||
|     public BitmapFont generateFont(String file, int height, Color c ){ | ||||
| 		//Generate font with the file .ttf | ||||
| 		BitmapFont font; | ||||
|   | ||||
| @@ -30,10 +30,12 @@ public class Attack { | ||||
|         return attack+ "  " + answer1+ "  " + answer2+ "  " + answer3+ "  " + answer4+ "  " + xp; | ||||
|     } | ||||
|  | ||||
|     //return the answer with teh number i in the array s | ||||
|     public String getAnswer(int i){ | ||||
|         return s[i]; | ||||
|     } | ||||
|  | ||||
|     //return the true answer to verify the answer of the player | ||||
|     public String getTrueAnswer(){ | ||||
|         return answer1; | ||||
|     } | ||||
|   | ||||
| @@ -12,13 +12,10 @@ public class FightData { | ||||
|     private  File file; | ||||
|     private static String regex = ";"; | ||||
|  | ||||
|      | ||||
|  | ||||
|     public int nbr_line =0; | ||||
|     public int nbre_line =0; | ||||
|  | ||||
|     public FightData(String branch) { | ||||
|         file = new File("./Data/Battle/Fight/" + branch + ".csv"); | ||||
|          | ||||
|     } | ||||
|  | ||||
|     public void readFile() { | ||||
| @@ -54,7 +51,7 @@ public class FightData { | ||||
|         return attacks; | ||||
|     } | ||||
|  | ||||
|     //return the vector with one attak | ||||
|     //return the vector with one attack | ||||
|     public Attack getAttack(int a){ | ||||
|         return attacks.get(a); | ||||
|     } | ||||
|   | ||||
| @@ -4,6 +4,7 @@ public class Line { | ||||
|     public String line; | ||||
|     public boolean attackOn; | ||||
|  | ||||
|     //in the battle screen the line is played and attack on is used by the button | ||||
|     Line( String line, boolean attackOn){ | ||||
|         this.line = line; | ||||
|         this.attackOn = attackOn; | ||||
|   | ||||
| @@ -11,22 +11,21 @@ public class SpeechData { | ||||
|     Vector<String> speechs = new Vector<String>(); | ||||
|     File file; | ||||
|  | ||||
|  | ||||
|     public SpeechData(String name){ | ||||
|         file = new File("./Data/Battle/Speech/" + name + ".txt"); | ||||
|     } | ||||
|      | ||||
|     public void readFile() { | ||||
|         String line = ""; | ||||
|  | ||||
|         // try to read the file of the speech of the enemy | ||||
|         try { | ||||
|             FileReader f = new FileReader(file, StandardCharsets.UTF_8); | ||||
|             BufferedReader bf = new BufferedReader(f);  | ||||
|  | ||||
|             //read and add a new line in the vector speechs | ||||
|             line = bf.readLine();  | ||||
|             while(line != null){ | ||||
|                  | ||||
|                 speechs.add(line); | ||||
|  | ||||
|                 line = bf.readLine(); | ||||
|             } | ||||
|  | ||||
| @@ -37,6 +36,7 @@ public class SpeechData { | ||||
|         } | ||||
|          | ||||
|     } | ||||
|     //return the element i an teh vector speechs | ||||
|     public String getSpeechs(int i) { | ||||
|         return speechs.elementAt(i); | ||||
|     } | ||||
|   | ||||
| @@ -65,21 +65,21 @@ public class TextEnemy { | ||||
|     } | ||||
|  | ||||
|  | ||||
|     //generate the text who is displays in battle screen | ||||
|     public void generateText(){ | ||||
|         int i =1; | ||||
|          | ||||
|  | ||||
|         //introduction line | ||||
|         String introduction = formatLine(speechData.getSpeechs(0), CUT); | ||||
|         lines.add(new Line(introduction, false)); | ||||
|  | ||||
|  | ||||
|         orderAttack = randomGenerate(0, fightData.nbr_line-1, 4); | ||||
|  | ||||
|         for(int j=0; j<4;j++){ | ||||
|             int[] currentRandom = new int[5]; | ||||
|             currentRandom[0] = orderAttack[j]; | ||||
|  | ||||
|             //generate the order of the answer | ||||
|             //generate a random array to determin the order of the answer | ||||
|             orderAnswer = randomGenerate(0, 3, 4); | ||||
|  | ||||
|             //save the order of answer and attack | ||||
| @@ -97,13 +97,15 @@ public class TextEnemy { | ||||
|             //attack and answer (number on vector : 1-4)  | ||||
|             lines.add(new Line(attack + "\n" +answer1 + "\n" + answer2 + "\n" + answer3 + "\n" + answer4, true)); | ||||
|  | ||||
|              | ||||
|             //save the order of the answer | ||||
|             currentData.add(currentRandom); | ||||
|         } | ||||
|          | ||||
|         /*  | ||||
|         for(int[] a : currentData){ | ||||
|             System.out.println(Arrays.toString(a)); | ||||
|         } | ||||
|         */ | ||||
|  | ||||
|         //finish (win and death) | ||||
|         String dead = formatLine(speechData.getSpeechs(5),CUT); | ||||
| @@ -112,11 +114,12 @@ public class TextEnemy { | ||||
|         lines.add(new Line(alive, false)); | ||||
|     } | ||||
|  | ||||
|     //get the saved order of the attacks and answer | ||||
|     public Vector<int[]> getCurrentData() { | ||||
|         return currentData; | ||||
|     } | ||||
|  | ||||
|      | ||||
|     //format a String with a specific length of char | ||||
|     public String formatLine(String line, int cut){ | ||||
|  | ||||
|         String cutLine = ""; | ||||
| @@ -125,21 +128,21 @@ public class TextEnemy { | ||||
|         int startC = 0; | ||||
|         int stopC = cut; | ||||
|          | ||||
|         //check if the line is shorter than the character limit  | ||||
|         if(cut>line.length()-1){ | ||||
|             newLine  =line; | ||||
|         } | ||||
|         else{ | ||||
|              | ||||
|             //create a array with the line | ||||
|             char[] c = new char[line.length()]; | ||||
|  | ||||
|             for(int i=0; i<c.length;i++){ | ||||
|                 c[i] = line.charAt(i); | ||||
|             } | ||||
|  | ||||
|  | ||||
|  | ||||
|             while(true){ | ||||
|                 for(int i =stopC; i>=startC; i--){ | ||||
|  | ||||
|                     if(c[i] == ' '){ | ||||
|                         stopC = i; | ||||
|                         break; | ||||
| @@ -151,9 +154,11 @@ public class TextEnemy { | ||||
|  | ||||
|                 //découper le mot  | ||||
|                 for(int i=startC;i<=stopC;i++){ | ||||
|  | ||||
|                     cutLine += c[i]; | ||||
|                 } | ||||
|  | ||||
|                 //rebuild the line with the line breaks | ||||
|                 newLine +=  cutLine+"\n"; | ||||
|                 cutLine = ""; | ||||
|  | ||||
| @@ -161,6 +166,7 @@ public class TextEnemy { | ||||
|  | ||||
|                  | ||||
|                 if(c.length-1-stopC <=0){ | ||||
|  | ||||
|                     break; | ||||
|                 } | ||||
|                 else if(c.length-1-stopC <= cut){ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user