85 lines
3.6 KiB
Plaintext
85 lines
3.6 KiB
Plaintext
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é
|
|
|