Démineur ADA
pedrodu38000
Messages postés
5
Statut
Membre
-
leboyz Messages postés 27 Statut Membre -
leboyz Messages postés 27 Statut Membre -
Bonjour, pour mon loisir je me suis tenté à concevoir un démineur en ADA puisque c'est le langage que j'ai appris lors de mon 1er semestre en IUT Informatique.
Le problème est que je bloque sur la fonction dévoilecase, j'ai du mal à voir comment la concevoir. J'ai donc voulu m'inspirer du langage C beaucoup plus répandu et j'ai trouvé l'ébauche suivante :
void Jouer()
{
char NbMinesTxt[2]; // nombre de mines aux alentours
switch (choix)
{
case 1 :
NbMinesAutour();
if (N!=0)//Il y a des mines autour
{
printf("%d\n\n",N);
sprintf(NbMinesTxt,"%d",N);
JEU[i][j]=NbMinesTxt[0];
}
else//Il n'y a pas de mines autour
{
JEU[i][j]='0';
for(i=i-1;i<i+2;i++)
{
for(j=j-1;j<j+2;j++)
NbMinesAutour();
}
}
break;
case 2 : JEU[i][j]='D';
break;
}
}
Le problème c'est que je ne suis pas un adepte du C^^. Il y a donc certaines opérandes que je n'arrive pas à traduire en ADA ou tout simplement en bon français.
Il s'agit de la partie suivante :
for(i=i-1;i<i+2;i++)
{
for(j=j-1;j<j+2;j++)
Si quelqu'un pourrait donc me donner un coup de main pour le raisonnement cela serait sympa^^.
Merci d'avance.
Le problème est que je bloque sur la fonction dévoilecase, j'ai du mal à voir comment la concevoir. J'ai donc voulu m'inspirer du langage C beaucoup plus répandu et j'ai trouvé l'ébauche suivante :
void Jouer()
{
char NbMinesTxt[2]; // nombre de mines aux alentours
switch (choix)
{
case 1 :
NbMinesAutour();
if (N!=0)//Il y a des mines autour
{
printf("%d\n\n",N);
sprintf(NbMinesTxt,"%d",N);
JEU[i][j]=NbMinesTxt[0];
}
else//Il n'y a pas de mines autour
{
JEU[i][j]='0';
for(i=i-1;i<i+2;i++)
{
for(j=j-1;j<j+2;j++)
NbMinesAutour();
}
}
break;
case 2 : JEU[i][j]='D';
break;
}
}
Le problème c'est que je ne suis pas un adepte du C^^. Il y a donc certaines opérandes que je n'arrive pas à traduire en ADA ou tout simplement en bon français.
Il s'agit de la partie suivante :
for(i=i-1;i<i+2;i++)
{
for(j=j-1;j<j+2;j++)
Si quelqu'un pourrait donc me donner un coup de main pour le raisonnement cela serait sympa^^.
Merci d'avance.
A voir également:
- Démineur ADA
- Ada 64 - Télécharger - Informations & Diagnostic
- Démineur google - Accueil - Services en ligne
- Ada way - Télécharger - Outils Internet
- Accéder aux jeux cachés de Google - Guide
- Démineur/Minesweeper sur Windows 8 - Forum Windows 8 / 8.1
1 réponse
bonjour ,
Je ne suit pas un expert en ADA , mais je peut de donner une partie de piste sur le C , Voila une boucle Pour en C s'écrit for(i-min;i<max+1;i++) . Donc En gros ici , tu a un nombre I de départ ( disons 5 ) , la boucle va commencer de 4 (i - 1 ) et s'arrêtera a 2 ( i<3) donc tu passeras deux fois dans ta boucle , sans code supplémentaire je ne pourrai te donner d'autre indication.
Je ne suit pas un expert en ADA , mais je peut de donner une partie de piste sur le C , Voila une boucle Pour en C s'écrit for(i-min;i<max+1;i++) . Donc En gros ici , tu a un nombre I de départ ( disons 5 ) , la boucle va commencer de 4 (i - 1 ) et s'arrêtera a 2 ( i<3) donc tu passeras deux fois dans ta boucle , sans code supplémentaire je ne pourrai te donner d'autre indication.
Pour le raisonnement on peut dire que tant que i < max+1 on fait la boucle, avec comme valeur i de départ une valeur V et une incrémentation de 1 a chaque boucle c'est ça ?