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 :
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
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.
Merci de votre aide
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 .
Partager