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:
@ -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){
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -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) {
|
||||
|
@ -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
23
src/Text/Attack.java
Normal 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
64
src/Text/FightData.java
Normal 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
47
src/testYann.java
Normal 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);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user