home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine 1996
/
ARCHIVE_96.iso
/
discs
/
shareware
/
share_45
/
architype
/
!ArchiType
/
ArchiType
(
.txt
)
< prev
next >
Wrap
RISC OS BBC BASIC V Source
|
1995-02-13
|
15KB
|
744 lines
--> Architype
FA_$="Architype Ver 0.32":B_$="
David Holden Jan 1995":
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
_____ ____ ____ _ _ _ ______ _ _ ____ _____
/ / / \ / \ / / / / / / / \ /
/____/ /_____/ / /____/ / / /_____/ /_____/ /____
/ / / \ / / / / / / / /
_/ _/ _/ \_ \____/ _/ _/ _/ _/ \____/ _/ /_____
/////////////////////////////////////////////////////////////////////
Typing Tutor for the Archimedes - (C) David Holden 1992,93, 94
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|////////////////////////////
262343,49,F_%
262344,,F_%
262342,,F_%
F_%!12=-2
F_%!16=H_%
F_%!8
262356,,I_%,(F_%!0)-96,224
!F_%=1
17,18:
F_%!16=0
28,59,11,79,0,12,26:
28,0,31,79,12,12,26:L_%=L_%
%1100000:
N_(0,0,1276,480,2):
28,1,30,78,18:
O_%=0
28,2)"
No lessons available":
27,4)"Press SPACE to continue":
K%=32:P_%=
:I%=R_%:
?I%<>64:
?I%<32
I%?1<>64
13,10
:I%+=1:
26:S_%=0:I%=T_%-2:
I%?-1>31:I%-=1:
!I%=U_%
:I%+=1:
?I%=32:
:I%+=1:
?I%>32:
33,10,I%
,,S_%:
53,12)"Time allocated ";S_%;" seconds ":S_%=S_%*100
N_ (492,572,288,126,15):
23,17,7,2,16;16;0;0;23,17,7,4,0;0;0;0:*FX202,16
6,213,136:
6,214,2:V_%=T_%?(
(W_%)-1):
V_%=163 C%=X_%+282
C%=X_%+((V_%-33)*3)
O]P_%=
34,11)"Press SPACE";
35,12)"to begin":
K%=32
K%=Y_%:
K%=Y_%
28,34,12,45,11,12,26:
624,660:
5,V_%,4:T%=
31,C%?1,C%?2,V_%:
31,26,5,129,129,31,52,5,129,129
:*fx21,0
K%=Y_% K%=0:
`)Z_%+=(
-T%):Z_%+=(a_%>>3):
31,43,12:
K%>31
"CTRL"
K%=V_%
31,36,12,128:D%=
6,213,101:
6,214,7:
31,36,12,132,7:D%=
+(a_%*4):
6,213,136:
6,214,2:b_%+=1
dvc_%+=1:d_%=V_%:
:V_%=T_%?(
(W_%)-1):
V_%<>d_%:
%100:
31,C%?1,C%?2,?C%:
31,26,5,32,32,31,52,5,32,32
g3P_%=
V_%=163 C%=X_%+282
C%=X_%+((V_%-33)*3)
31,36,12,32,31,43,12,32,32,32,32,5,d_%,4
6,213,101:
6,214,7:
6,213,136:
6,214,2
0:I%=(S_%-
I%<0 I%=0
53,12)"Time remaining ";I%;" seconds "
O_%=0
100000
0,15)
(80):
{CT_%=e_%:N%=f_%:
N%>1:
:T_%+=1:
?T_%=64:
T_%?-1<32 T_%+=1:N%-=1
:T_%+=1:
?T_%>32:
!T_%=U_%
:T_%+=1:
?T_%<32:
?T_%<33:T_%+=1:
yR_%=T_%:
:R_%+=1:
?R_%<32:
:R_%+=1:
?R_%>33:W_%=0:
T_%?W_%>31:W_%+=1:
W_%<38 g_%=2:h_%=40-W_%
g_%=1:h_%=(80-W_%)
0:I%=0:J%=40:
J%>31:J%=T_%?I%:
31,(I%*g_%)+h_%,15,J%:I%+=1:
O_%>0
%100:
31,C%?1,C%?2,?C%:
31,26,5,32,32,31,52,5,32,32
28,0,31,79,12,12:
28,30,15,48,10,12,26:
i_(444,768):
j_(2):
j_(3):
6,213,101:
6,214,7:
V_%=32:=
V_%=39:=
V_%<44:=
V_%<58:=
V_%=59:=
V_%=61:=
V_%<91:=
V_%=94:=
V_%=95:=
V_%<123:=
V_%<127:=
28,0,31,79,12,12,26:L_%=L_%
%100000:
N_(0,16,1276,316,10):
m_%=0
28,24)"
No exercises available!":
28,26)"Press SPACE to continue":
K%=32:
n_:=0
:I%=o_%:N%=p_%:
N%>1:
:I%+=1:
?I%=64:
I%?-1<32 I%+=1:N%-=1
?I%<33:I%+=1:
:q_%=
:r_%=
!I%=s_%
!I%=t_%:
!I%=s_%
3q_%=
60,9)"Exercise Locked!":
!I%=t_% r_%=
:I%+=1:
?I%<32:
?I%<33:I%+=1:
24,16;32;1264;308;:
23,17,7,2,u_%>>1;(v_%>>2)-2;0;0;:
23,17,7,4,u_%>>1;v_%>>2;0;0;:
23,142,255,255,255,255,255,255,255,255:
16,308
28,1,30,78,22
:W_%=0:
I%?W_%<>64:
I%?W_%<32
13,10
I%?W_%
/W_%+=1:
I%?(W_%-1)<33:W_%-=1:
26,4:=I%
w_:v_%=56:u_%=28:
28,59,11,79,0,12,26:x_%=
x_%=0
N_(0,340,1276,316,15):
28,1,20,78,12:
24,16;360;1264;640;:I%=0:H%=0:V%=0:P%=4:y_%=0:z_%=0:
16,636:y_%=1
h_%>0
:C%=__%?I%:I%+=1:
C%>31
C%:H%+=1
13,10:V%+=1:H%=0:y_%+=1:
y_%=2 z_%=I%+__%
I%=h_%:
z_% P%=2
28,P%)" Press SPACE to start ";:
31,H%,V%:
23,0,10,96,0,0,0,0,0,0:
K%>32
K%=32
K%=Y_%
K%=Y_%
28,P%)
(22);:
?z_%>31:
?z_%:z_%+=1:
31,H%,V%:*FX202,16
6,213,136:
6,214,2:B`%=h_%:
%1000
13:__%?h_%=10:
13,10:
x_%?h_%>13
C`:D`%+=1
h_%+=1
8,127:
h_%>0
/h_%-=1:
x_%?h_%<>10
__%?h_%<>x_%?h_% D`%-=1
4I%=h_%:
:I%-=1:
__%?I%=10
I%=-1:
31,h_%-1-I%,
E`%+=
K%<32
WO%=h_%-1:
__%?O%<>32:
127:O%-=1:
:__%?O%=10:
31,0,
O%<h_%:
__%?O%:O%+=1:
K%:__%?h_%=K%
x_%?h_%<>K%
C`:D`%+=1
h_%+=1
h_%>=W_%:E`%+=
F`:h_%=0:
23,0,10,16,0,0,0,0,0,0:
16,19)" Exercise finished, Press SPACE to continue ";:
`_:H%=16+(H%*u_%):V%=636-(V%*v_%):G`%=16+(43*u_%):
K%>32
K%=32
K%=Y_%
K%=Y_%
28,P%)
(22);:
24,16;352;1264;640;:
5:H`%=7:I`%=15:J`%=4:
I`%+128:
16,636-v_%:
?z_%>31:
?z_%:z_%+=1:
H%,V%:*FX202,16
6,213,136:
6,214,2:B`%=h_%:
3,J`%:
BY-u_%,0:
:K`%=
(-1)=0:
>K`%+25
3,J`%:
BY-u_%,0:K`%=
BY-u_%,0:
H`%:K%=
%1000
13:__%?h_%=10:
13,10:
x_%?h_%>13
C`:D`%+=1
h_%+=1:V%-=v_%:H%=16
8,127:
h_%>0
4/h_%-=1:
x_%?h_%<>10
__%?h_%<>x_%?h_% D`%-=1
H%=16
6II%=h_%:
:I%-=1:
__%?I%=10
I%=-1:V%+=v_%:H%=((h_%-1-I%)*u_%)+16:
H%,V%
127:H%-=u_%
E`%+=
K%<32
H%>G`%
CrO%=h_%-1:
__%?O%<>32:
127:O%-=1:
:__%?O%=10:V%-=v_%:H%=16:
H%,V%:
O%<h_%:O%+=1:
__%?O%:H%+=u_%:
K%:H%+=u_%
K%:__%?h_%=K%:H%+=u_%
x_%?h_%<>K%
C`:D`%+=1
h_%+=1
h_%>=W_%:E`%+=
F`:h_%=0:
23,0,10,16,0,0,0,0,0,0:
16,19)" Exercise finished, Press SPACE to continue ";:
6,213,101:
6,214,7:
4,26:
23,0,10,16,0,0,0,0,0,0:
0,0,1280,656:
I%=B`%
__%?I%<33 L`%+=1
:M`%+=(I%-B`%):N`%=(60000/E`%)*L`%:
4,26:
j_(2):
j_(3):
262373,,P`%:
I%=R`%
R`%+101:
:J%=P`%:
19,I%,16,J%?1,J%?2,J%?3:J%+=4:
19,0,24,J%?1,J%?2,J%?3
23,0,10,16,0,0,0,0,0,0:
23,129,0,0,255,255,255,255,0,0:
N_(372,792,536,212,12):
140:I%=X_%:
:C%=?I%:X%=I%?1:Y%=I%?2:I%+=3:
31,X%,Y%,C%:
C%=163:
S`(444,768):*FX4,1
*FX229,27
6,213,101:
6,214,7:
N_(0,660,320,356,2):
8,948,308,948:
4,944,312,944:
8,940,308,940:
7,1)"Status":
j_(I%):
j_(U`%):
31,3,U`%+2:
"Lesson ";f_%;" "
"Exercise ";p_%;" "
"Mistakes ";:
V`(c_%,b_%)
V`(M`%,D`%)
"Speed ";:
V`(Z_%>>4,c_%)
@%=&2010A:
;N`%/10;" ":@%=10
"Show key ";:
"On "
"Off"
"Key Click ";:
%1000
"On "
"Off"
"Delay ";a_%;" "
"Lessons ";O_%
"Exercises ";m_%
V`(W`%,X`%):
W`%=0
X`%=0
"0 ":
AY`=(X`%/W`%)*100:
Y`>=10
1;"% "
@%=&2010A:
;Y`;"% ":@%=10
%10000 L_%=L_%
%10000:
a`%<>b`%
c`(a`%,0):
c`(b`%,7):b`%=a`%
--- up arrow or page up
(-64)
%100000
S%>Z`%:
:S%-=1:
?S%=12:E%=S%:d`%-=1:
8,13);d`%;" ":
28,1,30,78,15:
?E%:E%+=1:
?E%=12
?E%=26:
:a`%-=1:
a`%=0 a`%=8
--- down arrow or page down
(-79)
%100000
E%?1<>26:S%=E%:d`%+=1:
8,13);d`%;" ":
28,1,30,78,15:
?E%:E%+=1:
?E%=12
?E%=26:
:a`%+=1:
a`%=9 a`%=1
--- left arrow
f_%>1 f_%-=1:
2 L_%=L_%
j_(2):
j_(3)
j_(1)
p_%>1 p_%-=1:h_%=0
1 L_%=L_%
j_(2):
j_(3)
j_(1)
a_%>1 a_%-=1:
j_(6)
--- right arrow
f_%<O_% f_%+=1:
2 L_%=L_%
j_(2):
j_(3)
j_(1)
p_%<m_% p_%+=1:h_%=0
1 L_%=L_%
j_(2):
j_(3)
j_(1)
a_%<200 a_%+=1:
j_(6)
2:c_%=0:b_%=0:Z_%=0:
2 L_%=L_%
j_(1):
j_(2):
j_(3):
3:h_%=0:L`%=0:M`%=0:D`%=0:E`%=0:
1 L_%=L_%
j_(1):
j_(2):
j_(3):
4:L_%=L_%
%100:
j_(4)
5:L_%=L_%
%1000:
j_(5)
%100000)=0
e`:L_%=L_%
%100000:
26,12:
262372,,P`%
6,213,101:
6,214,7:
6,138,0,&CC:
6,138,0,13:
N_(0,8,1276,620,14):
12,564,1264,564:
8,560,1268,560:
10,556,1264,556:
3,13)"Page 1 of ";f`%;" ---- Use the Page Up and Page Down keys for next/prev page"
28,1,30,78,15:E%=Z`%:S%=E%:d`%=1:
?E%=10
.E%+=1:
?E%=12
E%?1=0:L_%=L_%
%100000:
N_(956,660,320,356,2):
964,948,1264,948:
960,944,1268,944:
964,940,1264,940:
68,1)"Menu":
c`(I%,7):
:a`%=1:b`%=8:
c`(U`%,g`%):
g`%=0
31,63,2+U`%:
" Continue "
" New Lesson "
" New Exercise "
" Show Key "
" Key Click "
" Set Delay "
" Instructions "
" Desktop "
S`(x%,y%):
23,17,7,2,24;14;0;0;23,17,7,4,21;0;0;0;5:
x%,y%:
"Arch";:
BY-4,0:
"i";:
BY-8,0:
"type":
x%+12,y%+12:
"Arch";:
BY-4,0:
"i";:
BY-8,0:
"type":
x%+8,y%+8:
"Arch";:
BY-4,0:
"i";:
BY-8,0:
"type":
i_(x%,y%):
i_(x%,y%):
23,17,7,2,12;12;0;0;23,17,7,4,12;0;0;0;5:
x%+8,y%-68:
"By David Holden":
x%+20,y%-54:
"By David Holden":
x%+16,y%-60:
"By David Holden":
N_(x%,y%,w%,h%,g`%):
x%,y%,w%,h%:
x%+10,y%+8,x%+10,y%+h%-8:
x%+8,y%+h%-8,x%+8,y%+8:
x%+w%-8,y%+8:
x%+w%-8,y%+h%-8:
x%+8,y%+h%-8:
x%,y%+h%,x%,y%:
x%+w%,y%:
x%+w%,y%+h%:
x%,y%+h%:
263872:
R`%&80,P`%&50,X_%&180,h`%&400,i`%&100:
__%&800,F_%&100,I_%&80,j`%&180:
8,17,"<Obey$Dir>.progdata.DataC"
k`%,,,,W_%
8,16,"<Obey$Dir>.progdata.DataC",h`%,0
l`("Missing DataC file, unable to contine",1):
'-A%=0:B%=F_%:m`%=
(h`%):n`%=!F_%:
)Ro`%=
-&8000:p`%=
q`(&4000)=
l`(1,"Not enough RAM to run Architype"):
n`%>200 r`$="Temp3"
r`$="Temp2"
262361,,"<Obey$Dir>.progdata."+r`$:
262363,,p`%,j`%,j`%+&17F,-1,"Info",0
,,R%:
262337,,p`%
262363,,p`%,R%,j`%+&17F,i`%,"banner",0
,,R%:
262337,,p`%
262362:A%=1:C%=t`%:B%=
(h`%)
!F_%=s`%:F_%!4=1:
262350,,F_%:$(F_%!28)=A_$:!F_%=s`%:F_%!4=3:
262350,,F_%:$(F_%!28)=B_$:A$="":
?B%>31:A$+=
(?B%):B%+=1:
:F_%!&80=s`%:F_%!&84=4:
262350,,F_%+&80:$(F_%!&9C)=A$
8,17,"<Obey$Dir>.progdata.!palette"
k`%,,,,W_%:
8,16,"<Obey$Dir>.progdata.!palette",R`%,0:Q`%=
l`("Unable to find !Palette file, using Desktop palette",1):Q`%=
u`:L_%=%11101:
4=instruc req, 5=instruc on scrn, 6=time lock, 7=ex lock
a_%=20:f_%=1:p_%=1:b_%=0:D`%=0:Z_%=0:E`%=0:c_%=0:M`%=0:h_%=0:N`%=0:L`%=0:Y_%=27:$__%="TIME":U_%=!__%:$__%="LOCK":s_%=!__%:$__%="LARG":t_%=!__%:I%=X_%:
C%,X%,Y%:?I%=C%:I%?1=X%:I%?2=Y%:I%+=3:
C%=163:H_%=
263873:
u`:f`%=0:Z`%=p`%:
8,17,"<Obey$Dir>.resources.DataI"
k`%,,,,W_%:
W_%>&3FF0
q`(W_%+8)=
l`("Not enough RAM to load instructions"):
8,16,"<Obey$Dir>.resources.DataI",Z`%,0:Z`%?W_%=26:I%=Z`%:
:I%+=1:
?I%=12 f`%+=1
?I%=26:e_%=(p`%+W_%+8)
l`("Unable to find instructions",1):!Z`%=&0A0D0A0D:$(Z`%+4)=
26," ")+"
No instructions available"+
26:e_%=p`%+&48
:e_%!-4=&0A0A0A40:
8,17,"<ArchitypeRes$Dir>"
k`%=0 I%=
l`("Unable to find Resources directory",1):
`ZC%=0:w`%=e_%:!w`%=0:
12,10,"<ArchitypeRes$Dir>",__%,1,C%,&400,"LS*"
,,,F%,C%:
dzf$="":I%=__%+20:
?I%:f$+=
(?I%):I%+=1:
q`((w`%+__%!8)-p`%)=
l`("Not enough RAM available to load Lessons"):
8,16,"<ArchitypeRes$Dir>."+f$,w`%,0:w`%+=__%!8:
?w`%<>64:w`%-=1:
:w`%+=1:!w`%=&0A
C%<0:C%=0:o_%=(w`%+8)
3:x`%=o_%:!x`%=0:o_%!-4=&0A0A0A40:
12,10,"<ArchitypeRes$Dir>",__%,1,C%,&400,"EX*"
,,,F%,C%:
r|f$="":I%=__%+20:
?I%:f$+=
(?I%):I%+=1:
q`((x`%+__%!8)-p`%)=
l`("Not enough RAM available to load Exercises"):
8,16,"<ArchitypeRes$Dir>."+f$,x`%,0:x`%+=__%!8:
?x`%<>64:x`%-=1:
:x`%+=1:!x`%=&0A:x`%+=1
C%<0:O_%=
O_%=0
}.f_%=0:I%=
l`("Couldn't find any Lessons!")
:m_%=
m_%=0
0p_%=0:I%=
l`("Couldn't find any Exercises!")
y`:J%=0:
I%=e_%
?I%<32
I%?1=64 J%+=1
z`:J%=0:
I%=o_%
?I%<32
I%?1=64 J%+=1
H_:F_%!0=-1:F_%!4=8:F_%!8=12:F_%!12=88:F_%!16=96:F_%!20=&2002:$(F_%+24)="!architype":
262338,,F_%
H_%:=H_%
v`:m%=
I_ (I_%,"Architype",132):m%=
c` ("Info",2,s`%):m%=
c` ("Quit",&80,0):
c` (_`$,``%,Aa%):m%!0=``%:m%!4=Aa%:m%!8=&7000001:$(m%+12)=_`$:=m%+24
I_ (a%,Ba$,Ca%):$a%=Ba$:a%!12=&70207:a%!16=Ca%:a%!20=40:a%!24=0:=a%+28
E_(Da%):
263874:!F_%=
:$(F_%+4)=
$+" at line "+
262367,F_%,1,"Architype":
263874:
262365,m`%,&4B534154:
l`(l`$,f%):F_%!&80=0:$(F_%+&84)=l`$+
262367,F_%+&80,f%+16,"Architype"
,I%:=I%
q`(Ea%):
262380,o`%+Ea%,-1
e%<(o`%+Ea%):=
6,213,101:
6,214,7:
6,213,136:
6,214,2:
49,28,2
39,50,4
51,32,2
52,34,2
53,36,2
55,40,2
39,50,4
57,44,2
48,46,2
56,42,2
61,50,2
44,45,5
45,48,2
46,47,5
47,49,5
48,46,2
49,28,2
50,30,2
51,32,2
52,34,2
53,36,2
54,38,2
55,40,2
56,42,2
57,44,2
59,48,4
59,48,4
44,45,5
61,50,2
46,47,5
47,49,5
50,30,2
65,30,4
66,39,5
67,35,5
68,34,4
69,33,3
70,36,4
71,38,4
72,40,4
73,43,3
74,42,4
75,44,4
76,46,4
77,43,5
78,41,5
79,45,3
80,47,3
81,29,3
82,35,3
83,32,4
84,37,3
85,41,3
86,37,5
87,31,3
88,33,5
89,39,3
90,31,5
91,49,3
92,53,3
93,51,3
54,38,2
45,48,2
96,26,2
65,30,4
66,39,5
67,35,5
68,34,4
69,33,3
70,36,4
71,38,4
72,40,4
73,43,3
74,42,4
75,44,4
76,46,4
77,43,5
78,41,5
79,45,3
80,47,3
81,29,3
82,35,3
83,32,4
84,37,3
85,41,3
86,37,5
87,31,3
88,33,5
89,39,3
90,31,5
91,49,3
92,53,3
93,51,3
96,26,2
163,52,2