ALPHABET10


DIM l(33, 4)
DIM c(16)
DIM t(100, 4), lk$(100), as0(100)

l(0, 0) = 15 ' A
l(0, 1) = 20
l(0, 2) = 20
l(0, 3) = 15
l(1, 0) = 31 ' B
l(1, 1) = 21
l(1, 2) = 21
l(1, 3) = 10
l(2, 0) = 31 'C
l(2, 1) = 17
l(2, 2) = 17
l(2, 3) = 17
l(3, 0) = 31 'D
l(3, 1) = 17
l(3, 2) = 17
l(3, 3) = 14
l(4, 0) = 31 'E
l(4, 1) = 21
l(4, 2) = 21
l(4, 3) = 17
l(5, 0) = 31 'F
l(5, 1) = 20
l(5, 2) = 20
l(5, 3) = 16
l(6, 0) = 15 'G
l(6, 1) = 17
l(6, 2) = 21
l(6, 3) = 23
l(7, 0) = 31 'H
l(7, 1) = 4
l(7, 2) = 4
l(7, 3) = 31
l(8, 0) = 31 'I
l(8, 1) = 0
l(8, 2) = 0
l(8, 3) = 0
l(9, 0) = 3 'J
l(9, 1) = 17
l(9, 2) = 30
l(9, 3) = 16
l(10, 0) = 31 'K
l(10, 1) = 4
l(10, 2) = 10
l(10, 3) = 17
l(11, 0) = 31 'L
l(11, 1) = 1
l(11, 2) = 1
l(11, 3) = 1
l(12, 0) = 31 'M
l(12, 1) = 8
l(12, 2) = 8
l(12, 3) = 31
l(13, 0) = 31 'N
l(13, 1) = 12
l(13, 2) = 3
l(13, 3) = 31
l(14, 0) = 31 'O
l(14, 1) = 17
l(14, 2) = 17
l(14, 3) = 31
l(15, 0) = 31 'P
l(15, 1) = 20
l(15, 2) = 20
l(15, 3) = 28
l(16, 0) = 30 'Q
l(16, 1) = 18
l(16, 2) = 30
l(16, 3) = 1
l(17, 0) = 31 'R
l(17, 1) = 22
l(17, 2) = 21
l(17, 3) = 28
l(18, 0) = 29 'S
l(18, 1) = 21
l(18, 2) = 21
l(18, 3) = 26
l(19, 0) = 16 'T
l(19, 1) = 31
l(19, 2) = 16
l(19, 3) = 0
l(20, 0) = 31 'U
l(20, 1) = 1
l(20, 2) = 1
l(20, 3) = 31
l(21, 0) = 30 'V
l(21, 1) = 1
l(21, 2) = 1
l(21, 3) = 30
l(22, 0) = 31 'W
l(22, 1) = 2
l(22, 2) = 2
l(22, 3) = 31
l(23, 0) = 25 'X
l(23, 1) = 6
l(23, 2) = 6
l(23, 3) = 25
l(24, 0) = 29 'Y
l(24, 1) = 5
l(24, 2) = 5
l(24, 3) = 31
l(25, 0) = 17 'Z
l(25, 1) = 19
l(25, 2) = 21
l(25, 3) = 25
l(32, 0) = 0 ' espace
l(32, 1) = 0
l(32, 2) = 0
l(32, 3) = 0
l(32, 4) = 0

c(0) = 11
c(1) = 10
c(2) = 9
c(3) = 8
c(4) = 15
c(5) = 14
c(6) = 13
c(7) = 12
c(7) = 12
c(8) = 3
c(9) = 2
c(10) = 1
c(11) = 0
c(12) = 7
c(13) = 6
c(14) = 5
c(15) = 4


INPUT mot$

wl = LEN(mot$) ' longueur du mot
FOR i = 1 TO wl          ' longeur du voulu     
lk$(i) = MID$(mot$, i, 1) ' recuperer ls lettre du mot voulu et le mettre ds le tableau lk$
NEXT i

FOR i = 1 TO wl ' recupere les codes correspondants
as0(i) = ASC(lk$(i)) - 65 'pour avoir le code defini ds le tableau
IF as0(i) < 0 THEN
as0(i) = 32 ' afficher l espace
END IF
NEXT i



FOR i = 1 TO wl
k = as0(i)

FOR j = 0 TO 3
t(i - 1, j) = l(k, j)
NEXT j
NEXT i
z = 0

 

'algorithme

repeter

aquerir le mot souhaité

afficher des 3 premieres lettres du mot 

decaler les 3 premieres lettres vers la gauche d'une colonne

a a o o o o c c c c
a a o o c
a a a a o o c
a a   o o o o   c c c c  

 

                                                              

a a o o o o c c c c d
a o o c d
a a a o o c d
a o o o o c c c c d


DO

FOR a = 0 TO wl - 1
FOR z = 0 TO 4

FOR t = 1 TO 100
' affichage des 4 premiŠres colonnes
y = z + 15
IF y <= 15 THEN
OUT &H37A, c(y)
OUT &H378, t(a, 0)
END IF
GOSUB tempo
y = z + 14
IF y <= 15 THEN
OUT &H37A, c(y)
OUT &H378, t(a, 1)
END IF
GOSUB tempo
y = z + 13
IF y <= 15 THEN
OUT &H37A, c(y)
OUT &H378, t(a, 2)
END IF
GOSUB tempo
y = z + 12
IF y <= 15 THEN
OUT &H37A, c(y)
OUT &H378, t(a, 3)
END IF
GOSUB tempo



OUT &H37A, c(z + 10)
OUT &H378, t(a + 1, 0)
GOSUB tempo
OUT &H37A, c(z + 9)
OUT &H378, t(a + 1, 1)
GOSUB tempo
OUT &H37A, c(z + 8)
OUT &H378, t(a + 1, 2)
GOSUB tempo
OUT &H37A, c(z + 7)
OUT &H378, t(a + 1, 3)
GOSUB tempo


OUT &H37A, c(z + 5)
OUT &H378, t(a + 2, 0)
GOSUB tempo
OUT &H37A, c(z + 4)
OUT &H378, t(a + 2, 1)
GOSUB tempo
OUT &H37A, c(z + 3)
OUT &H378, t(a + 2, 2)
GOSUB tempo
OUT &H37A, c(z + 2)
OUT &H378, t(a + 2, 3)
GOSUB tempo

' affichage des 4 derniŠres colonnes


y = z
IF y >= 0 THEN
OUT &H37A, c(y)
OUT &H378, t(a + 3, 0)
END IF
GOSUB tempo
y = z - 1
IF y >= 0 THEN
OUT &H37A, c(y)
OUT &H378, t(a + 3, 1)
END IF
GOSUB tempo
y = z - 2
IF y >= 0 THEN
OUT &H37A, c(y)
OUT &H378, t(a + 3, 2)
END IF
GOSUB tempo
y = z - 3
IF y >= 0 THEN
OUT &H37A, c(y)
OUT &H378, t(a + 3, 3)
END IF
GOSUB tempo


NEXT t
NEXT z
NEXT a
LOOP


END

tempo:
FOR m = 1 TO 50

NEXT m
RETURN