Manuel

But :

Les programmes s'exécutent dans une mémoire constituée de 2^n cases (ici 1024).
Chaque case contient une instruction. Les programmes sont installés (compilés) aléatoirement sur une zone de la mémoire, puis chaque programme exécute successivement ses instructions jusqu'à ce qu'un seul programme survive. Il est dans ce cas déclaré vainqueur.


Mort :

Un processus meure quand celui-ci exécute l'instruction interdite DAT ou division par 0, ou qu'il soit tué par une instruction KILL.


Vie :

Un programme équivaut à un joueur et est crédité d'un processus au départ. Les sous-programmes (processus) en résultant appartient au même joueur.
Ainsi un joueur est déclaré perdant lorsque tous les processus qui lui appartiennent sont morts.



Présentation

L'interface est composée de 1 tableau de cases (la mémoire), de 5 boutons et d'un champ de saisie.
1) Les cases sont différentiées par des couleurs qui indiquent le type d'instruction qu'elles contiennent :


gris : DAT (lors de l'initialisation)
noir : DAT (lors du jeu)
rouge : MOV
bleu clair : ADD, SUB, MUL,DIV,MOD,MIN
blanc : JMP, JMG, JMZ
bleu : DJZ, RND, CMP
violet : FORK, KILL
vert : Position courante d'un processus
jaune : Le restr

2) Les boutons permettent la gestion du jeu :


Compile : permet la compilation du programme contenu dans le champs de saisie.
Reset : permet la réinitialisation du jeu, soit la raz de la mémoire.
Start : permet le lancement des programmes.
Suivant : cela permet lorsque le programme est à l'arrêt d'exécuter le jeu, instruction par instruction.
Stop : cela permet de mettre le jeu en pause (pour l'utilisation du bouton Suivant).

3) Le champ de saisie a 2 utilisations :
1/ Avant le début du jeu, il sert a saisir les programmes qui vont s'affrontés.
2/ En cours de jeu, il affiche l'état de tous les processus (numéro, position, appartenance, état).



Utilisation de l'interface

1er) Mise en mémoire des guerriers :
1/ On saisie le programme dans le champ de saisie ou on le sélectionne dans la liste d'exemples.
2/ On click sur le bouton compile qui vérifie le programme et l'implante dans la mémoire de manière aléatoire en cas de succès.
3/ On répète l'opération pour tous les programmes qui doivent s'affronter

Il faut au minimums deux programmes: sinon il n'y a pas de combat bien entendu.
Et pas plus que la mémoire ne peut en contenir évidemment.

2ème) Une fois tous les programmes chargés il ne reste qu'à lancer le jeu en appuyant sur Start ou en sur Suivant si l'on souhaite joué en mode pas à pas.



Déroulement du jeu

Sur la mémoire, on voit le déroulement du jeu grâce aux mouvements des couleurs de chaque case. De plus nous pouvons bien suivre l'évolution des processus car ceux-ci sont représentés par une case verte. Nous pouvons de plus observer dans le champ de saisie l'état des divers processus au cours du jeu.
Il est également possible de sélectionner une case de la mémoire pour en voir son contenu ainsi que les cases alentours.
Lorsqu'un joueur est mort, (ie: que tous les processus associés à ce joueur sont morts), une boite de dialogue indique sa défaite. Lorsqu'il ne reste plus qu'un joueur en course un message indique le vainqueur et la partie est fini.