begin process at 2012 02 11 22:04:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > FONCTION MENU AVEC FLÈCHES EN MODE TEXTE[DEV C++]

FONCTION MENU AVEC FLÈCHES EN MODE TEXTE[DEV C++]


 Information sur la source

Note :
Aucune note
Catégorie :Application Niveau :Initié Date de création :09/05/2002 Date de mise à jour :11/05/2002 13:59:47 Vu :4 125

Auteur : mastave

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • 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);
  • }
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!  


 Sources du même auteur

Source avec Zip Source avec une capture .::MATRIX::. [DEV C++]
Source avec Zip ANIMATION D'UN CERCLE AVEC TOUCHES + FILM[2D][DEVC++4][GLUT]
Source avec Zip POLYGONES DIVERSES SANS GLUT[DEV C++...]
(-:FONCTION TABLEAU EN MODE TEXTE![DEV C++]
FONCTION RECTANGLE COULEUR EN MODE TEXTE[DEV C++]

 Sources de la même categorie

Source avec Zip Source avec une capture CONTACTS MANAGER par eapaceinfo
Source avec Zip Source avec une capture CONTACTES BOOK par mature
Source avec Zip Source avec une capture [C++/QT] SLIDEALWAYS, RÉALISEZ DES SLIDES POUR VOTRE SITE AV... par doderic
Source avec Zip Source avec une capture MAILLAGE 3D (VTK + QT) par ammoun007
Source avec Zip Source avec une capture CONVHTML : UN UTILITAIRE DE CONVERSION POUR FICHIERS HTML par pgl10

Commentaires et avis

Commentaire de cmarsc le 10/05/2002 19:00:06

salut,

INFORMATIONS pour ceux qui ne connaissent pas les codes ASCII suivantes :

#define  GAUCHE         75
#define  DROITE         77
#define  HAUT             72
#define  BAS              80
#define  ENTER            13
#define  ESCAPE          27
....
je ne vais pas tout mettre mais avec ce petit code on peut les retrouver.

#include &lt;stdio.h&gt;
#include &lt;conio.c&gt;    // &lt;conio.h&gt;

int main()
{
    char clavier;
    while (clavier != 27) { // ESC POUR SORTIR
    clavier = getch();
    printf(" le caractere %c correspond au code numero : %d
",clavier,clavier);
    }
return 0;    
}

au fait utilisation de choix mais NON DECLARE SEULEMENT INITIALISE

POURQUOI NE METS-TU PAS TOUT LE CODE AVEC LES BIBLIOTHEQES C'EST UTILE POUR LES PETITS JEUNES "DEBUTANTS"  NON ?

cordialement
cmarsc  ;-)

Commentaire de mastave le 11/05/2002 13:56:37

Oui, pardon, je suis désolé, je fais que des conneries sur mes sources en ce moment, c'est parce que je les tire d'un jeu que je suis en train de faire au Labo(Sim City), alors je fais pas tjrs attention a tout.
Je rajoute de ce pas ce qu'il faut.

Commentaire de luluthefirst le 12/02/2008 23:33:57

mais arreter donc de faire des codes FAUX !!!! SA ME FAIT DES ERREURS A LA COMPLICATION !!! :

48 D:\Dev-Cpp\bin\test.c conflicting types for 'sim_textcolor'
30 D:\Dev-Cpp\bin\test.c previous implicit declaration of 'sim_textcolor' was here

DONC METTEZ DES CODES VRAIX !!

merci.

Commentaire de tony31400 le 05/03/2008 21:58:13

Euhhhh, tu connais le C au moins ?
Sa te marque ça car tu n'as pas déclaré sim_textcolor, 2 solutions s'offrent à toi :
- Tu mets la fonction sim_textcolor tout en haut
- ou alors tu déclares simplement le prototype de la fonction.

PS: Le code date de 2002...

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales