Skip to content
Snippets Groups Projects
Commit 5a5cd438 authored by Louis MALTERRE's avatar Louis MALTERRE
Browse files

j'ai rendu les choses un peu plus belles et claires pour l'evolution du...

j'ai rendu les choses un peu plus belles et claires pour l'evolution du personnage dans le jeu (evolution de ses coordonnees)
LM
parent 29815132
Branches
No related tags found
No related merge requests found
...@@ -35,7 +35,7 @@ public class Character extends Entity{ ...@@ -35,7 +35,7 @@ public class Character extends Entity{
} }
@Override @Override
public void deplacements(){ // alpha indique si il est au sol ou non, il vaut 0 ou 1 en fonction public void deplacements(){ // alpha indique si il est au sol ou non, il vaut 0 ou 1 en fonction
getGameCommand();
double delta = Math.pow(10, -3); // pas de temps remis en secondes double delta = Math.pow(10, -3); // pas de temps remis en secondes
//on actualise les positions //on actualise les positions
...@@ -57,7 +57,7 @@ public class Character extends Entity{ ...@@ -57,7 +57,7 @@ public class Character extends Entity{
else vitesseActuZ = vitesseActuZ + 7*((1-alpha)*Physique.g - tableCommande.get("CommandZ"))*delta; else vitesseActuZ = vitesseActuZ + 7*((1-alpha)*Physique.g - tableCommande.get("CommandZ"))*delta;
//System.out.println("vitesse z: "+vitesseActuZ); //System.out.println("vitesse z: "+vitesseActuZ);
resetCommand();
} }
@Override @Override
public void attaque(){ public void attaque(){
...@@ -66,35 +66,34 @@ public class Character extends Entity{ ...@@ -66,35 +66,34 @@ public class Character extends Entity{
public void getGameCommand(){ public void getGameCommand(){
Map<String,Boolean> commandeJeu = Jeu.getDirectionJeu(); Map<String,Boolean> commandeJeu = Jeu.getDirectionJeu();
if (commandeJeu.get("Right") && commandeJeu.get("Left")){} if (commandeJeu.get("Right") && commandeJeu.get("Left")){tableCommande.replace("CommandX", (double)0);}
else if (commandeJeu.get("Right")) tableCommande.replace("CommandX", vitesseMax); else if (commandeJeu.get("Right")) tableCommande.replace("CommandX", vitesseMax);
else if (commandeJeu.get("Left")) tableCommande.replace("CommandX", -vitesseMax); else if (commandeJeu.get("Left")) tableCommande.replace("CommandX", -vitesseMax);
if (commandeJeu.get("Jump")) {
if (this.getCoord().getZ() < Jeu.getCoordSol().getZ())alpha = 0;
else if (this.getVitesseActuZ() == 0){tableCommande.replace("CommandZ", impulsionSaut);/*A.add(charac.getCoord().getZ());n++;*/}
}
else {
tableCommande.replace("CommandZ", (double)0);
if (this.getCoord().getZ() < Jeu.getCoordSol().getZ()) { //a retoucher, j'ai besoin d'autres choses pour avancer
alpha = 0;
}
else{
alpha = 1;
}
if (commandeJeu.get("Jump")) {
if ((alpha == 1) && (this.getVitesseActuZ() == 0)){
tableCommande.replace("CommandZ", impulsionSaut);
}
} }
} }
void resetCommand(){ public void checkIfOnGround(){ // faut modifier la condition pour la gestion de colisions avec le sol
if (this.getCoord().getZ() < Jeu.getCoordSol().getZ())alpha = 0;
else alpha = 1;
}
public void resetCommand(){
for (String key : tableCommande.keySet()){ for (String key : tableCommande.keySet()){
tableCommande.replace(key, (double)0); tableCommande.replace(key, (double)0);
} }
} }
public void evolveCharacter(){ public void evolveCharacter(){
getGameCommand();
checkIfOnGround();
deplacements(); deplacements();
resetCommand();
} }
public double getVitesseMax() { public double getVitesseMax() {
......
...@@ -4,9 +4,9 @@ import java.io.BufferedReader; ...@@ -4,9 +4,9 @@ import java.io.BufferedReader;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import entity.Character; import entity.Character;
...@@ -66,16 +66,11 @@ public class Jeu implements Game{ ...@@ -66,16 +66,11 @@ public class Jeu implements Game{
directionJeu.put("Attack",false); directionJeu.put("Attack",false);
//on remplit la map des frames //on remplit la map des frames
Map<String,List<String>> tempMap = gameCharacterLoader.getPathTable(); Map<String,Integer> tempMap = gameCharacterLoader.getPathTable();
tempMap.put(movement,new ArrayList<String>()); tempMap.put(movement,2);
tempMap.get(movement).add("1");
tempMap.get(movement).add("2");
tempMap.put("Character_attack",new ArrayList<String>()); tempMap.put("Character_attack",3);
tempMap.get("Character_attack").add("1");
tempMap.get("Character_attack").add("2");
tempMap.get("Character_attack").add("3");
gameCharacterLoader.setPathTable(tempMap); gameCharacterLoader.setPathTable(tempMap);
...@@ -96,10 +91,10 @@ public class Jeu implements Game{ ...@@ -96,10 +91,10 @@ public class Jeu implements Game{
boolean Attack = command.get("Attack"); boolean Attack = command.get("Attack");
//perso evolue dans le jeu //perso evolue dans le jeu (en actualisant ses coordonnees)
gameCharacter.evolveCharacter(); gameCharacter.evolveCharacter();
//animation du perso dans le jeu (definir la bonne frame a tel instant) //animation du perso dans le jeu (definir la bonne frame a cet instant)
if (Attack) { if (Attack) {
movement = "Character_attack"; movement = "Character_attack";
characterAttacking = true; characterAttacking = true;
...@@ -121,14 +116,14 @@ public class Jeu implements Game{ ...@@ -121,14 +116,14 @@ public class Jeu implements Game{
//si on a change de mouvement, le jeu doit redemarrer a la premiere frame correspondante //si on a change de mouvement, le jeu doit redemarrer a la premiere frame correspondante
if (previousMovement != movement){numberOfMovement = 1;nbBeforeFramechgt = nbIterationPerFrame;} if (previousMovement != movement){numberOfMovement = 1;nbBeforeFramechgt = nbIterationPerFrame;}
if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement).size()){ if (numberOfMovement == gameCharacterLoader.getPathTable().get(movement)){
//characterNotMoving = true; //characterNotMoving = true;
if (movement == "Character_attack"){ if (movement == "Character_attack"){
characterAttacking = false; characterAttacking = false;
} }
} }
if ((nbIterationPerFrame-nbBeforeFramechgt) == nbIterationPerFrame) { // timer pour changer de frame if ((nbIterationPerFrame-nbBeforeFramechgt) == nbIterationPerFrame) { // timer pour changer de frame
numberOfMovement = numberOfMovement%gameCharacterLoader.getPathTable().get(movement).size() + 1; //a revoir numberOfMovement = numberOfMovement%gameCharacterLoader.getPathTable().get(movement) + 1; //a revoir
nbBeforeFramechgt = nbIterationPerFrame; nbBeforeFramechgt = nbIterationPerFrame;
} }
else nbBeforeFramechgt--; else nbBeforeFramechgt--;
......
...@@ -13,13 +13,13 @@ public class CharacterLoader { // classe qui cree le perso ...@@ -13,13 +13,13 @@ public class CharacterLoader { // classe qui cree le perso
private String skinPath; // chemin du skin a l'instant t du jeu private String skinPath; // chemin du skin a l'instant t du jeu
//private String nameImageOfSkin; // nom de l'image du skin (le truc fonctionne comme ca) //private String nameImageOfSkin; // nom de l'image du skin (le truc fonctionne comme ca)
private Image imageCharacter; private Image imageCharacter;
private Map<String,List<String>> pathTable; // objet utilise a revoir private Map<String,Integer> pathTable; // objet utilise a revoir
public CharacterLoader(String path,Character charac){ public CharacterLoader(String path,Character charac){
gameCharacter = charac; gameCharacter = charac;
skinPath = path; skinPath = path;
imageCharacter = new ImageIcon(path).getImage(); imageCharacter = new ImageIcon(path).getImage();
pathTable = new HashMap<String,List<String>>(); pathTable = new HashMap<String,Integer>();
} }
...@@ -44,11 +44,11 @@ public class CharacterLoader { // classe qui cree le perso ...@@ -44,11 +44,11 @@ public class CharacterLoader { // classe qui cree le perso
this.skinPath = skinPath; this.skinPath = skinPath;
} }
public Map<String, List<String>> getPathTable() { public Map<String, Integer> getPathTable() {
return pathTable; return pathTable;
} }
public void setPathTable(Map<String, List<String>> pathTable) { public void setPathTable(Map<String, Integer> pathTable) {
this.pathTable = pathTable; this.pathTable = pathTable;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment