Utilisation souris pour jeux en C

salah_smi Messages postés 2 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 17 avril 2005 - 9 avril 2005 à 13:20
salah_smi Messages postés 2 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 17 avril 2005 - 17 avril 2005 à 02:14
bonjour,je veux faire un menu pour un jeux en C,et acceder à ce menu par la souris,j'ai vu la liste de tous les interruptions 0x33,et pas de resultat,,je signale que je travail sous dos,
merci d'avance

2 réponses

cs_751 Messages postés 68 Date d'inscription vendredi 3 mai 2002 Statut Membre Dernière intervention 6 juillet 2007
13 avril 2005 à 11:30
Regarde ce lien http://www.cppfrance.com/code.aspx?ID=30708 et pour avoir des exemples regarde comment
j'utilise les fonctions de mamipulation et configurations pour
mettre en place mes menus, j'espére que ce t'aidera.
--------------------------------------------------------
Le temps est-il un cas particulier de l'espace ?
0
salah_smi Messages postés 2 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 17 avril 2005
17 avril 2005 à 02:14
merci beaucoup cher 751,,ça m'a aidé,,mais j'ai utilisé des autres fonctions de la bibliothrque dos.h,,comme geninterrupt,,et ça marche,,d'abord j'ai creé un programme qui me donne les coordonnées de la souris sur l'ecran,,,puis,,beh,,voilà un exemple simplifié de ce que j'ai fait,,et j'attend votre opinion :
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>


void main()
{
int x, y, clic;
clrscr();
_AX=0; geninterrupt(0x33); // initialise le driver de la souris
_AX=1; geninterrupt(0x33); // affiche le curseur de la souris
textattr(10010003);
gotoxy(25,1);
cprintf("Binevenu … notre Programme");
gotoxy(10, 12);
textattr(10003);
cprintf("MENU 1 .. ");
gotoxy(10, 15);
textattr(10003);
cprintf("MENU 2 .. ");
gotoxy(10, 18);
textattr(10003);
cprintf("MENU 3 .. ");
gotoxy(10, 21);
textattr(10003);
cprintf("QUITER .. ");


do
{
{
_AX=3; geninterrupt(0x33); // recherche des infos de la souris
clic=_BX; // le clic se trouve dans _BX
x=_CX; // l'abscisse dans le registre _CX
y=_DX; // la coordonn,e dans _DX
gotoxy(1, 1);
printf("Position : %d - %d ", x, y); // on affiche la position */
}
// clic gauche
if (clic==1 &&(x<160 && x>72))
{
if(y>87 && y<96)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 1");
}
if(y>111 && y<120)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 2 "); }
if(y>135 && y<144)
{
gotoxy(25,23);
printf("vous avez cliquer sur MENU 3 ");
}
if(y>159 && y<168)
exit(1);
}
}
while (!kbhit()); // tant qu'on appuie sur aucune touche, on boucle


getch();
}
mais encore un autre probleme,,c'est que j'ai pas bien compris le fait de diviser les coordonnées de la souris par 8 pour obtenir les la ligne et la colonne?,,certe j'ai travaillé avec ça mais je veux savoir le pourquoi!!
encore MERCI
;-)
0
Rejoignez-nous