Spoolega
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
22 mars 2006 à 16:01
Bonjour
Content de voir que je ne suis pas le seul a utiliser TC3
J'ai retrouvé une de mes sources qui gére des boutons (c'est en fait un menu, 3 boutons) avec les flèches directionnelles haut et bas pour le choix et validation par la touche entrée. Selon l'appuis d'un bouton c'est envoyé/géré par une fonction.
Il faut juste faire attention a cette ligne initgraph(&gdriver, &gmode, "c:\\tc3\\bgi");
dans la fonction init, au chemin c:\tc3\bgi
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
void init(void); /* initialisation graphique */
void sousmenu(int ); /* gestion de sous menu */
struct menu{
int x, y;
int xx, yy;
char nom[10];
};
void main(void)
{
int touche, y=120, val=1, bloc;
init(); /* appel du mode graphique */
setcolor(10);
outtextxy(310, 107, "Nouveau"); /* val = 0 */
outtextxy(310, 127, "Quitter"); /* val = 1 */
outtextxy(310, 147, "Score"); /* val = 2 */
do {
rectangle(300, y, 380, y+20);
do {
touche = getch(); /* recupere le code ASCII de la touche */
if((touche==72 && val==0) || (touche==80 && val==2)) bloc=0;
else bloc=1;
if(touche==13) sousmenu(val);
} while(bloc==0); /* verrou de fin de menu */
switch(touche)
{
case 72 : setcolor(BLACK); /* fleche haut */
rectangle(300, y, 380, y+20);
setcolor(10);
y = y - 20;
val--;
break;
case 80 : setcolor(BLACK); /* fleche bas */
rectangle(300, y, 380, y+20);
setcolor(10);
y = y + 20;
val++;
break;
}
} while(touche!=27); /* si on appuie sur "Echape" */
closegraph();
}
/* fonctionnement de traitement pour les sous menus */
void sousmenu(int val)
{
struct menu menu_score;
switch(val)
{
case 1 : exit(0); /* QUITTER */
case 0 : /* NOUVEAU JEU */
outtextxy(20, 50, "Nouveau jeu");
break;
case 2 : /* SCORE */
outtextxy(20, 70, "Score");
break;
default : return;
}
return;
}
void init(void)
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "c:\\tc3\\bgi");
errorcode = graphresult();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* return with error code */
}
}