https://williamphk.github.io/useless-web/
Ce code JavaScript fait partie d'un simple jeu de serpents où le serpent se déplace à travers l'écran, mangeant de la nourriture et poussant en longueur. Le code définit le comportement du serpent, gère les entrées des touches fléchées et affiche l'état du jeu à l'écran.
gameBoard
, score1
, score2
est sélectionné à l'aide de leurs Dom ID respectifs. Les dimensions du plateau de jeu sont calculées en fonction de la taille de l'écran, divisées en cellules 30px. Une grille est créée en faisant une boucle à travers les dimensions, avec chaque cellule représentée par une entrée à cocher. Le plateau de jeu est ensuite rempli de lignes et de cellules.
La direction
, length
, starting position
, speed
et les autres variables nécessaires du serpent sont définies. Une cartographie des instructions vers les indices et les opérations du tableau est également créée pour un mouvement de serpent facile. Vérification de la position de départ du serpent:
La position de départ du serpent est vérifiée sur le plateau de jeu.
checkRandomCellAsFood
Fonction place la nourriture à des endroits aléatoires sur le plateau de jeu, garantissant que la nourriture ne apparaît pas sur le serpent lui-même.
Le bouton «Démarrer» initie le jeu. La fonction updatePosition
met à jour la position visuelle du serpent et gère la logique lorsque le serpent mange de la nourriture ou rencontre diverses autres conditions de jeu. Mouvement des serpents et changement de couleur:
Le mouvement du serpent est contrôlé par les clés de flèche. Une couleur aléatoire est générée à l'aide de la fonction getRandomColor
à des fins de style.
Si le serpent sort des limites ou se heurte à lui-même, le jeu se termine. La fonction gameOver
est appelée pour gérer le jeu sur des scénarios.
La fonction uncheckAll
déchaîne toutes les cellules, éliminant la carte. La fonction printGameOverWithCheckbox
imprime "Game Over" sur le plateau de jeu à l'aide de cases cochées.
Aucune bibliothèque ou dépendance externe n'est requise pour ce code. Il fonctionne uniquement sur JavaScript de vanille.