Bonjour je suis nouveau ici.
Je viens de me lancer dans la programmation j'ai quelques bases en C++(vraiment quelques) et je maitrise + ou - Basic (plutot - m'enfin).
Alors j'ai une question comment creer un tableau style démineur et après pouvoir faire référence à chaque case ?
merci d'avance j'utilise DEV C++
si tu veux afficher des beaux carrés les uns à côté des autres, il va te falloir utiliser une bibliothèque graphique, car il n'existe pas en c++ standart de méthode de dessin.
Bah moi j'avais vu une source d'un morpion ou plusieur s cases étaient utilisées :
Le truc (m'enfin c'était un peu lourd) c'etait de créer plusieur hWnd en child d'une principale et de récupérer le message d'un clic dans le procésus en fonction de la fenêtre et puis ensuite exécuter une fonction.
Voila voila ;-)
EDIT : Euh je me suis pas renseigner mais tu demander bien sous l'API windows ? parceque sous console il te faudra une biblio ou alors tu fais ca à la old school : parties asm dans le C++ à coup de push lol ;-) mais alors la tu vas souffrir
Je te fais pas de copier du processus parceque il fait 5 ou 6 pages mais bon le principe est simple c'est toujours en fonction de MSG msg que tu execute des fonction ...
Euh je viens de penser à un truc là ... Tu pourrais aussi faire avec un bitblt et afficher un dessin que tu aurais fait d'un tableau de cases avec une impression de profondeur pour chaque cases
Mais le je bloque un peu pour le dynamisme ... Je connais pas vraiment de fonction qui définit une zone dans une fenètre sans se référencer à quoi que ce soit... (quoique ça doit exister en cherchant un peu)
Sinon j'ai une dernière alternative ... si le dynamisme et que tu demandes une action après un clic sur une de ces cases tu peux aussi aligner des boutons les uns à côté des autres avec sur eux un dessins d'une case en profondeur ... mais je reste un peu septique sur le résultat obtenu ... :-D
****Attention ce qui va suivre risque d'être stupide****
On peut pas faire une matrice [10] [10] et mettre des boutons sur chaque case avec un effet de profondeur.
Après on peut faire référence à chaque case avec les coordonnées non ?
Bah si c'est une bonne idée pour après manipuler les cases cocher ou pas ... en plus comme ça ta une représentation dans l'espace des cases cochées enfin je veux dire que ca sera plus facile de désigner des boutons cochés et alignés de cette façon
Tu peux aussi créer une seule fenetre et traiter avec une fonction de callback le message WM_LBUTTONDOWN.
tu récupère les coordonées de la souris avec GET_X_LPARAM(lParam) et GET_Y_LPARAM(lParam)
et tu calcules sur quelle case tu te trouves.
côté donnée tu peux créer ton tableau indiquant les mines ou créer une liste de mines qui contient sa position dans le tableau.
Petite astuce pour le démineur: ajoute une clonne en début et en fin, une ligne en haut et une en bas (tout à 0). Comme ça ton calcul du nombre de mines autour d'une case est le même partout (pas de cas particulier sur les bords
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.