Bonsoir, d'abord merci à Grame pour son aide sur les fonctions aléatoires, j'ai bien réussi à l'intégrer dans mon programme.
Maintenant j'essaie de faire déplacer un personnage 'C' sur une grille en tapant 8,6,4,2 dans une chaine de caractère, ces derniers étant respectivement les déplacements en haut, à droite, à gauche et en bas du personnage sur la grille.
J'arrive à faire le premier déplacement (en haut ou à droite : car mon personnage part en bas à gauche de la grille) mais les déplacements suivants ne s'effectuent pas... Cela vient surement de la boucle mais j'ai beau changer plein de choses, je n'arrive pas à régler le problème...
Si quelqu'un voit ce qui ne va pas, pourriez vous me le dire s'il vous plait? Je vous remercie d'avance et passez une bonne soirée.
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 options/extend_source subroutine AFF(CH,I,J,T) implicit none integer*8 I,J,K character*12 T(12,20) character*1 CH I=12 J=1 do while (T(I,J).ne.'M' .and. T(I,J).ne. 'A') write(*,*) 'Veuillez choisir un deplacement pour le chaperon rouge' read(*,*) CH if (CH(1:1).eq.'8') then T(I-1,J)='C' I=I-1 J=J elseif (CH(1:1).eq.'6') then T(I,J+1)='C' J=J+1 I=I elseif (CH(1:1).eq.'2') then T(I+1,J)='C' T(I,J)=' ' I=I+1 J=J elseif (CH(1:1).eq.'4') then T(I,J-1)='C' J=J-1 I=I end if ! Ecriture du tableau do I=1,12 write(*,30) (T(I,J), J=1,20) 30 format(X,'|',20(A2),'|') end do end do
Partager