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