conf/pers
This commit is contained in:
parent
04c28b9e0f
commit
5c6c55826f
84
docs/grammaire.txt
Normal file
84
docs/grammaire.txt
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
Version modifiable:
|
||||||
|
|
||||||
|
|
||||||
|
Alphabet {ε , arène[1 à n], perso[1 à n], perso[1 à n] (bot), joueur 1, joueur 2, bot,
|
||||||
|
j1, j2, ordi, a, b, x, y, l1, r1, haut, bas, droite, gauche, egalite, vrai, faux, n, s,
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JEU -> PARTIE | QUITTER
|
||||||
|
QUITTER -> ε
|
||||||
|
PARTIE -> ARENE PERSO JOUEUR, PERSO JOUEUR, ROUND1 | QUITTER
|
||||||
|
ARENE -> arene1 | arene2 | ... | arene n
|
||||||
|
PERSO -> perso1 | perso2| ....| perso n | BOT
|
||||||
|
BOT -> perso1 (bot) | perso2 (bot) | ....| perso n (bot)
|
||||||
|
ROUND1 -> ROUND, VAINQUEUR ,ROUND2
|
||||||
|
ROUND2 -> ROUND, VAINQUEUR ,ROUND3 | ROUND, VAINQUEUR, JOUEUR, QUITTER
|
||||||
|
ROUND3 -> ROUND,VAINQUEUR, JOUEUR, QUITTER
|
||||||
|
ROUND -> JOUEUR ACTION JOUEUR ACTION
|
||||||
|
ACTION -> ATTAQUE | DEPLACEMENT | DEFENSE | FIN DE TIMER | GAGNE | (+ cas ou le joueur ne bouge pas)
|
||||||
|
ATTAQUE -> n,NORMAL | s,SPECIAL
|
||||||
|
SPECIAL -> a SUCCES ACTION | b SUCCES ACTION | x SUCCES ACTION | y SUCCES ACTION | (+combinaison de touche)SUCCES ACTION
|
||||||
|
NORAML -> a SUCCES ACTION | b SUCCES ACTION | x SUCCES ACTION | y SUCCES ACTION | (+combinaison de touche)SUCCES ACTION
|
||||||
|
SUCCES -> vrai | faux
|
||||||
|
DEPLACEMENT -> haut ACTION | bas ACTION | droite ACTION | gauche ACTION |(+combinaison de touche)ACTION
|
||||||
|
DEFENSE -> l1 ACTION | r1 ACTION
|
||||||
|
FIN DE TIMER -> egalite
|
||||||
|
GAGNE -> vrai | faux
|
||||||
|
VAINQUEUR -> joueur 1 | joueur 2 | bot | egalite
|
||||||
|
JOUEUR -> j1 | j2 | ordi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extension a inserer de dans la grammaire
|
||||||
|
|
||||||
|
action (+ cas ou le joueur ne bouge pas)
|
||||||
|
|
||||||
|
attaque/deplacement (combinaison de touche)ACTION
|
||||||
|
|
||||||
|
est ce que toute les commandes ne devriat pas être directement dans action?
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ex: arène2 Perso3 j1 Perso1 j2 (liste des actions1) joueur2 (liste des actions2)joueur1 (liste des actions3)joueur1 j1 ε
|
||||||
|
|
||||||
|
"lsite des actions" correspond a action durant un ROUND (expliqué plus bas)
|
||||||
|
|
||||||
|
signifie que dans la partie, l'arène 2 a été selectionné, le joueur 1 a pris le personnage 3 le joueur 2 le personnage 1,
|
||||||
|
les joueurs ont effectué une liste d'action qui ont fait que le joueur2 gagne la première manche, les joueurs ont effectué une
|
||||||
|
liste d'action qui ont fait que le joueur1 la seconde, les joueurs ont effectué une
|
||||||
|
liste d'action qui ont fait que le joueur 1 la troisième, le joueur 1
|
||||||
|
gagne donc la partie, la partie prends fin
|
||||||
|
|
||||||
|
ex:
|
||||||
|
liste de actions1: j1 gauche n a vrai s b faux n x vrai s l1 vrai droite....faux faux j2 droite n b vrai n b vrai s a faux ....true true
|
||||||
|
|
||||||
|
le joueur 1 a d'abord effectué (dans l'ordre) un deplacement à "gauche", puis une attaque "n" normal correspondant a la touche "a"
|
||||||
|
qui a aboutit "vrai", puis il a lancé une attaque spécial "s" en appuyant sur "b" mais elle n'a pas aboutit.... il n'a pas
|
||||||
|
gagné ce round, ("faux" avant le j2), le joueur 2 a appuyé (dans l'ordre) sur les touches "droite", "b", "b", "a".... et a remporté ce round.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ex2: arène1 Perso1 j1 Perso1(bot) ordi (liste des actions1) egalite (liste des actions2) bot (liste des actions3) bot ordi ε
|
||||||
|
|
||||||
|
signifie que, l'arène 1 a été selectionné, le joueur1 a pris le perso1 , il a joué contre un ordi qui a pris le joueur1,
|
||||||
|
le premier round n'a pas donné de vaiqueur (a cause du timer), le bot gagne le second round, le bot gagne le troisième
|
||||||
|
round, l'ordi gagne donc la partie, la partie prends fin
|
||||||
|
|
||||||
|
ex:
|
||||||
|
liste de actions1: j1 gauche n a faux s b faux n x faux l1 s y vrai.... egalite ordi droite n b vrai n b vrai s a faux.... egalite
|
||||||
|
|
||||||
|
signifie que le joueur 1 a appuyé (dans l'ordre) sur les touches "gauche", "a", "b", "x", "l1",... le timer a été
|
||||||
|
écoulé il y a une égalité, le bot a appuyé (dans l'ordre) sur les touches "droite", "b", "b", "a"....le timer a été
|
||||||
|
écoulé il y a une égalité
|
||||||
|
|
27
docs/syntaxe.txt
Normal file
27
docs/syntaxe.txt
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
(interface graphique)
|
||||||
|
|
||||||
|
Launcher -> fct Start qui permet de lancer le menu afin de configurer la partie, elle ne prends aucun paramêtre
|
||||||
|
|
||||||
|
Menu -> fct Selection qui permet de choisir une arene et un joueur
|
||||||
|
|
||||||
|
|
||||||
|
(moteur du jeu)
|
||||||
|
|
||||||
|
Engine -> fct game qui lance le moteur du jeu avec les configuration correspondant a "Config" (ex:arène et skin perso)
|
||||||
|
|
||||||
|
(gameplay)
|
||||||
|
|
||||||
|
->fct _ qui lance la boucle du jeu (cf gameplay_loop2.drawio)
|
||||||
|
|
||||||
|
|
||||||
|
element moteur du jeu (https://docs.google.com/document/d/1eCxAiBJTWdCK0AfzmLIlXzun_GEAG0jeMs8qg8kWJqs/edit)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Config -> toute les config selectionné dans le menu (arene, nb_joueur, perso)
|
||||||
|
Config est un tableau (d'entier?)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
165
src/configuration/Config.java
Normal file
165
src/configuration/Config.java
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
package configuration;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class Config {
|
||||||
|
|
||||||
|
// tester a la main (okay normalement mais ajouter des test)
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int[] tempfortest = { 0, 2, 1, 1 }; // {arene/nb_joueur/perso1/perso2} 0=alatoire
|
||||||
|
config(tempfortest);
|
||||||
|
}
|
||||||
|
|
||||||
|
// les variable a configurer
|
||||||
|
// sel1 pour savoir si on a deja selectionner le joueur 1
|
||||||
|
|
||||||
|
public static String arene, perso1, perso2;
|
||||||
|
public static int nb_joueur;
|
||||||
|
private static boolean sel1 = false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fonction config qui prend en entre un tableau d'entier chaque case
|
||||||
|
* correspondant a une variable, et ne retourne rien mais modifie la valeur des
|
||||||
|
* variables par des fonctions annexes
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static void config(int[] tab) {
|
||||||
|
int i = 0;
|
||||||
|
while (i < tab.length) {
|
||||||
|
|
||||||
|
switch (i) {
|
||||||
|
case 0:
|
||||||
|
SelArene(tab[i]);
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
NbJoueur(tab[i]);
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
SelPerso(tab[i]);
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
SelPerso(tab[i]);
|
||||||
|
i++;
|
||||||
|
break;
|
||||||
|
/*
|
||||||
|
* case 4: ?
|
||||||
|
*/
|
||||||
|
|
||||||
|
default:
|
||||||
|
System.out.println("ERROR OUT OF BOUNDS CONFIG ARRAY");
|
||||||
|
i = tab.length;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(arene + " " + nb_joueur + " " + perso1 + " " + perso2 + " " + sel1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fonction SelArene prend un entier en parametre et permet de choisir l'arene
|
||||||
|
* du jeu
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static void SelArene(int s) {
|
||||||
|
switch (s) {
|
||||||
|
case 0:
|
||||||
|
SelArene(random(1, 2));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
arene = "arene1.png";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
arene = "arene2.png";
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
System.out.println("ERROR ARENE INEXISTANTE");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fonction NbJoueur prend un entier en parametre et permet de determiner si un
|
||||||
|
* bot sera necessaire
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static void NbJoueur(int s) {
|
||||||
|
switch (s) {
|
||||||
|
case 1:
|
||||||
|
nb_joueur = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
nb_joueur = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("ERROR NUMBER OF PLAYER");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* fonction SelArene prend un entier en parametre et permet de choisir le
|
||||||
|
* personnage en fonction du joueur
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static void SelPerso(int s) {
|
||||||
|
if (sel1 == false) {
|
||||||
|
switch (s) {
|
||||||
|
case 0:
|
||||||
|
SelPerso(random(1, 2));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
perso1 = "perso1.png";
|
||||||
|
sel1 = true;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
perso1 = "perso2.png";
|
||||||
|
sel1 = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("ERROR PERSO INEXISTANT");
|
||||||
|
}
|
||||||
|
} else if (sel1 == true) {
|
||||||
|
|
||||||
|
switch (s) {
|
||||||
|
case 0:
|
||||||
|
SelPerso(random(1, 2));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
perso2 = "perso1.png";
|
||||||
|
sel1 = false;
|
||||||
|
if (perso1 == perso2) {
|
||||||
|
perso2 = "perso1_swapcolor.png";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
perso2 = "perso2.png";
|
||||||
|
sel1 = false;
|
||||||
|
if (perso1 == perso2) {
|
||||||
|
perso2 = "perso2_swapcolor.png";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("ERROR PERSO INEXISTANT");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println("ERROR SELECTION PLAYER");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// fonction nombre aleatoire entre deux borne
|
||||||
|
private static int random(int min, int max) {
|
||||||
|
Random random = new Random();
|
||||||
|
int value = random.nextInt(max - 1 + min) + min;
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
BIN
textures/perso1_sprite(to update).png
Normal file
BIN
textures/perso1_sprite(to update).png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 MiB |
Loading…
x
Reference in New Issue
Block a user