bonjour
Je dois créer un morpion de taille nxn (taille choisie par l'utilisateur) en ADA.
Le problème c'est que je ne sais pas comment m'y prendre.. Du coup si je pourrai avoir quelques indications ça serait assez cool merci d'avance !
bonjour
Je dois créer un morpion de taille nxn (taille choisie par l'utilisateur) en ADA.
Le problème c'est que je ne sais pas comment m'y prendre.. Du coup si je pourrai avoir quelques indications ça serait assez cool merci d'avance !
Là-dessus, on est assez intraitable normalement.
Le plus simple est que tu poses par écrit ton algorithme et que tu poses des questions d'implémentation.
Ada est d'ailleurs fait pour traduire de façon assez aisée un algorithme que l'on a élaboré.
Poses-toi les questions suivantes:
- Quels types vais-je utiliser ? Le N, à savoir la dimension du jeu, est de quel type ? Comment vais-je représenter les cases ?
- Comment va fonctionner mon jeu, étape par étape ?
- Dois-je utiliser des entrées-sorties (IO) ? Si oui, quels paquetages utiliser ?
Une fois que tu sais répondre à toutes ces questions et que tu as décrit à la main ton programme, on pourra te répondre sur les problèmes d'implémentation que tu rencontres.
Pour l'instant, ça sera, hélas, tout, au moins de ma part.
Bonjour,
Si N est connu avec l'implémentation :
Si N n'est pas connu... C'est le même principe que plus haut d'abord sauf que l'on utilise un pointeur sur un tableau (tout ça pour gagner de l'espace et du temps, soit avant la compilation mais en perdre éventuellement après, soit après la compilation mais ça contraint à programmer correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 -- declaration des types... -- un commentaire commençant par deux signe moins ou trait d'union. type matrice_type is array (positive range <>, positive range <>) of quaternaire_logical ; -- un tableau 2 dimension à taille inconnue. type tablier(Taille : positive) is record matrice_carree : matrice_type(1..Taille, 1..Taille) ; end record; -- un type article (type étiqueté) paramétré par une valeur qui sera constante) contenant un tableau sans taille ; contraint par la valeur de l'unique paramètre ici. -- déclaration de la variable tablier (c'est la piece qui permet de conduire le jeu des piece en jeu (ou plateau). Morpion_Tablier : tablier(N) ; -- After begin -- on affecte une case du tableau : Morpion_Tablier.matrice_carree(K, L) := ? (une parmis le quaternaire : un vide, une crois, un cercle, plus un pour la valeur non valide du choix entre crois et cercle).
Le principe du pointeur ou de ce que l'on appelle avec Ada un type acces ; Ce qui n'est pas tout à fait la même dénomination.
-- déclaration des type du tablier
type matrice_carrée .... le même...
-- .../...
-- le type acces
type matrice_access is access tablier
-- la déclaration de l'acces au type matrice_carree :
Morpion_Tablier : matrice_access; -- pas besoin d'initialiser ; -- à moins de le faire explicitement avec une valeur arbitraire mais si nous en somme là... etc !
-- après le begin : il faut donc saisir N.
-- une fois N saisi, on peu affecter Tablier :
Morpion_Tablier := new tablier(N) ;
--------------------------------------------------------------------
une autre technique est de pratiquer l'indentation car la solution est d'enchainner les clause "declare .../begin" pour saisir N puis déclarer les type permettant de manipuler les pieces mises en jeu (sur le tablier donc).
En vous souhaitant bonne analyse et bonne computation.
(edit correction du texte pour la clareté, et surtout éventuellement pour une intelligibilité sémentiquement correcte)
Édit 2 : même cause initiale et terminale
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager