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