Il faut en fait créer deux variables globales pour le texte du menu et pour les premières lettres du texte du menu, par exemple:
char *menu_texte[4][6] = {"", "", "", "", "", "",
"", "Nouveau Jeu", "Sauvegarder Jeu", "Charger Jeu", "Options", "Quitter",
"", "Facile", "Moyen", "Difficile", "", "",
"", "Dans une plaine", "Au bord de Mer", "", "", ""};
char *menu_texte_lettre[4][6] = {"", "", "", "", "", "",
"", "N", "S", "C", "O", "Q",
"", "F", "M", "D", "", "",
"", "D", "A", "", "", ""};
Source / Exemple :
int choix;
#define HAUT 72
#define BAS 80
#define ENTER 13
//rajoutez le code ci dessus dans votre fichier .c
void sim_menu(int nombre, int nombre2, int couleur1, int couleur2, int x, int y)
{
int i, j; //boucles
char touche = 0;
choix = 1;
while (touche != ENTER)
{
for (j = 0; j <= nombre2; j++)
{
gotoxy(x, y + j);
if (choix == j){
textcolor(couleur2);}
else{
textcolor(couleur1);}
printf("%s", menu_texte[nombre][j]);
gotoxy(x, y + j);
sim_textcolor(menu_texte_lettre[nombre][j], 14);
}
touche = getch();
if (touche == BAS)
{
choix++;
if (choix == nombre2 + 1){
choix = 1;}
}
if (touche == HAUT)
{
choix--;
if (choix == 0){
choix = nombre2;}
}
}
}
void sim_textcolor(char * texte, int couleur)
{
textcolor(couleur);
printf("%s", texte);
}
Conclusion :
Si vous avez pas bien compris l'histoire des varibles globales, écrivez moi!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.