Bonjour
Je suis en train de programmer le jeu "snake". Mais j'ai besoin d'aide : le "snake" a un pouvoir, c'est quand il passe par la frontière de la fenêtre, il apparaîtra de l'autre coté sur la même ligne (si le mouvement est horizontal) et sur la même colonne (si le mouvement est vertical).
La problème est que le "snake" passe toujours à la ligne suivante, puis retourne vers la ligne initiale.
Voici le code ("delay" pour marquer une instant (vitesse de mouvement), "print_element" pour afficher le "snake", "print" est la procédure principale).
Code:
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 program test; uses wincrt, winprocs; procedure delay ( millisecond : integer ); var fin : longint; begin fin := GetTickCount + ( Millisecond ); Repeat Until GetTickCount >= fin; end; procedure print_element ( x, y : byte ); var i : byte; begin gotoXY ( x, y ); write('..'); delay(100); gotoXY ( x, y ); write(' '); end; procedure print; var x, y : byte; begin while not x = 0 do { pour marquer une boucle infinie } begin for x := 1 to 80 do print_element(x, 1); end; end; begin print; end.