Créer les Bases du Code
|
|
Avant de commencer à programmer la logique du jeu Simon®, il y a quelques bases que l'ont doit créer, tout comme dans n'importe quel autre projet. Commencons par ajouter les variables suivante au début du script: |
|
-- Set "constants" for Simon game |
|
Ces variables seront utilisées "comme si" elle étaient des constantes étant donné le fait que le concepte de constantes n'existe pas vraiment en Lua. Cela signifie que notre code ne modifira pas leurs contenue. Ensuite, allons ajouter de "réel" variables (leurs contenue ne sera pas modifier tout au long de la script) pour controler l'environnment du jeu: |
|
-- Game handling variables |
|
La variable GameState est un booléen qui contiendra false si le jeu est terminé. MainSequence est une table qui contiendra la séquence complète depuis le début d'une nouvelle partie. la variable SequenceCount is un entier qui contiendra le compte actuel de la longeur totale de la séquence. Finallement, UserSequenceCount est un entier qui contiendra la longeur de la séquence entrée par le joueur jusqu'à maintenant. Maintenant, nous allons ajouter 4 fonctions dans lesquelles nous ajouterons du code plus tard. Ces fonctions seront localisées dans la table simon qui sera créée par le moteur du jeu (simon.dll) quand la script sera intialisée à travers la fonction "Initializer": |
|
function simon:OnButtonClick(ButtonIndex) |
|
La fonction OnClick(ButtonIndex) sera appelée à chaque fois que le joueur cliquera sur un bouton dans le jeu. Cette fonction servira à valider le bouton dans la séquence courrante. Les fonctions simon:AddSequence(Sequence), simon:PlaySequence(Sequence) et simon:Initialize() sont des fonctions appelées à travers la script lors de différentes étapes durant le jeu. Une dernière chose est requise avant la fin de cette étape: créer la charpente. Pour se faire, une boucle principale sera ajoutée en fin de fichier comme suit: |
|
simon.Create() |
|
Cette boucle manipulera le jeu du début jusqu'à la fin. Un itération dans cette boucle sera exécuté plusieurs fois par seconde tandisqu'un tel travail de la par du processeur n'est aucunement nécessaire au jeu afin de fonctionner. C'est pourquoi le moteur du jeu (simon.dll) exporte une fonction appelée Sleep() qui signale au processeur de "dormir" pendant un certain laps de temps en milisecondes. En d'autre mots, en employant cette fonction nous nous assurerons que le jeu n'utilisera pas 100% des ressources du processeur alors que dans ce cas précis nous n'en avons guerre de besoin. Aussi, comme vous avez probablement déjà remarqué, cette partie de code inclue deux appels à des fonctions du moteur du jeu: simon.Create() et simon.Destroy(). la fonction simon.Create() crée l'interface du jeu Simon® afin d'interagir avec le joueur alors que la fonction simon.Destroy() détruit celle-ci. Dans la prochaine étape, ajouterons du code à l'intérieur des fonctions que nous venons d'instancier. |
|
Conseils:
|
|
|