Compilateur transformant un programme écrit en .B314 dans un formalisme de bas niveau, exécutable par le moteur de jeu.
Produire un compilateur fonctionnele réaliste, implémenté en JAVA, traduisant n'importe quelle programme .B314 syntaxiquement valide étant soit :
- Un fichier décrivant les mondes et ses composantes, où il s'agit de modéliser les éléments constituant le monde, le plateau de jeu ainsi que ses différents constituants, mais aussi les personnages y evoluant.
/∗ Comments are be tween delimiters ∗/
declare and retain
/∗ Global declarations ∗/
i as integer;
j as integer;
arena as square[27,27];
by default do
set i to 1
set j to 1
done
while i < 17 do
while j < 17 do
set arena [ i , j ] to vines
set j to j + 1
done
set i to i + 1
done
while j < 18 do
set arena[0,j] to rock
set arena[17,j] to rock
set j to j+1
done
by default do
set arena[1,1] to player
set arena[12,10] to ennemi
set arena[8,12] to zombie
set arena[5,5] to zombie
set arena[2,7] to rock
set arena[3,7] to rock
set arena[4,7] to dirt
set arena[3,6] to rock
set arena[6,7] to fruits
set arena[10,10] to map
set arena[2,16] to radio
set arena[16,4] to soda
set arena[26,26] to graal
done
- Un fichier décrivant la stratégie de jeu d'un personnage, produit le code machine permettant l'éxécution de cette stratégie à chaque tours de jeu.
/∗ Comments are between delimiters ∗/
declare and retain
/* Global variables */
x as integer;
b as boolean;
f as function ( ) : boolean
do
set t to true
/∗ other instructions here ∗/
return t;
done
when your turn
when x > 5 and life < 2 do
next use soda
done
by default do /*Default */
set x to x + 1
next move west
done
Utilisation de Google Java Style pour la propriété du code (noms de variable significatifs, conventions de nommage cohérentes, ...).
- méthodes: 80%
- lignes: 70%
- conditions: 60%