-
Jeu du Snake
Bonjour,
je suis débutante en informatique avec le langage C++ et le logiciel Visual Studio 2008. Dans le cadre de mes études j'ai un jeu du snake à réaliser en C++ avec interface graphique en utilisant les MFC.
J'ai à peu près compris comment organiser ma programmation, mais je me suis heurtée à un problème qui me bloque totalement le démarrage de mon projet.
En effet je dois afficher mon plateau de jeu dans la vue. Etant donné que je dois avoir plusieur niveau différent je veux afficher mon plateau de jeu en le comparant à un tableau statique 2D. Voici le code que j'ai commencé a taper et en fait je voudrais savoir comment faire pour afficher mon terrain de jeu avec la fonction CRectangle.
J'ai vraiment besoin qu'on m'explique où est le problème de l'affichage.
En gros je ne sais pas comment faire dessiner des rectangles en liens avec les i et j du tableau :oops:
Merci de votre aide.
-
Je ne vois pas trop le rapport avec les MFC. 8O
Faut juste faire varier les coordonnées données à FillSolidRect en fonction de i et j
Code:
pDC->FillSolidRect(x1+((x2-x1)*i),y1+((y2-y1)*j),x2+((x2-x1)*i),y2+((y2-y1)*j),(tableau1.m_Tab[i][j]==1)?RGB(255,0,0):RGB(0,0,255));
Comme je trouve le carré de départ un peu grand, moi je changerais x2 et y2 pour faire de plus petites casses.
-
Merci pour ta réponse,
Le rapport avec les MFC, c'est que je dois faire ce projet avec les MFC tout simplement.
Je viens de tester mon programme avec ton code mais ça ne me trace qu'une ligne droite de carré alors que je voudrais le contour du plateau en rouge et l’intérieur en noir. Peux tu m'aider à démarrer cette partie la.
Dans mon test je regarde si je trouve des 0 dans mon tableau je trace des carrés rouge sinon je trace des carrés noirs.
-
Désolé, le code n'a pas été testé et j'ai mal interprété les paramètres 3 et 4 de FillSolidRect (les MFC sont pas super cohérente sur ce domaine).
Après réflexion, le mieux, c'est de découpler l'affichage de la logique du jeu.
Affichez directement un rectangle avec CDC::Rectangle
http://msdn.microsoft.com/en-us/library/8w4fzfxf.aspx
Le bord et l'intérieur seront affichés en un coup.
La gestion du changement de taille de la fenêtre sera beaucoup plus simple.
-
Merci beaucoup pour ton aide Bacelar,
j'ai reussi à faire ce que je voulais grace à ton petit bout de code, j'ai seulement changé les paramètres 3 et 4 comme tu l'a dis et j'ai pu tracer mes rectangles !