Bonsoir,
je reviens avec un deuxième problème. Dans un mini-jeu que je créé où il faut retrouver un 0 caché parmi des nombres rangés aléatoirement dans un tableau, j'ai un soucis pour le joueur.
En effet, je souhaite utiliser la souris pour que le joueur sélectionne l'endroit où se trouve le 0, néanmoins, je n'ai jamais utilisé cela, du coup je ne sais pas comment faire. J'ai essayé par rapport à des exemples trouvés sur ce forum, mais en cliquant rien ne se passe même pas le changement de la position de la souris. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
program MiniJeu1;
 
uses crt,souris;
const YMAX = 10;
const XMAX = 10;
Type Tab = array[1..XMAX,1..YMAX] of Integer;
Type Ensemble = Set of 35..165;
 
Procedure fill(var t : Tab);
var i,j, rdm : Integer;
begin
	randomize();
	for j:=1 to YMAX do
	begin
		for i:=1 to XMAX do
		begin
		rdm:= random(9)+1;
		t[i][j]:= rdm;
		end;
	end;
end;
 
procedure numerogagnant(var t : Tab; var posX, posY : Integer);
begin 
	randomize();
	posX:= random(XMAX)+1;
	posY:= random(YMAX)+1;
	t[posX][posY]:= 0;
 
end;
 
procedure afficher(var t : Tab );
var i,j : Integer;
	begin
	for j:=1 to YMAX do
	begin
		for i:=1 to XMAX do
		begin	
			write(t[i][j]);
		end;
	writeln();
	end;	
	end;
 
 
var t : Tab;
	posX,posY,posXX,posYY : Integer;
begin
	fill(t);
	numerogagnant(t,posX,posY);
	afficher(t);
	initmouse;
	getmousepos(posXX,posYY);
	button;
	writeln(posXX,posYY);
	if ((posXX=posX)AND(posYY=posY))AND(button=1) then
		writeln('C''est gagne!');
end.
L'unité Souris étant celle trouvée sur ce site :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
unit souris;
interface
uses crt,dos;
var
   reg : registers;
 
function initmouse : boolean;
Procedure Afficher ;
Procedure Masquer ;
Procedure getmousepos ( var mX, mY : integer ) ;
function button : integer;
 
implementation
 
function initmouse: boolean;
begin
   reg.ax:=$00;
   intr($33,reg);
   if reg.ax=0 then
      initmouse := false;
   if reg.ax=1 then
      initmouse := true;
end;
 
{Affichage du curseur}
procedure afficher ;
begin
     reg.ax := $01;
     intr($33,reg);
end;
 
{Masque du curseur }
procedure Masquer ;
begin
     reg.ax := $02;
     intr($33,reg);
end;
 
 
Procedure getmousepos ( var mX, mY : integer ) ;
begin
   reg.ax := $03;
   intr($33,reg);
   Mx := reg.cx;
   My := reg.dx;
end;
 
 
function button : integer;
begin
   reg.ax := $03;
   intr($33,reg);
   button := reg.bx;
end;
 
End .
Merci de votre aide