Code : Tout sélectionner
10 DIM A(6),B(6)
12 A$="0123456"
14 B$="0123456"
20 FORI=0 TO 5
30 J=INT(RND*LEN(A$))+1
32 A(I)=ASC(MID$(A$,J,1))-47
34 A$=LEFT$(A$,J-1)+MID$(A$,J+1,7)
40 J=INT(RND*LEN(B$))+1
42 B(I)=ASC(MID$(B$,J,1))-48
44 B$=LEFT$(B$,J-1)+MID$(B$,J+1,7)
50 NEXT I
52 A(6)=ASC(A$)-47
54 B(6)=ASC(B$)-48
56 X=0
58 Y=0
60 FORI=1 TO 7
62 FORJ=1 TO 7
64 Z=B(Y)*7+A(X)
66 PRINT USING"##";Z;
68 PRINT" ";
70 X=X+1
72 IF X>6 THEN X=X-7
74 Y=Y+2
76 IF Y>6 THEN Y=Y-7
78 NEXT J
79 PRINT
80 X=X+2
82 IF X>6 THEN X=X-7
84 Y=Y+1
86 IF Y>6 THEN Y=Y-7
88 NEXT I
Lancé par "RUN", le programme donne toujours le même carré magique de sept. Pour en sortir d'autres, on doit lancer le programme par "GOTO12" (pour sauter le DIM).
Je raffole de l'éditeur plein écran qui autorise de renuméroter des lignes de code pour les dupliquer !
Suggestion pour la récupération des programmes : pourquoi pas ajouter des options "copier" et "coller" dans le menu de Marcel (solution la plus minimaliste), ou bien passer par une zone de texte (objet "TextArea") qui, en sortie, pourrait fonctionner comme une imprimante virtuelle (on la remplit par "LLIST"...) et où, en entrée, on pourrait coller des codes et les "taper" dans l'émulateur grâce à un bouton idoine ?