antoine-source/folibus/zx81/res/ListDATAs.bas
2023-11-28 19:50:15 +01:00

376 lines
9.6 KiB
QBasic

1 GOTO 9200
#
# TABLEAU VOCABULAIRE (72)
8699 LET V=73
8700 DIM V$(73,6)
#_________________000000
#_________________123456
#_________________##$$$$
8701 LET V$(1) ="01N "
8702 LET V$(2) ="01NORD"
8703 LET V$(3) ="02E"
8704 LET V$(4) ="02EST "
8705 LET V$(5) ="03S "
8706 LET V$(6) ="03SUD "
8707 LET V$(7) ="04O"
8708 LET V$(8) ="04OUES"
8709 LET V$(9) ="05H "
8710 LET V$(10)="05MONT"
8711 LET V$(11)="06D "
8712 LET V$(12)="06DESC"
8713 LET V$(13)="07ENTR"
8714 LET V$(14)="07AVAN"
8715 LET V$(15)="05HAUT"
8716 LET V$(16)="06BAS"
8717 LET V$(17)="13LIT"
8718 LET V$(18)="35REGA"
8719 LET V$(19)="14TOUR"
8720 LET V$(20)="14RETO"
8721 LET V$(21)="15PREN"
8722 LET V$(22)="15RAMA"
8723 LET V$(23)="16PAPI"
8724 LET V$(24)="17ALLU"
8725 LET V$(25)="18BOUG"
8726 LET V$(26)="19APPU"
8727 LET V$(27)="19ENFO"
8728 LET V$(28)="20VERT"
8729 LET V$(29)="21ROUG"
8730 LET V$(30)="22OUTI"
8731 LET V$(31)="23OUVR"
8732 LET V$(32)="55DOUC"
8733 LET V$(33)="25PLAC"
8734 LET V$(34)="26PORT"
8735 LET V$(35)="27ASCE"
8736 LET V$(36)="28BRIQ"
8737 LET V$(37)="29REPA"
8738 LET V$(38)="29DEPA"
8739 LET V$(39)="30RIEN"
8740 LET V$(40)="31MACH"
8741 LET V$(41)="32POSE"
8742 LET V$(42)="33QUIT"
8743 LET V$(43)="35DECR"
8744 LET V$(44)="34INVE"
8745 LET V$(45)="36CLEF"
8746 LET V$(46)="31FILS"
8747 LET V$(47)="37CORD"
8748 LET V$(48)="38FENE"
8749 LET V$(49)="39ACCR"
8750 LET V$(50)="40SAUT"
8751 LET V$(51)="39ATTA"
8752 LET V$(52)="41SORT"
8753 LET V$(53)="42FERM"
8754 LET V$(54)="43CECI"
8755 LET V$(55)="44ATTE"
8756 LET V$(56)="45TAPE"
8757 LET V$(57)="46FRAP"
8758 LET V$(58)="47PASS"
8759 LET V$(59)="47AVEN"
8760 LET V$(60)="48PRES"
8761 LET V$(61)="49MET "
8762 LET V$(62)="50AVAL"
8763 LET V$(63)="51GANT"
8764 LET V$(64)="52K"
8765 LET V$(65)="53Q"
8766 LET V$(66)="54Z"
8767 LET V$(67)="49ENFI"
8768 LET V$(68)="56LASE"
8769 LET V$(69)="56PIST"
8770 LET V$(70)="57LIVR"
8771 LET V$(71)="58DEMA"
8772 LET V$(72)="58PILO"
8773 LET V$(73)=" "
# TABLEAU SALLES (17)
8799 LET R=18
8800 DIM M$(18,14)
#_________________00000000011111
#_________________12345678901234
8801 LET M$(1) ="00"
8802 LET M$(2) ="0204040300"
8803 LET M$(3) ="0405020200"
8804 LET M$(4) ="040200"
8805 LET M$(5) ="0106020300"
8806 LET M$(6) ="0108030500"
8807 LET M$(7) ="00"
8808 LET M$(8) ="030600"
8809 LET M$(9) ="00"
8810 LET M$(10)="011100"
8811 LET M$(11)="00"
8812 LET M$(12)="00"
8813 LET M$(13)="00"
8814 LET M$(14)="021300"
8815 LET M$(15)="05170216011300"
8816 LET M$(16)="041500"
8817 LET M$(17)="061500"
8818 LET M$(18)="00"
8819 LET O=20
# TABLEAU OBJET (20)
8899 DIM Q(20)
8900 DIM O$(21,16)
#_________________0000000001111111
#_________________1234567890123456
8901 LET O$(1) ="BRIQUET"
8902 LET O$(2) ="BRIQUET ALLUME"
8903 LET O$(3) ="BOUGIE"
8904 LET O$(4) ="BOUGIE ALLUMEE"
8905 LET O$(5) ="PLACARD"
8906 LET O$(6) ="OUTILS"
8907 LET O$(7) ="PAPIER"
8908 LET O$(8) ="FILS ARRACHES"
8909 LET O$(9) ="FILS REPARES"
8910 LET O$(10)="UNE CORDE"
8911 LET O$(11)="GANTS CAOUTCHOUC"
8912 LET O$(12)="GANTS ENFILES"
8913 LET O$(13)="PILLULE K"
8914 LET O$(14)="PILLULE K AVALEE"
8915 LET O$(15)="PILLULE Z"
8916 LET O$(16)="PILLULE Z AVALEE"
8917 LET O$(17)="PILLULE Q"
8918 LET O$(18)="PILLULE Q AVALEE"
8919 LET O$(19)="PISTOLET LASER"
8920 LET O$(20)="LIVRE"
8921 LET O$(21)=" "
8950 DIM Q(20)
8951 LET Q(1)=2
8952 LET Q(2)=0
8953 LET Q(3)=2
8954 LET Q(4)=0
8955 LET Q(5)=6
8956 LET Q(6)=7
8957 LET Q(7)=3
8958 LET Q(8)=6
8959 LET Q(9)=0
8960 LET Q(10)=10
8961 LET Q(11)=16
8962 LET Q(12)=0
8963 LET Q(13)=13
8964 LET Q(14)=0
8965 LET Q(15)=13
8966 LET Q(16)=0
8967 LET Q(17)=13
8968 LET Q(18)=0
8969 LET Q(19)=13
8970 LET Q(20)=16
8980 LET C=13
8981 LET CP=0
# TABLEAU CONDITIONS (12)
#
# A NN: SI NOUS SOMMES DANS LA SALLE NN
# B NN: SI L OBJET NN EST PRESENT OU TRANSPORTE
# C NN: SI L OBJET NN EST NON PRESENT OU NON TRANSPORTE
# D NN: SI L OBJET NN EST TRANSPORTE
# E NN: SI LE POINTEUR NN EST ACTIVE
# F NN: SI LE POINTEUR NN N EST PAS ACTIVE
# G NN: SI LE COMPTEUR NN EST ATTEINT LA VALEUR 1
# H NN: SI LE NOMBRE ALEATOIRE (1-99) EST INFERIEUR A NN
#
### COMPTEURS:
### G1:
### G4: VIE GENERATRICE.
9000 DIM C$(13,21)
#________________000000000111111111122
#________________123456789012345678901
9001 LET C$(1)="A04E05.D05Q."
9002 LET C$(2)="E04F10.G0403E10."
9003 LET C$(3)="G04A10.G0499F09D25."
9004 LET C$(4)="A04F05.D20."
9005 LET C$(5)="E06F10.G0405E10."
9006 LET C$(6)="G04.D01Q."
9007 LET C$(7)="A10E09.D26Q."
9008 LET C$(8)="A10E07.F06F07F04F08."
9009 LET C$(9)="A11F07.G0103E07."
9010 LET C$(10)="A11G01.D35Q."
9011 LET C$(11)="A12.F06F04."
9012 LET C$(12)="A12.F08F05F07."
9013 LET C$(13)=".N."
9014 LET A=92
# TABLEAU ACTIONS (91)
# A : AFFICHE LA LISTE DES OBJETS TRANSPORTES
# A NN : DANS LA SALLE NN
# B NN : TRANSPORTES OBJETS NN
# C NN : POSE OBJETS NN
# D NN : AFFICHE LE MESSAGE EN 7000+(NN*10)
# E NN : ACTIVE LE POINTEUR NN
# F NN : DESACTIVE LE POINTEUR NN
# G NNMM : FIXE LE COMPTEUR (-) NN A MM
# H NN : INVERSE LES LIGNES NN ET NN+1 DANS LE TABEAU OBJET
# I NN : POSE OBJET NN DANS LA SALLE EN COURS
# J NN : MET LE NO DE SALLE CONTENANT L OBJET NN A 0
# K NN : FIXE LE NO DE SALLE EN COURS A LA VALEUR NN
# L : AFFICHE D ACCORD ET ATTEND
# M : ATTEND UNE NOUVELLE COMMANDE MAIS LE TABLEAU DES ACTIONS EST REPASSE EN REVUE
# N : ATTEND UNE NOUVELLE COMMANDE
# O : AFFICHE LA DESCRIPTION DE LA SALLE EN COURS
# P : ETES VOUS SURE ? >>> STOP
# Q : STOP
# E01:
# E02:
# E03: BRIQUET ALLUME.
# E04: FENETRE.
# E05: FEU ALUMME/PILULE Z.
# E06: GENERATRICE.
# E07: LIVRE LU.
# E08: CLEF PLACARD/PILULE K.
# E09: ASCENSSEUR OK.
# E10: PIEGE ELECTRIQUE.
# E11:
9100 DIM A$(92,31)
#_________________0000000001111111111222222222233
#_________________1234567890123456789012345678901
9101 LET A$(1) ="0700A01.D03K02O."
9102 LET A$(2) ="3000A01.D04O."
9103 LET A$(3) ="1528B01.S01L."
9104 LET A$(4) ="1518B03.S03L."
9105 LET A$(5) ="1718B03C01.D06N."
9106 LET A$(6) ="1718B01B03.H03E05E03L."
9107 LET A$(7) ="1728B01.H01E05E03L."
9108 LET A$(8) ="3400.R00."
9109 LET A$(9) ="3300.P00."
9110 LET A$(10)="3500.O00."
9111 LET A$(11)="3218B03.C03L."
9112 LET A$(12)="3228B01.C01L."
9113 LET A$(13)="1316D07.D07N."
9114 LET A$(14)="1516B07.S07D22N."
9115 LET A$(15)="1316C07.D08N."
9116 LET A$(16)="1416C07.D08N."
9117 LET A$(17)="1416D07.D09N."
9118 LET A$(18)="1416D07.D09N."
### GENERATRICE (BOUTONS)
### VERT
9119 LET A$(19)="1920A05F06F04.E04D11D10N."
### ROUGE
9120 LET A$(20)="1921A05F06F04.D11E03E06N."
9121 LET A$(21)="1921A05E04.D12N."
9122 LET A$(22)="1536A03F08.E08L."
9123 LET A$(23)="2325A06F08.D23N."
9124 LET A$(24)="2325A06E08C06.K07F08O."
9125 LET A$(25)="1522A07B06.S06D24K06L."
9126 LET A$(26)="2325A06E08B06.K06N."
### REPARE MACHINERIE
9127 LET A$(27)="2931A06D06E04B08.D13E07H08N."
9128 LET A$(28)="2931A06D06E04B08.D14E07H08N."
9129 LET A$(29)="2931A06D06F04F06B08.D15H08E07N."
9130 LET A$(30)="2931A06C06B08.D16N."
### ASCENSSEUR
9131 LET A$(31)="0500A08E07E06.D17K09O."
9132 LET A$(32)="0500A08F07F08.D18E08N."
9133 LET A$(33)="0600A08F07F08.D18E08N."
9134 LET A$(34)="0500A08F08F06.D18E08N."
9135 LET A$(35)="0600A08F08F06.D18E08N."
9136 LET A$(36)="0500A08E08.D19Q."
9137 LET A$(37)="0600A08F08.D19Q."
9138 LET A$(38)="0600A08E07E06.D19Q."
### ASCENSSEUR HAUT
9139 LET A$(39)="4100A09.E09K10O."
9140 LET A$(40)="0600A09.D19Q."
9141 LET A$(41)="3000A09.D27N."
### FENETRE/CORDE
9142 LET A$(42)="2338A10F04.E04L."
9143 LET A$(43)="2338A10E04.D29N."
9144 LET A$(44)="4238A10E04.F04L."
9145 LET A$(45)="4238A10F04.D29N."
9146 LET A$(46)="3937A10E04F06.E06L."
9147 LET A$(47)="0600A10E06.E08D30N."
### SAUT
9148 LET A$(48)="4000A10E07.D21Q."
9149 LET A$(49)="4000A10E04.D21Q."
9150 LET A$(50)="4000A10F04.D32N."
9151 LET A$(51)="0500A10E08.F08D33N."
9152 LET A$(52)="4400A09.D27N."
### MOT DE PASSE
9153 LET A$(53)="4300A11.D34K12O."
9154 LET A$(54)="4543A11.D34K12O."
9155 LET A$(55)="4643A11.D34K12O."
9156 LET A$(56)="3222B06.C06L."
### MACHINE A REMONTER LE TEMPS
9157 LET A$(57)="1947A12.D31Q."
9158 LET A$(58)="1948A12.K13O."
9159 LET A$(59)="4951B11F04.E04H11D36N."
9160 LET A$(60)="0400A13F04.D26Q."
9161 LET A$(61)="0400A13E04.F04K14O."
### PILLULES
## Q=MORT
9162 LET A$(62)="5053B17.D37Q."
## Z=E05 (IRRADIEE)
9163 LET A$(63)="5054F05B15.E05H15L."
9164 LET A$(64)="5054E05.D29N."
## K=E08 (VITAMINES)
9165 LET A$(65)="5052F08B13.E08H13L."
9166 LET A$(66)="5052E08.D29N."
###
9167 LET A$(67)="1552B13.S13L."
9168 LET A$(68)="1553B17.S17L."
9169 LET A$(69)="1554B15.S15L."
9170 LET A$(70)="3252B13.C13L."
9171 LET A$(71)="3253B17.C17L."
9172 LET A$(72)="3254B15.C15L."
### PISTOLET LASER
9173 LET A$(73)="1556B19.S19L."
9174 LET A$(74)="3256B19.C19L."
###
9175 LET A$(75)="0300A13.E06K15O."
### LIVRE
9176 LET A$(76)="1557B20.S20L."
9177 LET A$(77)="3257B20.C20L."
9178 LET A$(78)="1357B20F07.D38E07N."
9179 LET A$(79)="1357B20E07.D29N."
### GANT
9180 LET A$(80)="1551B11.S11L."
9181 LET A$(81)="3251B11.C11L."
9182 LET A$(82)="5800A17F07.D39N."
9183 LET A$(83)="5800A17E07.D44D21O."
### SORTIE
9184 LET A$(84)="1555A14F05.D40Q."
9185 LET A$(85)="1555A14E06E05F08.F06F05L."
9186 LET A$(86)="0600A14F08.D41Q."
9187 LET A$(87)="1555A14E06E05E08.F06L."
9188 LET A$(88)="0600A14E08F05F06.D42D43Q."
9189 LET A$(89)="0600A14E08E05E06.D42D45D46Q."
9190 LET A$(90)="0600A14E08E05F06.D42D43D45Q."
9191 LET A$(91)="0600A14E08F05E06.D42D46Q."
9192 LET A$(92)=".N."
9193 RETURN
9200 GOSUB 8699
9205 FOR A=1 TO 91
9210 LET O=VAL(A$(A)(1 TO 2))
9215 GOSUB 9500
9216 LPRINT A;"=";E$;" ";
9220 LET O=VAL(A$(A)(3 TO 4))
9225 GOSUB 9500
9226 LPRINT E$,":";
9230 FOR B=5 TO 30
9231 LET E$=A$(A)(B)
9233 IF E$>="A" AND E$(1)<="K" THEN LET B=B+2
9234 LPRINT E$(1);
9235 IF E$<>" " THEN NEXT B
9236 LPRINT
9240 NEXT A
9500 LET E$=""
9501 IF O=0 THEN RETURN
9505 FOR Z=1 TO 73
9510 IF O<>VAL(V$(Z)(1 TO 2)) THEN NEXT Z
9520 LET E$=V$(Z)(3 TO )
9530 RETURN