Aujourd'hui, nous allons utiliser Canvas pour créer un petit jeu de devinettes de lettres. Jetons d'abord un coup d'œil aux rendus.
La conception du jeu est très simple. Le système sélectionnera au hasard l'une des 26 lettres de a à z et l'enregistrera. Lorsque vous entrez une lettre sur le clavier, le système vous demandera si le caractère est correct. est plus petit ou plus grand que la lettre que vous êtes en train de saisir. Le jeu ne se termine que lorsque vous saisissez la bonne lettre.
Ce qui suit présente certaines variables qui doivent être utilisées dans le code js et leurs significations. Le système initialisera ces variables au début.
devine : le nombre de fois où l'utilisateur a deviné des lettres ;
message : instructions pour aider les joueurs à jouer au jeu
lettres : un tableau qui enregistre 26 lettres anglaises
aujourd'hui : l'heure actuelle ;
letterToGuess : les lettres sélectionnées par le système sont les lettres que vous devez deviner ;
higherOrLower : demande à l'utilisateur si la lettre actuellement saisie est supérieure ou inférieure à la réponse ;
lettersGuessed : les lettres que l'utilisateur a ; déjà deviné ;
gameOver : si le jeu est terminé.
var devine = 0; 🎜>var message = "Devinez la lettre de a (inférieur) à z (supérieur)";
var letter = ["a", "b", "c", "d", "e", "f ", " g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
var aujourd'hui = new Date(); "";
var upperOrLower = "";
var letterGuessed;
var gameOver = false;
Ci-dessous, nous présentons l'événement qui répond à la fenêtre contextuelle du clavier pour déterminer si les lettres saisies par l'utilisateur sont la bonne réponse :
$(window). bind('keyup', eventKeyPressed);
function eventKeyPressed(e) {
//Déterminez d'abord si le jeu est terminé
if (!gameOver) {
//Obtenir la lettre d'entrée
var letterPressed = String.fromCharCode(e .keyCode);
//Faire le traitement des minuscules
letterPressed = letterPressed.toLowerCase(); de jeux par 1
devines
//Enregistrez les lettres saisies dans les lettres devinées Array
lettersGuessed.push(letterPressed); ils sont cohérents, le jeu est terminé
if (letterPressed == letterToGuess) {
gameOver = true
} else {
//Obtenir la position de la réponse dans le tableau des lettres
var letterIndex = letter.indexOf(letterToGuess);
//Obtenir la position de la lettre d'entrée dans le tableau de lettres
var GuessIndex = letterindexOf(letterPressed); 🎜>//Jugez la taille
if (guessIndex < 0) {
higherOrLower = "Ce n'est pas une lettre"
} else if (guessIndex > letterIndex) {
higherOrLower = " La lettre est inférieure à ce que vous avez entré";
} else {
higherOrLower = "La lettre est supérieure à ce que vous avez entré";
}
}
//Redessiner le canevas
drawScreen();
}
}
Une chose à noter ici est que lorsque nous devons modifier l'image dans le canevas Quand, l'objet canevas entier est généralement redessiné. Ainsi, chaque fois que nous devinons une lettre, drawScreen sera exécuté pour dessiner tous les objets sur toute la toile.
Jetons un coup d'œil à ce que fait drawScreen.
Copier le code