Bonjour à tous,

J'essaie de faire un petit jeu en Free Pascal mais j'ai des problèmes.

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
program theGame;
 
uses crt;
 
const
  Vposition = 25;
 
var 
  rk : char;
  Hposition : byte;
 
procedure attack;
var
  i : byte;
begin
  for i:=Vposition-1 DownTo 1 do
    begin
      gotoxy(Hposition+1, i);
      write('|');
      Delay(80);
      gotoxy(Hposition+1, i);
      write(' ');
    end;
  gotoxy(1, 1);
end;
 
procedure move(direction : char);
begin
  if direction = 'L' then
    begin
      gotoxy(Hposition+2, Vposition);
      write('    ');
      Hposition := Hposition - 1;
      gotoxy(Hposition, Vposition);
      write('-!-');
    end
  else 
    begin
      gotoxy(Hposition-3, Vposition);
      write('    ');
      Hposition := Hposition + 1;
      gotoxy(Hposition, Vposition);
      write('-!-');
    end;
  gotoxy(1, 1);
end;
 
procedure enemies;
var
  EHposition, i : byte;
begin
  Randomize;
  EHposition := Random(25)+1;
  for i:=1 to Vposition-1 do
    begin
      gotoxy(EHposition, i);
      write('O');
      Delay(60);
      gotoxy(EHposition, i);
      write(' ');
    end;
end;
 
BEGIN
  //cursoroff; {desactiver le cursor}
  Hposition := 39; {le milieu d'une fenere 80}
  gotoxy(Hposition, Vposition);
  write('-!-');
  enemies;
  while True do 
  begin
    rk := readkey;
    {writeln(rk);}
    case rk of
      'K' : move('L');
      'M' : move('R'); 
      ' ' : attack;
    end; 
  end;
END.
Mon problème est que je veux me déplacer et être capable de tirer des missiles et que les ennemis soient capables de tomber.
Comment le faire sachant que le curseur est capable de faire une seule chose à la fois ?
Ça serait gentil de m'aider.

Merci d'avance.