1
0
mirror of https://github.com/Klagarge/PokeHES.git synced 2025-06-27 04:32:31 +00:00

Merge branch 'master' into more-entities

This commit is contained in:
Rémi Heredero
2022-06-08 20:19:41 +02:00
committed by GitHub
28 changed files with 246 additions and 18 deletions

View File

@ -1,14 +1,23 @@
package Entity;
import Text.FightData;
import com.badlogic.gdx.math.Vector2;
import ch.hevs.gdx2d.lib.GdxGraphics;
public class Enemy extends Character{
public FightData fightData;
public Enemy(String name, int x, int y, String img) {
super(name, x, y, img);
turn(Character.Direction.DOWN);
//generate the vector of fight
fightData = new FightData(name);
//TODO Auto-generated constructor stub
}
public void setPosition(int x, int y){

View File

@ -1,26 +1,44 @@
import Screen.ScreenPlayer;
import ch.hevs.gdx2d.desktop.PortableApplication;
import ch.hevs.gdx2d.lib.GdxGraphics;
public class PokeMudry extends PortableApplication{
public class PokeMudry extends PortableApplication {
public final boolean ANDROID = false;
public final int PLAYERS = 1;
public static final int TIME = 10; // number of minutes for kill all enemy
/*
private ScreenPlayer screenPlayer = new ScreenPlayer();
public static void main(String[] args) {
new PokeMudry();
}
*/
PokeMudry(){
super(1000, 800);
}
@Override
public void onInit() {
// TODO Auto-generated method stub
screenPlayer.init();
}
@Override
public void onGraphicRender(GdxGraphics g) {
// TODO Auto-generated method stub
screenPlayer.render(g);
}
//key gestion
@Override
public void onKeyDown(int keycode) {
screenPlayer.screenManager.getActiveScreen().onKeyDown(keycode);
super.onKeyDown(keycode);
}
@Override
public void onKeyUp(int keycode) {
screenPlayer.screenManager.getActiveScreen().onKeyUp(keycode);
super.onKeyUp(keycode);
}
}

View File

@ -1,5 +1,51 @@
package Screen;
public class ScreenBattle {
import ch.hevs.gdx2d.components.screen_management.RenderingScreen;
import ch.hevs.gdx2d.lib.GdxGraphics;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
public class ScreenBattle extends RenderingScreen{
private BitmapFont optimus40;
@Override
public void onInit() {
//display the question
generateFont("resources//font//OptimusPrinceps.ttf", optimus40, 100, Color.WHITE);
}
@Override
public void onGraphicRender(GdxGraphics g) {
g.clear(Color.GREEN);
g.drawStringCentered(g.getScreenHeight()/2, "question", optimus40);
}
@Override
public void dispose() {
optimus40.dispose();
}
public void generateFont(String file, BitmapFont bitmapFont, int height, Color c ){
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);
generator.dispose();
}
}

View File

@ -17,9 +17,10 @@ import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
import com.badlogic.gdx.math.Vector2;
import Entity.Player;
import ch.hevs.gdx2d.components.screen_management.RenderingScreen;
import ch.hevs.gdx2d.lib.GdxGraphics;
public class ScreenMap {
public class ScreenMap extends RenderingScreen{
// tiles management
private Vector<TiledMapTileLayer> tiledLayer = new Vector<>();
@ -41,7 +42,8 @@ public class ScreenMap {
tMapRenderer.put(name,new OrthogonalTiledMapRenderer(tm));
}
public void init() {
@Override
public void onInit() {
// Set initial zoom
zoom = 1;
@ -51,7 +53,8 @@ public class ScreenMap {
createMap("desert");
}
public void graphicRender(GdxGraphics g, Player p) {
@Override
public void onGraphicRender(GdxGraphics g) {
tiledLayer.clear();
for (int i = 0; i < 50; i++) {
@ -69,7 +72,7 @@ public class ScreenMap {
// Camera follows the hero
g.zoom(zoom);
g.moveCamera(p.getPosition().x, p.getPosition().y, width * tileWidth, height * tileHeight);
//g.moveCamera(player.getPosition().x, player.getPosition().y, width * tileWidth, height * tileHeight);
// Render the tileMap
tMapRenderer.get(map).setView(g.getCamera());
@ -78,6 +81,7 @@ public class ScreenMap {
g.drawFPS();
}
public Vector<TiledMapTile> getTile(Vector2 position, int offsetX, int offsetY) {
Vector<TiledMapTile> tiles = new Vector<>();
for (TiledMapTileLayer tl : tiledLayer) {

View File

@ -1,17 +1,26 @@
package Screen;
import Entity.Player;
import ch.hevs.gdx2d.lib.GdxGraphics;
import ch.hevs.gdx2d.lib.ScreenManager;
public class ScreenPlayer {
private ScreenManager screenManager;
private ScreenMap screenMap;
private ScreenBattle screenBattle;
public ScreenManager screenManager = new ScreenManager();
private Player player;
public void init(){
player = new Player(8, 15);
screenManager.registerScreen(ScreenMap.class);
screenManager.registerScreen(ScreenBattle.class);
}
public void render(){
public void render(GdxGraphics g){
screenManager.render(g);
}
}

23
src/Text/Attack.java Normal file
View File

@ -0,0 +1,23 @@
package Text;
public class Attack {
String attack;
String answer1;
String answer2;
String answer3;
String answer4;
float xp;
Attack(String attack, String answer1,String answer2,String answer3, String answer4, float xp){
this.attack = attack;
this.answer1 = answer1;
this.answer2 = answer2;
this.answer3 = answer3;
this.answer4 = answer4;
this.xp = xp;
}
public String toString(){
return attack+ " " + answer1+ " " + answer2+ " " + answer3+ " " + answer4+ " " + xp;
}
}

64
src/Text/FightData.java Normal file
View File

@ -0,0 +1,64 @@
package Text;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.Vector;
public class FightData {
private Vector<Attack> attacks = new Vector<Attack>();
private File file;
private static final String REGEX = ",";
/*
public static void main(String[] args) {
FightData d = new FightData("enemi");
d.readFile();
for(Attack a : d.attacks){
System.out.println(a);
}
}
*/
public FightData(String name) {
file = new File("resources//fight//" + name + ".csv");
}
public void readFile() {
Attack attack;
String line = "";
try {
FileReader f = new FileReader(file);
BufferedReader bf = new BufferedReader(f);
line = bf.readLine();
while(line != null){
String[] a = line.split(REGEX);//change the regex if it is another
attack = new Attack(a[0], a[1], a[2], a[3], a[4], Float.valueOf(a[5]));
attacks.add(attack);
line = bf.readLine();
}
bf.close();
} catch (Exception e) {
e.printStackTrace();
}
}
//return the vector with all attaks of one enemi
public Vector<Attack> getAllAttacks(){
return attacks;
}
//return the vector with one attak
public Attack getAttacks(int a){
return attacks.get(a);
}
}

47
src/testYann.java Normal file
View File

@ -0,0 +1,47 @@
import Screen.ScreenBattle;
import ch.hevs.gdx2d.desktop.PortableApplication;
import ch.hevs.gdx2d.lib.GdxGraphics;
import ch.hevs.gdx2d.lib.ScreenManager;
public class testYann extends PortableApplication{
private ScreenManager s = new ScreenManager();
ScreenBattle b;
public static void main(String[] args) {
new testYann();
}
testYann(){
super(1000, 800);
}
@Override
public void onInit() {
b = new ScreenBattle();
s.registerScreen(b.getClass());
}
@Override
public void onGraphicRender(GdxGraphics g) {
s.render(g);
}
@Override
public void onKeyDown(int keycode) {
// TODO Auto-generated method stub
super.onKeyDown(keycode);
}
@Override
public void onKeyUp(int keycode) {
// TODO Auto-generated method stub
super.onKeyUp(keycode);
}
}