2017-02-20 5 views
-2

Mon but est de faire un jeu de serpent.Plateau de jeu Snake C++

Donc je dois d'abord faire le tableau, et j'ai fait un tableau pour cela. Il a deux dimensions, x et y. Mais après ça, je ne sais même pas quoi faire. Je peux gérer le mouvement. Je ne comprends pas comment initialiser un tableau, aidez-moi. J'utilise Code: blocks. Je n'utilise que l'application console.

le code est ici:

#include <iostream> 
#include <ctime> 
#include <string> 
#include <math.h> 
#include <cstdlib> 

using namespace std; 

int main() 
{ 
int board[50][50]; 
srand (time(NULL)); 
int foodX = rand() % 50 + 0; 
int foodY = = rand() % 50 + 0; 

for (int i; i < 50; i++) 
{ 
    //i don't know well multi-dimension arrays 
} 

} 
+1

Veuillez fournir un exemple de code pour mettre en évidence vos progrès. –

+0

Qu'est-ce que vous ne comprenez pas spécifiquement? Pouvez-vous le démontrer avec un code que vous avez essayé s'il vous plaît? –

+0

Désolé je ne sais pas comment ajouter du code dans les commentaires, donc j'ai édité le poste –

Répondre

0

Le noyau du jeu de serpent est de déterminer comment positionner le serpent. Il n'y a pas vraiment besoin d'un conseil.

Vous pouvez représenter la carte en utilisant les valeurs horizontales et verticales maximales. Si le serpent frappe une frontière, le jeu est terminé. Une question fréquemment posée à propos du jeu Snake est de savoir comment positionner ou dessiner le serpent sur l'écran. Vous aurez besoin d'une bibliothèque spécifique à la plate-forme pour le faire, comme NCurses. Vous pouvez utiliser un tableau 2d d'espaces et imprimer le tableau après chaque mouvement.

Si vous allez utiliser une "carte", je recommande fortement d'ajouter une colonne supplémentaire. Laissez la colonne supplémentaire contenir un caractère de fin de ligne. Cela permettra une impression plus facile du tableau (surtout si la dernière cellule est un caractère nul).

+0

Merci à tout le monde, cela a fonctionné. –

0

Pour initialiser la carte, utilisez d'abord des noms significatifs. Et ne définissez les constantes que dans un seul endroit:

#define HEIGHT 50 
#define WIDTH 50 
int board[HEIGHT][WIDTH]; 
...  
for (int row; row < HEIGHT; row++) 
{ 
    for (int col; col < WIDTH; col++) 
    { 
     board[row][col] = 0; 
    } 
} 
+0

Merci, je vais essayer dès que possible. Je pense que je vais utiliser un tableau avec des personnages pour voir où sont les limites du jeu. –