Page 1
p r o g r a m m i n g
f o r e d u c a t i o n
o n t h e c o m m o d o r e 6 4
a h a n d b o o k f o r p rimary e d u c a t io n
john sc riv en a n d p a t r i c k h a l l
Page 2
Page 3
p r o g r a m m i n g
for e d u c a t i o n
o n t h e c o m m o d o r e 6 4
a h a n d b o o k f o r p r i m a r y e d u c a t i o n
j o h n sc riv en a n d p a t r i c k h a l l
Page 4
F i r s t p u b l is h e d 1 9 8 4 by:
S u n s h i n e B o o k s ( a n i m p r i n t o f S c o t P r e s s L t d . )
1 2 - 1 3 L i tt le N e w p o r t S t r e e t ,
L o n d o n W C 2 R 3LD
C o p y r i g h t © P a t r i c k H a l l a n d J o h n Sc riv e n, 1 9 8 4
A l l r ig h ts r e s e r v e d . N o p a r t o f t h i s p u b l i c a t i o n m a y b e r e p r o d u c e d , s t o r e d
in a r e tr ie v al s y s t e m , o r t r a n s m i t t e d in a n y f o r m o r b y a n y m e a n s , elec
tro ni c, me c ha ni ca l, p h o t o c o p y i n g , r e c o r d i n g a n d / o r o t h e r w is e , w i t h o u t
t h e p r i o r w ri tt e n p e r m i s s i o n o f t h e P u b l i s h e r s .
B r i ti s h L i b r a r y C a t a l o g u in g in P u b l i c a t i o n D a t a
Sc riv en , J o h n
P r o g r a m m i n g f o r e d u c a t i o n o n t h e C o m m o d o r e 6 4 .
1 . E d u c a t i o n , E l e m e n t a r y
2 . C o m m o d o r e 6 4 ( C o m p u t e r )
I. T it l e I I . H a l l , P a t r i c k
3 7 2 . V 6 7 LB 1 0 2 8 . 4 3
-- -- -
D a t a p r o c e s s in g
ISBN 0 9 4 6 4 0 8 2 7 0
C o v e r des ign by G r a d G r a p h i c De si gn L t d .
I l l u s t r a t i o n by S t u a r t H u g h e s .
Ty pe se t a n d p r i n t e d in E n g l a n d b y C o m m e r c i a l C o l o u r P r e s s , L o n d o n E7 .
u
Page 5
C O N T E N T S
P a g e
P r o g r a m N o t e s v ii
I n t r o d u c t i o n ix
1 S ta r tin g w i t h M a t h s 1
2 S m a l l is B e a u t i f u l . . . 2 7
3 W o r d s , W o r d s , W o r d s 4 9
4 M a k i n g F r ie n d s w i t h y o u r K e y b o a r d 6 9
5 S t o r y T i m e 8 1
6 L o g i c a l l y S p e a k i n g 9 3
7 T h e R e a l T h i n g
1 0 7
i i i
Page 6
Page 7
C o n t e n t s in de ta i l
C H A P T E R 1
Star ting with Ma th s
S t a r t i n g o f f — t h e c o m p u t e r as c a l c u l a t o r — ch oic es a n d l o o p s — p r o
g r a m s a n d r a n d o m n e s s — T a b l e 1 : a t a b l e t e s t — i m p r o v e m e n t s — T a b l e 2 :
i n t r o d u c i n g t im e — u s in g g r a p h i c s a n d s o u n d — l o o k i n g f o r p a t t e r n s —
T a b l e P a t t e r n s : c h a n g i n g t h e d i s p l a y — Bi ngo : a g a m e s e tt in g f o r a t r a d i
t i o n a l i d e a — r e p e t i t i v e l e a r n i n g — m o v in g g r a p h i c s t o a d d i n t e r e s t —
F a c t o r : a p r o g r a m t o t e a c h f a c t o r i s a t i o n .
C H A P T E R 2
Smal l i s B e a u t i f u l . . .
S h o r t p r o g r a m s a n d e ff i c i e n c y — Miss in g: f i n d t h e n u m b e r s — o r d e r i n g
n u m b e r s — Seri es: m a t h s a s a n i n t r o d u c t i o n t o s t r a t e g y — sim p l ic it y in
p r o g r a m s t r u c t u r e — N u m b e r : a p r o g r a m t o f i n d a h i d d e n n u m b e r — u s in g
g r a p h i c s t o b r i g h t e n u p s im pl e i d e a s — F i r e w o r k : a p r o g r a m t o t e s t g e n e ra l
n u m e r i c a l sk il ls — t h e p r o b l e m s i n v o lv e d in l e a r n i n g f r a c t i o n s — F r a c t i o n :
a p r o g r a m t o h e lp w i t h n u m e r a t o r s a n d d e n o m i n a t o r s .
C H A P T E R 3
W or d s , W o rd s , W o rd s
H a n d l i n g w o r d s o n a c o m p u t e r — s o r t i n g t h i n g s — A l p h a s o r t : a p r o g r a m
t o s o r t w o r d s i n t o a l p h a b e t i c a l o r d e r — n u m b e r s in s tr i n g s — S i m o n : a
g a m e t o i m p r o v e m e m o r y — d i v e r s it y o f s u b j e c t s in p r i m a r y s c h o o ls —
p r o b l e m s i n sp ell ing — d i f f e r e n t a p p r o a c h e s — c o n t e x t clues — H a n g m a n :
a m u l t i - p u r p o s e sp ell in g p r o g r a m — r e s e a r c h ski lls — A n a g r a m : clue s
f r o m w o r d o r d e r .
C H A P T E R 4
M ak ing Friends wi th y ou r K e ybo ar d
T a c k li n g e n t r y e r r o r s — m e n u s — m a k i n g p r o g r a m s f o o l p r o o f — m o v in g
t h e c h a r a c t e r set — BigL: w r i ti n g l a r g e o n t h e s c re e n — K e y b o a r d : l e a r n i n g
t h e ke ys — M a s k i n g : c h a n g i n g b i n a r y n u m b e r s .
v
Page 8
Pro gr am mi n g f o r Ed u ca ti on on the C o m m o d o r e 6 4
CHAP TER 5
St ory Time
C r e a ti v it y — a r t i f i c i a l i n te lli g en c e — w o r d s a t r a n d o m — S t o ry : a p r o g r a m
t o h e lp w i t h c r e a ti v e w r i t i n g a n d a d j e c t i v e use — i n t e r a c t i v e u se o f
c o m p u t e r s — G o s h : m o r e s to r i e s .
CH APTER 6
L o g ic al l y S pe ak ing
Lo gi c al r e a s o n i n g — p r o b l e m solv in g — T r e a s u r e : f i n d i n g p i r a t e s ’ g o l d —
c o o r d i n a t e s — u s in g s o u n d a n d s p ri t e s — S o n a r : f i n d t h e s u b m a r i n e .
CHAP TER 7
The Rea l Th ing
U n i q u e ro le o f c o m p u t e r in s i m u l a t i o n — t h e a p p e a l o f c o m p u t e r g r a p h i c s
— s i m u l a t i o n ve rs u s i m m e d i a t e e x p e ri en c e — t h e r e a l m o f s i m u l a t i o n s —
L o c k : a n e x c u r s i o n o n t h e c a n a l — P o w e r : e le c tr i c i t y g e n e r a t i o n — i n t e r
a c t i v e s i m u l a t i o n s — e l e m e n t a r y s t a t i s t i c s — C o i n : p r o b a b i l i t y o f
t h r o w i n g a h e a d — C a s c a d e : P a s c a l ’ s t r i a n g l e .
v i
Page 9
P r o g r a m N o t e s
A ll C o m m o d o r e c o m p u t e r s u se s pe cia l c h a r a c t e r s t o c o n t r o l v a r i o u s f u n c
t i o n s o n t h e sc re e n . F o r i n s t a n c e , p r e s s i n g t h e [ C L R / H O M E ] key a n d
[ S H I F T ] w i l l c le a r t h e s c re e n. I f t h o s e k eys a r e p r e s s e d a f t e r a d o u b l e q u o t e
m a r k , a n in ve rs e h e a r t w i l l a p p e a r i n t h e l is tin g .
A l t h o u g h t h is i s o f t e n a q u i c k wa y t o c o n t r o l p r i n t c o l o u r s , in ve rs e c h a r
a c te rs a n d c u r s o r c o n t r o l , t h e r e a r e u s u a l l y le ss c o n f u s i n g ways o f a c h ie v
ing t h e s a m e e f f e c t . T o a v o i d c o n f u s i o n i n t h e l is t in g s , w e h a v e u s e d t h e s e
co de s as i n f r e q u e n t l y as p o s s ib l e . T h e e x c e p t i o n i s t h e u se o f S H I F T e d
C L R / H O M E t o c le a r t h e s c re e n as m e n t i o n e d a b o v e .
T o m a k e t h e list ing s c le a r e r , w h e r e t h is c h a r a c t e r a p p e a r s , it h a s b e e n
s u b s t i t u t e d by [ S H I F T / C L R / H O M E ] .
N o t e : P l e a s e b e c a r e f u l w h e n e n t e r i n g p r o g r a m s li s t e d in t h is b o o k . T h e
q u a l i t y o f p r i n t i n g f r o m a c o m p u t e r p r i n t e r m e a n s t h a t s o m e c h a r a c t e r s
c a n l o o k ve ry s im i la r — c o m m a s , in p a r t i c u l a r , c a n l o o k v e ry lik e fu ll
s to p s .
In t h e p r o g r a m l i s t i n g s , } a p p e a r s as
V l l
Page 10
Page 11
I n t r o d u c t i o n
T h e a im o f t h is b o o k was n o t o r ig i n a ll y t o t e a c h y o u B A S I C . W e h a d h o p e d
t o let it c o n t a i n e d u c a t i o n a l p r o g r a m s w hi c h w e o u r se lv e s h a d f o u n d
u s e f u l , a n d m er e ly w r i te a b o u t t h e i r u s e , as w e h a v e w it h t h e o t h e r b o o k s in
t h is series. As w e wer e c ol l e c t i n g m a t e r i a l , h o w e v e r , w e b e g a n t o re a lis e
t h a t m a n y p e o p le w h o u s e d t h is b o o k m i g h t h a v e h a d li t tl e e x pe ri en c e o f
c o m p u t e r s . F o r t h o s e t h a t a r e new t o c o m p u t e r s , w e h a v e s p e n t m o r e t im e
i n t r o d u c i n g t h e e a r l y p r o g r a m s .
We h o p e t o l e a d y o u s te p b y s te p t h r o u g h t h e i n it ia l s tag es t o sim pl e
p r o g r a m m i n g s kills. T h e s e a r e c o m b i n e d t o p r o d u c e s h o r t p r o g r a m s t h a t
sh ow h ow t h e C o m m o d o r e 6 4 c a n b e u s e d a t h o m e o r a t s c h o o l t o m a k e
l e a r n in g m o r e i n t e r e s t i n g , while a ls o d i s c o v e r in g s o m e t h i n g a b o u t t h e
c o m p u t e r i ts e lf .
T h e 6 4 i s a ve ry a d v a n c e d m i c r o c o m p u t e r a n d h a s s o m e o u t s t a n d i n g
f e a t u r e s . U n f o r t u n a t e l y , t h e s e a r e n o t ac ces sib le f r o m B A S I C w i t h o u t
a d d r e s s in g t h e m e m o r y d i r e c tl y , a n d t h i s m a k e s s o m e a s p e c t s o f t h e 6 4
m o r e o b s c u r e t h a n t h e y n e e d t o b e.
We w i l l a t t e m p t t o sh ow y o u t h a t t h e s e d r a w b a c k s c a n b e o v e r c o m e , a n d
t h a t y o u w i l l be a b le t o w r ite i n t e r e s t i n g e d u c a t i o n a l p r o g r a m s o n c e y o u
ha v e u n d e r s t o o d a li t tl e m o r e a b o u t h o w t h e 6 4 o p e r a t e s . I f s o m e t h i n g i s
n o t c le a r s t r a i g h t a w a y , c o m e b a c k t o it a t a l a t e r s ta g e a n d w i t h l u c k y o u
w i l l u n d e r s t a n d i t.
A b o v e all , t h i s i s a b o o k a b o u t d o i n g . N o o n e eve r l e a r n e d a b o u t
c o m p u t i n g s im pl y b y r e a d i n g a b o o k , so d o t r y o u t t h e e x a m pl es a n d a l t e r
t h in g s as y ou f i n d n e c es s a ry .
I f y o u ha v e s om e e xp e ri e n c e w i t h c o m p u t e r s , y o u c a n s k ip s o m e o f t h e
i n t r o d u c t o r y m a t e r i a l a n d div e i n t o t h e m e a t i e r s e c t i o n s . W e h o p e t h a t y o u
w o n ’ t be c o n t e n t s im pl y t o c o p y o u t t h e l is t in g s , b u t w il l m o d i f y a n d a d a p t
t h e p r o g r a m s a n d r o u t i n e s t o s u it y o u r o w n n e e d s.
All t h e p r o g r a m s h a v e b e e n t r i e d a n d t e s t e d , a n d a r e p r i n t e d f r o m t h e
a c t u a l lis tin gs , so t h e y s h o u l d w o r k f i r s t t i m e . I f t h e y d o n ’ t , i t ’ s p r o b a b l y
d u e t o a t in y t y p i n g e r r o r t h a t ’ s e s c a p e d y o u r n o t ic e . C h e c k t h e list in g
a g a i n s t t h e b o o k , as ev en a m is s in g se m i c o lo n c a n s t o p t h e p r o g r a m . I f , in
sp it e o f t h i s , yo u still f i n d s o m e t h i n g d o e s n ’ t w o r k as e x p e c t e d , w e ’ d lik e t o
k n o w a b o u t i t !
U l t i m a t e l y , w e h o p e t h a t y o u w il l c o n t i n u e t o e n j o y y o u r c o m p u t i n g a n d
t h a t t h is b o o k w il l h e lp y o u a c hi e ve y o u r a im s .
I X
Page 12
Page 13
C H A P T E R 1
St a rt in g w ith M a th s
S t a r t i n g o f f — t h e c o m p u t e r as c a lc u l a to r — c h o ic e s a n d l o o p s —
p r o g r a m s a n d r a n d o m n e s s — T a b le 1 : a t a b le t e s t — i m p r o v e m e n t s
— T a b le 2: i n t r o d u c i n g t i m e — u s in g g r a p h ic s a n d s o u n d — l o o k i n g
f o r p a t t e r n s — T a bl e P a t t e r n s : c h a n g in g t h e d i s p l a y — B i n g o : a g a m e
s e t t i n g f o r a t r a d i t i o n a l id ea — r e p e t i t i v e le a rn in g — m o v i n g
g r a p h ic s to a d d i n te r e s t — F a c t o r: a p r o g r a m t o teac h f a c t o r i s a t i o n .
T e n y ea rs a g o , it was u n u s u a l t o f i n d c a l c u l a t o r s in s c h o o ls , let a l o n e
c o m p u t e r s . T h e a d v e n t o f t h e h o m e c o m p u t e r , a n d c o m p u t e r s in s c h o o ls ,
b r in g s w it h it t h e r e s p o n s i b i l i t y t o m a k e s u r e a ) t h a t t h e u s e rs a r e f a m i l i a r
wi th t h e m a n d b) t h a t t h e y a r e us e d w ise ly .
I n t h is c h a p t e r w e sh all b e l o o k i n g a t h o w c o m p u t e r s use i n f o r m a t i o n ,
a n d ho w t h e y c a n d i s p l a y t h i s . I f y o u h a v e s o m e k n o w l e d g e o f c o m p u t e r s ,
t h e n y o u c a n s ki p o v e r t h e e a rl y s e c t i o n s . I f y o u a r e c o m i n g t o t h e 6 4 as
y o u r f i r s t m a c h i n e , t h e n it s h o u l d c le a r u p s o m e o f t h e m ys te rie s o f h o w
c o m p u t e r s c a n m a k e sim p le d e c is io ns a n d a p p e a r t o a c t i n te lli g en tl y .
I f y o u h a v e us e d a c a l c u l a t o r , t h e n y o u k n o w t h a t y o u e n t e r d a t a , in t h e
f o r m o f n u m b e r s , a l o n g w it h o p e r a t o r s , like p l u s o r m i n u s , t o tel l t h e c a l c u
l a t o r w h a t t o d o w i t h t h o s e n u m b e r s . F o r i n s t a n c e ,
2 + 2 - 1 =
A t ea ch sta ge o f t h e c a l c u l a t i o n , t h e d i s p l a y sh ow s t h e l a s t n u m b e r e n t e r e d
o r t h e r e s u l t a t t h a t s ta g e . Y o u c a n u se t h e 6 4 as a c a l c u l a t o r in t h e s a m e
way . I n s t e a d o f c a l c u l a t o r b u t t o n s , y o u c a n c o m m u n i c a t e w it h t h e 6 4 v i a
t h e k e y b o a r d . I f y o u e n t e r
2 + 2 - 1 [ R E T U R N ]
i t w i l l c a lc u la t e t h e r e s u l t . (T h e [ R E T U R N ] k ey c a n b e se en as se n d in g t h e
i n f o r m a t i o n y o u h a v e e n t e r e d in si d e t h e c o m p u t e r . ) T h e p r o b l e m i s t h a t ,
w he re as y o u s e e t h e r e s u l t a u t o m a t i c a l l y o n a c a l c u l a t o r , t h e 6 4 h a s t o be
t o l d t o d i s p l a y th e a n s w e r . T o s p e a k t o t h e c o m p u t e r , y o u h a v e t o u se t h e
la n g u a g e t h a t it u n d e r s t a n d s . T h e 6 4 uses t h e l a n g u a g e B A S I C , wh ic h i s a
1
Page 14
P ro gr am m in g f o r E du ca ti on on th e C o m m o d o r e 6 4
f a i r ly smal l set o f w o r d s t h a t a r e q u i t e clo se t o n o r m a l E n g l is h . T h e s e
w o r d s a r e e n t e r e d v i a th e k e y b o a r d , j u s t as o n a n o r m a l t y p e w r i t e r .
T o m a k e t h e 6 4 p r i n t s o m e t h i n g , y o u m u s t use t h e P R I N T s t a t e m e n t . I f
y o u e n te r
P R I N T 2 + 2 - 1 [ R E T U R N ]
t h e n t h e r e s u l t , 3 , w il l a p p e a r o n t h e s c re e n.
P R I N T c a n be u s e d t o w r i te w o r d s o n t h e sc re e n i n j u s t th e s a m e wa y . I f
y o u e n te r
P R I N T “ Y O G I B E A R ” [ R E T U R N ]
t h e n t h e w o r d s Y O G I B E A R w il l a p p e a r o n t h e sc re e n .
T h i s i s u s in g t h e c o m p u t e r in i m m e d i a t e m o d e , w hi c h i s h a n d y f o r
i n s t a n t c a l c u l a t i o n s , b u t i s h a r d l y u s in g it in t h e m a n n e r f o r w h ic h it w as
i n t e n d e d .
T h e m o s t u s e f u l p o i n t a b o u t c o m p u t e r s i s t h a t t h e y c a n s t o r e t h e i n s t r u c
t i o n s give n t o t h e m a n d f o ll o w t h e m in t h e c o r r e c t o r d e r .
So t h a t t h e y c a n f o ll o w t h e i n s t r u c t i o n s in t h e c o r r e c t o r d e r , t h e i n s t r u c
t i o n s a r e given line n u m b e r s . F i r s t m a k e s u re t h e r e ’ s n o t h i n g a l r e a d y in t h e
64 ’ s m e m o r y by t y p i n g N E W [ R E T U R N ] . T o p e r f o r m t h e s im pl e e x a m p l e
e a r l ie r , y o u c o u l d u se t h e fo ll o w i n g :
1 0 P R I N T “ T W O P L U S T W O T A K E O N E E Q U A L S ” ; [R E T U R N ]
2 0 P R I N T 2 + 2 - 1 [ R E T U R N ]
I f y o u e n t e r t h e lines as t h e y a r e w r i t t e n , t h e p r o g r a m line s a r e s t o r e d in t h e
c o m p u t e r ’ s m e m o r y .
{ I m p o r t a n t : M a k e s u re t h a t y o u e n t e r t h e line s e x a ct ly as t h e y a r e w r i t t e n .
H u m a n s c a n u n d e r s t a n d t h i n g s ev en w h e n t h e r e a r e m i s t a k e s , b u t
c o m p u t e r s a r e u n f o r g i v i n g a n d even p u t t i n g a l e t t e r 1 i n s t e a d o f a f ig u r e 1 ,
o r a l e t t e r O i n s t e a d o f a f i g u r e 0, w i l l p r e v e n t p r o g r a m i n s t r u c t i o n s f r o m
w o r k i n g . )
T o e xe cut e t h e i n s t r u c t i o n s , t h e c o m m a n d R U N m u s t b e e n t e r e d a n d t h e
[R E T U R N ] key p r e s s e d . T h e c o m p u t e r w i l l o b e y t h e i n s t r u c t i o n s in e a ch
line in t u r n , t h a t is, p r i n t t h e s e n te n c e in q u o t e s in lin e 1 0 f o ll o w e d b y t h e
a n s w e r t o t h e c a l c u l a t i o n in lin e 2 0. As t h e r e a r e n o m o r e lin e s, t h e p r o g r a m
w il l e n d t h e r e , a n d p a s s c o n t r o l b a c k t o y o u . ( F r o m n o w o n r e m e m b e r t o
p res s t h e [ R E T U R N ] key a t t h e e n d o f p r o g r a m lines a n d a f t e r c o m m a n d s .
T h e r e w o n ’ t b e a n y m o r e r e m i n d e r s ! )
P r o g r a m s , t h e n , a r e s im p ly lists o f i n s t r u c t i o n s t h a t t h e c o m p u t e r obe ys
in a p a r t i c u l a r o r d e r . I t d o e s n ’ t m a t t e r i n w h ic h o r d e r y o u e n t e r t h e line s,
t h e c o m p u t e r s o r t s t h e m o u t f o r y o u . So i f y o u n o w e n t e r
2
Page 15
C h a p t e r 1 S ta r ti n g with M a t h s
5 P R I N T “ T H I S IS M Y P R O G R A M ”
it w il l be e xe c u t e d f i r s t . R U N t h e p r o g r a m t o t e s t t h i s .
I f y o u use t h e c o m m a n d L I S T , t h e p r o g r a m y o u h a v e b e e n e n t e r i n g w i l l
a p p e a r o n t h e s c re e n i n t h e c o r r e c t o r d e r . T o g e t r i d o f o n e p a r t i c u l a r li n e ,
e n t e r j u s t t h e l in e n u m b e r . S o , e n t e r i n g
5 [ R E T U R N ]
f o ll o w e d b y L I S T , w il l sh o w y o u t h a t l in e 5 h a s i n d e e d b e e n d e le t e d .
T o de le t e a w h o l e p r o g r a m f r o m m e m o r y , u s e t h e c o m m a n d N E W . T h i s
c le a rs t h e c o m p l e t e B A S I C p r o g r a m , so d o n ’ t u s e i t u n l e s s y o u ’ r e s u re
t h a t ’ s w h a t y o u r e a l ly w a n t .
T r y i t no w a n d c h e c k t h a t y o u r p r o g r a m r e a l l y h a s d i s a p p e a r e d b y L I S T -
ing i t.
I n p u t s a n d v a r i a b l e s
As w e ll a s e n t e r i n g i n f o r m a t i o n i n p r o g r a m l in e s , y o u c a n e n t e r i t v i a t h e
k e y b o a r d d u r i n g t h e c o u r s e o f a p r o g r a m . T h e 64 s to r e s t h i s i n f o r m a t i o n i n
t h e f o r m o f v a r i a b l e s . T h i s i s j u s t a w a y o f s a y in g t h a t l e t t e r s c a n s t a n d f o r
v a r i o u s v a lu e s , l ik e i n a l g e b r a . I f y o u s ay X + 6 = 1 0 , t h e n X m u s t h a v e t h e
v a lu e 4. I n t h e l a n g u a g e B A S I C , y o u c a n a s s i g n a v a l u e t o a l e t t e r b y s im p l y
say in g X = 4.
E n t e r t h e f o ll o w i n g
X = 4
N o w , a s a d i r e c t s t a t e m e n t , e n t e r
P R I N T X
T h e v a lu e 4 w il l b e p r i n t e d o n t h e s c re e n .
X i s k n o w n a s a v a r i a b l e . I f t h e v a r i a b l e i s g o i n g t o s t a n d f o r s o m e t h i n g
i n p a r t i c u l a r , t h e n i t ’ s a g o o d i d e a t o u se a l o n g e r n a m e , f o r i n s t a n c e , t h e
v a r i a b l e t o h o l d a y e a r c o u l d b e Y E A R = 1 9 8 4 .
T h e 64 w ill o n l y r ec o g n i s e t h e f i r s t t w o l e t t e r s o f t h e v a r i a b l e , so Y E A R
a n d Y E L L O W a p p e a r t h e s a m e t o t h e c o m p u t e r . I f y o u e n t e r
Y E A R = 1 9 8 4
t h e n
Y E L L O W = 6
Page 16
P ro gr am m in g f o r E du ca ti on on th e C o m m o d o r e 6 4
t h e n
P R I N T Y E A R
th e r e s u l t 6 w il l a p p e a r , so b e c a r e f u l h o w y o u use v a r i a b l e n a m e s .
I f yo u w a n t t o s t o r e a s t r i n g o f c h a r a c t e r s , i e l e t t e r s , n u m b e r s , g r a p h i c
c h a r a c t e r s , o r a n y t h i n g el se o n t h e k e y b o a r d , y o u h a v e t o use w h a t i s c all ed
a str i n g v a r i a b l e . T h i s i s j u s t lik e a n u m e r i c v a r i a b l e e x c ep t t h a t it e n d s in a
$ .
E n t e r t his :
A$ = “ CB M 6 4 ”
P R I N T A $
T h e s tr i n g v a r i a b l e A$ n o w c o n t a i n s t h e s t r i n g o f c h a r a c t e r s CB M 64 , so
w he n y o u tell it t o p r i n t o u t A $ , t h a t i s w h a t i s p r i n t e d .
J u s t as it i s a g o o d i d e a t o u se m e a n i n g f u l n a m e s f o r n u m e r i c v a r i a b l e s ,
s tr i n g v a r i a b le s t o o a r e e a si e r t o u n d e r s t a n d w h e n t h e y m e a n s o m e t h i n g .
F o r e x a m p l e , N A M E S i s m o r e m e a n i n g f u l t h a n N$.
R e m e m b e r t h a t t h e 6 4 w i l l c o n f u s e N A M E S w it h N A I L S , as it o n l y r e c o g
ni se s t h e f i r s t t w o c h a r a c t e r s . I t i s a ls o i m p o r t a n t t h a t t h e v a r i a b l e n a m e
s h o u l d n o t c o n t a i n a B A S I C k e y w o r d . T h i s m e a n s t h a t F O R T i s n o t
a ll o w e d — it c o n t a i n s t h e B A S I C w o r d F O R . T h e v a r i a b l e B R I G H T O N S i s
n o t all ow e d as it c o n t a i n s t h e w o r d T O .
As wa s m e n t i o n e d e a r l i e r , v a r i a b l e s a r e u s e f u l w h e n y o u w a n t t o e n t e r
i n f o r m a t i o n d u r i n g t h e c o u r s e o f a p r o g r a m .
1 0 P R I N T “ E N T E R Y O U R N A M E ”
2 0 I N P U T N A M E S
3 0 P R I N T “ H E L L O , ” N A M E $
4 0 P R I N T “ E N T E R Y O U R A G E ”
5 0 I N P U T A G E
6 0 P R I N T “ M Y ! YO U D O N ’ T L O O K ” A G E ; N A M E $
T h i s p r o g r a m , w h e n R U N , w il l tell y o u t o e n t e r y o u r n a m e a t line 1 0 . I n line
20 , it w i l l s t o p p r o g r a m e x e c u t i o n u n t i l it re ceives a n i n p u t , f o ll o w e d b y a
p res s o n t h e [ R E T U R N ] k ey . W h a t e v e r i s e n t e r e d in t h is line b e c o m e s
k n o w n as N A M E S , a n d w il l b e p r i n t e d o u t in lin e 3 0 , a f t e r t h e w o r d
H E L L O .
L in e 4 0 w i l l p r i n t t h e r e q u e s t f o r t h e ag e o n t h e sc re e n , a n d t h is w il l be
s t o r e d as v a r i a b l e A G E in lin e 5 0 . N o t e t h a t y o u m u s t e n t e r t h is in f ig u r e s o r
t h e c o m p u t e r w il l tell y o u t o R E D O t h e i n p u t . Li n e 6 0 w il l p r i n t o u t t h e t e x t
in t h a t line pl u s t h e n a m e a n d age t h a t wer e e n t e r e d . T h e s e m i c o lo n
b e tw e en A G E a n d N A M E S i s i m p o r t a n t t o s e p a r a t e t h e m .
4
Page 17
C h a p te r 1 Sta rt in g wi th M a t h s
T o save e n t e r i n g R U N a g a i n a n d a g a i n , it i s p o s s ib l e t o se n d p r o g r a m
c o n t r o l b a c k t o t h e b e g in n i n g . T o d o t h i s , a d d t h e p r o g r a m line
7 0 G O T O 1 0
T h is w i l l c a u se t h e p r o g r a m t o go i n t o a n e v e r - e n d in g l o o p . T o get o u t o f
t h i s , it i s n e c es s a ry t o p re s s t h e R E S T O R E key while h o l d i n g d o w n t h e
R U N / S T O P key a t t h e s a m e t im e .
I f i t ’ s a t al l p o s s ib l e , a v o id u s in g G O T O s in y o u r p r o g r a m s . A l t h o u g h in
C o m m o d o r e B A S I C y o u h a v e t o u se t h e m s o m e t im e s , t h e y c a n m a k e t h e
s t r u c t u r e d i f f i c u l t t o u n d e r s t a n d .
S o m e p r o g r a m s
No w t h a t y ou c a n use v a r i a b le s a n d i n p u t s , y o u c a n s t a r t t o use y o u r 6 4 t o
w ri te simp le p r o g r a m s , a n d a ls o m a k e t h e m a p p e a r m o r e f r i e n d ly . N o t e
t h a t , in line 1 0 , t h e I N P U T s t a t e m e n t c a n i n c l u d e w o r d s t h a t a r e p r i n t e d .
1 0 I N P U T “ W H A T IS Y O U R N A M E ” ; N A M E $
2 0 I N P U T “ W H A T I S T H I S Y E A R I N F I G U R E S ’’ ; Y E A R
3 0 I N P U T “ W H A T I S T H E Y E A R O F Y O U R B I R T H ’’; B I R T H Y E A R
4 0 I N P U T “ H O W O L D A R E Y O U ” ; A G E
5 0 I F A G E = Y E A R - B I R T H Y E A R T H E N P R I N T “ I ’ L L B E L I E V E
Y O U ’’: S T O P
6 0 I F A G E = Y E A R - B I R T H Y E A R - 1 T H E N P R I N T “ I ’ L L
B E L I E V E Y O U ’’: S T O P
7 0 P R I N T “ I D O N ’ T B E L I E V E Y O U ’’
T h e s e m ic ol on s in I N P U T s t a t e m e n t s a r e e s se n tia l t o a v o i d a S Y N T A X
E R R O R m ess ag e. N o t i c e t o o t h a t y o u d o n ’ t n e e d t o p u t a q u e s t i o n m a r k
in; t h is i s a u t o m a t i c w h e n th e 6 4 expe cts a n i n p u t . Y o u s h o u l d u n d e r s t a n d
t h is p r o g r a m d o w n as f a r as lines 5 0 a n d 6 0 . I n t h e s e lin es , t h e c o m p u t e r
c he cks t o s e e i f t h e e n t e r e d a ge , A G E , i s p o s s ib l e . L i n e 5 0 i s f o r t h o s e w h o
ha v e a l r e a d y h a d t h e i r b i r t h d a y s t h is y e a r , a n d line 6 0 i s f o r t h o s e wh o se
b i r t h d a y s a r e ye t t o c o m e . I F t h e line i s t r u e , t h e n a m ess ag e i s p r i n t e d o u t ,
a n d t h e p r o g r a m s t o p s .
N o t e t h e use o f a c o l o n t o s e p a r a t e t w o s t a t e m e n t s o n t h e s a m e lin e. I f
n e i t h e r line 5 0 n o r line 6 0 i s t r u e , t h e p r o g r a m c o n t i n u e s t o line 7 0 , w h er e
t h e f in a l mess ag e i s p r i n t e d o u t , a n d t h e p r o g r a m s to p s as t h e r e a r e n o m o r e
li ne s l e f t t o e xe cu te .
T h e I F . . . T H E N s t a t e m e n t i s t h e f i r s t s t a t e m e n t t h a t y o u h a v e c o m e
a c ro s s t h a t gi ve s y o u r 6 4 s o m e i n te lli g en c e . A t l a s t it c a n m a k e d e c isi o n s
a c c o r d in g t o d i f f e r e n t c i r c u m s t a n c e s . Y o u c a n im a g in e a l m o s t a n y h u m a n
a c ti v it y b e in g g o v e rn e d b y I F . . . T H E N r u le s .
5
Page 18
P ro gr am m in g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
I F th e a l a r m goe s T H E N g et u p .
I F i t ’ s r a i n i n g T H E N go b a c k t o b e d .
T h e s e s t a t e m e n t s a r e v e ry u s e f u l in a p r o g r a m , as t h e y c a n t e s t f o r c o r r e c t
a ns w e rs t o p r o b l e m s p o s e d b y t h e c o m p u t e r .
1 0 Q u e s t i o n
2 0 A n s w e r
3 0 I F A n s w e r = ri g h t T H E N P R I N T “ O K ”
40 I F A n s w e r = w r o n g T H E N P R I N T “ S O R R Y ”
5 0 Ne xt Q u e s t i o n
6 0 N e x t A n s w e r
7 0 I F A n s w e r = . . .
etc.
L o o p s
I n t h e l a s t p r o g r a m , i f y o u h a d w a n t e d t e n q u e s t i o n s , y o u w o u l d h a v e h a d
t o r e p e a t t h e s a m e s t r u c t u r e as in t h e f i r s t f o u r lines t e n t im e s . A s w e ll as
b e in g w a s t e f u l o n m e m o r y , t h is w o u l d t a k e a l o n g t im e t o e n t e r . L u c k i ly ,
y o u c a n e m p l o y a l o o p t o t a k e y o u t h r o u g h t h e s a m e s e c t i o n o f p r o g r a m a
c e r t a i n n u m b e r o f ti m e s . T h e o n l y l o o p t h a t t h e 6 4 pos ses se s i s t h e F O R . . .
T O . . . N E X T l o o p . A l t h o u g h it l o o k s c o m p l i c a t e d , i t ’ s re a l ly q u i t e a
sim pl e id e a .
Yo u ne ed t o set u p a c o u n t e r in o n e p r o g r a m line a t t h e b e g in n i n g o f t h e
l o o p , a n d t o h a v e a m a r k e r l in e t o sh ow t h e e n d o f t h e l o o p . T h is e x a m p l e
s h o u l d e x p la i n it m o r e c le a rl y . F i r s t t y p e N E W t o g e t r i d o f t h e l a s t
p r o g r a m .
1 0 P R I N T “ L O O P S T A R T S N O W ”
2 0 F O R N = 1 T O 1 0
3 0 P R I N T “ L O O P N U M B E R ” N
4 0 N E X T N
5 0 P R I N T “ L O O P F I N I S H E D N O W ”
W h e n t h e p r o g r a m i s R U N , lin e 1 0 s im pl y p r i n t s a m es sa g e . Li n e 2 0 m e a n s
‘ Se t a c o u n t e r u p c a ll ed N . S t a r t c o u n t i n g f r o m 1 u n t i l y o u r e a c h 1 0 .’ Li n e
3 0 p r i n t s o u t t h e n u m b e r o f t h e l o o p , w h ic h i s 1 . L i n e 4 0 m e a n s ‘ I n c r e a s e N
by o n e a n d go b a c k t o t h e s t a r t o f t h e l o o p . ’ N i s t h e r e f o r e n o w 2 . P r o g r a m
c o n t r o l goes b a c k t o t h e s t a r t o f t h e l o o p in lin e 2 0; lin e 3 0 p r i n t s o u t L O O P
N U M B E R 2, N i s i n c r e a s e d o n c e a g a i n , a n d so o n . A t t h e e n d o f t h e t e n t h
t im e t h r o u g h t h e l o o p , N b e c o m e s 1 1 . W h e n t h e p r o g r a m r e t u r n s t o lin e 2 0 ,
t h e p r o g r a m says ‘ T h e l o o p i s o n l y s u p p o s e d t o go u p t o 1 0 , so p r o g r a m
6
Page 19
C h a p te r 1 S tar ti n g wi th M a t h s
c o n t r o l m u s t j u m p s t r a i g h t t o t h e f i r s t line a f t e r t h e e n d o f t h e l o o p ’, ie line
5 0 , a n d t h e f i n a l m ess ag e i s p r i n t e d o u t .
I f y o u e n t e r t h is s h o r t p r o g r a m , a n d R U N i t , y o u c a n s e e t h is in o p e r a
t i o n . A f t e r it h a s s t o p p e d , e n t e r P R I N T N , a n d y o u w il l s e e t h a t it d oe s
in d e e d c o n t a i n t h e v a lu e 1 1 .
W h e n a p r o g r a m i s R U N , all t h e n u m e r i c v a r i a b le s a r e set t o z e r o , a n d
t h e s tr i n g v a r i a b le s e m p t i e d , so y o u c a n r u n t h e p r o g r a m a g a i n a n d a g a in .
R a n d o m n u m b e r s
I f y ou w a n t t h e c o m p u t e r t o a s k s pe cif ic m a t h s q u e s t i o n s , y o u n o w h a v e al l
t h e k no w le d g e y o u n e e d . I t ’ s f a r m o r e u s e f u l t o h a v e it s elect t h e q u e s t i o n s
o u t o f a h a t , h o w e v e r , a n d t h e r e i s a v e ry u s e f u l fa c i li ty t o le t it d o j u s t t h a t .
I f y o u e n t e r P R I N T R N D (O ), t h e n a n u m b e r b e tw e e n z e ro a n d o n e w i l l
be p r i n t e d . T h i s n u m b e r i s c h o s e n a t r a n d o m , a n d t h e v a lu e c a n be a s si g n e d
t o a v a r i a b le .
1 0 F O R N = 1 T O 1 0
2 0 X = R N D ( O )
3 0 P R I N T X
4 0 N E X T N
T h is p r o g r a m w il l p r i n t o u t t e n r a n d o m n u m b e r s b e tw e e n z e ro a n d t e n .
N u m b e r s t h is sm a ll m a y n o t b e m u c h use in sim pl e n u m b e r p r o b l e m s , s o
line 2 0 c o u ld be c h a n g e d t o
2 0 X = RN D( 0) * 10 0
N o t e : C o m p u t e r s use a n a s t e r i s k ( * ) f o r m u l t i p l y so t h a t t h is w o n ’ t be
c o n f u s e d w it h t h e l e t t e r X . T h e d iv id e sign i s a n o b l i q u e lin e ( / ) .
Li ne 2 0 w il l no w g e n e r a t e n u m b e r s b e tw e e n z e ro a n d 1 0 0 . I f y o u R U N
th is n o w , y o u w il l s e e t h a t t h e n u m b e r s a r e so r a n d o m t h a t t h e y h a v e sev eral
d e c im al pl ac e s . T o lo se t h e d e c im a l p a r t o f t h e n u m b e r , c h a n g e line 2 0 t o
2 0 X = I N T ( R N D ( 0 )* 1 0 0 )
T hi s w il l g e n e r a t e in te g e r s , o r w h o l e n u m b e r s b e tw e e n z e ro a n d n i n e t y -
ni n e.
A t t h is s ta g e y o u k n o w h o w t o g e n e r a t e n u m b e r s a t r a n d o m , h o w t o l o o p
t e n tim es t o p r o d u c e t e n q u e s t i o n s , h o w t o i n p u t a n s w e rs a n d h o w t o ch e ck
t h a t t h e a ns w e rs a r e c o r r e c t . Y o u c a n c o m b i n e all t h e s e p o i n t s in a p r o g r a m
d e s ig n e d t o t e s t k n o w l e d g e o f o n e a s p e c t o f m a t h s .
7
Page 20
P ro gr am m in g f o r E d u ca ti on on th e C o m m o d o r e 6 4
T a b l e 1
1 0 R E M
2 0 R E M * * * T A B L E T E S T * * *
3 0 R E M
100 S C = 0
110 P R I N T " [ S H I F T / C L R / H O M E 1 "
120 P R I N T T A B < 1 2 ) " T A B L E T E S T "
130 F O R N = 1 T O 1 0
140 A = I N T ( R N D ( 0) * 1 3 )
15 0 B = I N T ( R N D ( 0) *1 3)
160 P R I N T T A B < 4 - N * . 1 1 ) ; N ; " ■ ) " A " X " B T A B ( 2 4
170 I N P U T G
180 I F G = A * B T H E N P R I N T T A B ( 3 0 ) " OK "
190 I F G = A * B T H E N S C = S C
2 0 0 I F G < > A * B T H E N P R I N T T A B ( 3 0 ) "N O - " 3 A * B
2 1 0 N E X T N
2 2 0 P R I N T " Y O U S C O R E D " ; SC
2 3 0 P R I N T " P R E S S S P A C E B A R T O GO"
2 4 0 G E T Z $
2 5 0 I F 7 . $ = " " T H E N G O T O 2 4 0
2 6 0 G O T O 1 00
R E A D Y .
+ 1
) " = " 5
C o m m e n t a r y
L in e 1 0 0 sets t h e v a r i a b l e SC , w hi c h h o l d s t h e s c o re , t o z e r o .
Li ne 1 2 0 use s t h e TA B s t a t e m e n t . T h i s m o v es t h e p r i n t p o s i t i o n a c ro s s t h e
scre en .
Li ne s 1 4 0 a n d 1 5 0 c h o o s e t w o n u m b e r s b e tw e e n 0 a n d 1 2 a t r a n d o m .
Li ne 1 6 0 p r i n t s t h e q u e s t i o n o n t h e s c re e n . Li ne s 1 7 0 t o 2 00 a c c e p t a n i n p u t
a n d ch e ck it a g a i n s t t h e c o r r e c t a n s w e r .
Li ne 1 9 0 i n c r e m e n t s t h e sc o re b y o n e . Li ne s 2 20 t o 2 60 p r i n t t h e s c o re a n d
a llo w t h e u s e r t o go a g a i n .
I n t h e p a s t , c o m p u t e r s h a v e alw a y s b e e n a s s o c i a t e d w i t h m a t h e m a t i c s a n d ,
even n o w a d a y s , c o m p u t e r s t e n d t o b e u s e d m o r e in t h e m a t h s a n d scien ce
d e p a r t m e n t s o f s c h o o ls . I n f a c t , c o m p u t e r s a r e g o o d a t o p e r a t i n g w i t h an y
k i n d o f s y m b o l s , n o t j u s t n u m b e r s , a n d it w o u l d be a p i t y i f t h e i r ‘ n u m b e r -
8
Page 21
C h a p te r 1 Sta rt in g wi th M a t h s
c r u n c h i n g ’ c a p a b i l i t y were t h e o n l y t h i n g t h e y were u s e d f o r in t h e e d u
c a t i o n a l s p h e re .
I n sp it e o f t h i s , m a t h s i s a n a r e a w h e r e a s im pl e i n t r o d u c t i o n c a n be
m a d e . T h is i s a ls o a n a r e a w h e r e it i s ea sy t o w r i te p r o g r a m s t h a t t e s t reca ll
w i t h o u t be in g t r u l y e d u c a t i o n a l . I t h a s b e e n s h o w n b y m a n y e d u c a t i o n a l
ps y c h o lo g i s ts since t h e w a r , s u c h as J e a n P i a g e t a n d J e r o m e B r u n e r , t h a t
c h il d r e n d e v e lo p b y p a s si n g t h r o u g h d i s t i n c t l e a r n i n g s ta g e s . T h e y c a n n o t
l e a r n a u t o m a t i c a l l y , b u t n e e d m u c h p r a c t i c a l e x pe ri en c e b e f o r e b e in g a b le
to m a n i p u l a t e sy m b o ls in t h e i r m in d s a n d f in a l ly ac h ie ve a s ta g e o f l o g ic a l,
f o r m a l t h o u g h t . T h e c o m p u t e r in its p r e s e n t f o r m c a n n o t r e p l a c e p r a c t i c a l
e xp e rie nc e , b u t its g r a p h i c c a p a b i l i t i e s c a n h e lp t r e m e n d o u s l y w h e re t h e
c hi ld be gin s t o l e a r n t o use s y m b o l s o r c o n c r e t e im ag es r a t h e r t h a n t h e
o b j e c t s th em se lv e s.
We ha v e t r i e d t o a v o id as f a r as p o s s ib l e t h e ty p e o f p r o g r a m t h a t uses a
c o m p u t e r t o d o w h a t c a n b e j u s t as easily a c h ie v e d u s in g t r a d i t i o n a l m a t e r
ials. C o m p u t e r s a r e e xp en siv e a r t e f a c t s t o h a v e a r o u n d w i t h o u t c a r e f u l
t h o u g h t b e in g given t o t h e i r m o s t p r o f i t a b l e u s e , w h e t h e r a t h o m e o r a t
s c h o o l.
Yo u m a y t h i n k t h a t w e h a v e s p e n t s o m e t im e o n sh o w in g y o u h o w t o
wr ite a p r o g r a m t h a t w e a r e n o w t e a r i n g t o pi eces. T h e t r a d i t i o n a l t a b l e t e s t
is , u n f o r t u n a t e l y , a n e x a m p l e o f a w e a k , d r i l l- ty p e p r o g r a m . T h e r e a s o n it
i s in c l u d e d h e re i s t h a t it d e m o n s t r a t e s s im pl e p r in c i p le s o f p r o g r a m de sig n
a n d i s easy t o u n d e r s t a n d .
I f t h is w as t h e o n l y s o r t o f p r o g r a m y o u we re ever g o i n g t o w r i te , w e
w o u l d c o n s id e r t h a t w e h a d f a i l e d in o u r a im t o i n t r o d u c e a m o r e d y n a m i c
a p p r o a c h t o us in g c o m p u t e r s in e d u c a t i o n . I t i s t r u e t h a t it m er e ly t es ts
r e c a ll, w i t h o u t r e i n f o r c i n g c o r r e c t a n s w e r s , d i a g n o s i n g p r o b l e m s o r
a t t e m p t i n g t o o f f e r h e lp . I t c a n , h o w e v e r , b e u s e d w it h c a u t i o n , p r o v i d e d
th es e s h o r t c o m i n g s a r e re a l is e d .
I n s t e a d o f lea v in g y o u w it h t h e s im p le v e r s i o n o f t h e p r o g r a m , h e r e i s a
lis tin g t h a t a t t e m p t s t o go o n e s te p f u r t h e r . I t p r o d u c e s t h e n u m b e r s a t
r a n d o m , b u t s t a r t s a t im e a t t h e f i r s t q u e s t i o n , so t h e u s e r h a s a t a r g e t t o
aim a t , in t r y i n g t o b e t t e r his o r h e r p r e v i o u s t im e . A ls o i n c l u d e d i s a f a c ili ty
f o r t h e t e a c h e r o r p a r e n t t o c he ck t h e r e s u l ts o f e a ch p r o g r a m r u n a n d t o
c o m p a r e t h e tim es t a k e n .
T a b l e 2
1 0 R E M * * , 7 . S C R I V E N * *
2 0 R E M
3 0 R E M * * 1 0 / 1 0 / 8 2 * *
4 0 R E M
5 0 R E M * * T I M E D T A B L E T E S T * *
6 0 R E M
7 0 R E M * * I N I T I A L I Z A T I O N * *
Page 22
P rog ram mi ng f o r E du ca ti o n on th e C o m m o d o r e 6 4
8 0 R E M
8 5 R E M
9 0 D I M N A $ ( 3 0 )
1 0 0 D I M S C (3 0 )
1 1 0 D I M T M ( 3 0 )
1 2 0 N U = 1
1 3 0 F L = 0
1 4 0 R E M
1 5 0 R E M * * T E S T L O O P * *
1 6 0 R E M
1 7 0 F O R N U = 1 T O 3 0
1 8 0 P R I N T " C S H I F T / C L R / H G M E 3 "
1 9 0 P R I N T T A B ( 1 2 ) " T A B L E T E S T "
2 0 0 P R I N T T A B ( 1 0 ) " E N T E R Y O U R N A M E "
2 1 0 I N P U T N A * ( N U )
2 2 0 P R I N T " O K , " ; N A $ ( N U )
2 3 0 P R I N T " P R E S S S P A C E B A R T O B E G I N "
2 4 0 G E T Z *
2 5 0 I F Z $ = " " T H E N 2 4 0
2 6 0 S C ( N I J ) = 0
2 7 0 T S = T I
2 8 0 P R I N T " C S H I F T / C L R / H O M E 3"
2 9 0 P R I N T T A B ( 1 2 ) " T A B L E T E S T "
3 0 0 P R I N T T A B ( 1 ) N A * ( N U )
3 1 0 F O R N = 1 T O 1 0
3 2 0 A = I N T ( R N D ( 0 ) * 1 3 )
3 3 0 B « T N T ( R N D ( 0 ) * 13)
3 4 0 P R I N T T A B ( 4 — N * . 1 1 ) ; N 5 "-) “ A " X " B T A B (
3 5 0 I N P U T G
3 6 0 I F G = A * B T H E N P R I N T T A B ( 3 0 ) " O K "
3 7 0 I F G = A * B T H E N S C ( N U ) = S C ( N U ) + 1
3 8 0 I F G < > A * B T H E N P R I N T T A B ( 3 0 ) " N O - " ;
3 9 0 N E X T N
4 0 0 T T = I N T ( ( T I - T S ) / 6 0 )
4 1 0 P R I N T N A t ( N U ) ;" S C O R E D " ; S C ( N U ) ;
4 2 0 P R I N T " O U T O F 1 0 I N " ; T T ;" S E C S "
4 3 0 T M ( N U ) = T T
4 4 0 P R I N T " P R E S S S P A C E B A R F O R A N O T H E R G O "
4 5 0 G E T Z $
4 6 0 I F Z' $=" " T H E N G O T O 4 5 0
4 7 0 I F Z $ = " . V ‘ T H E N G O T O 1 0 0 0
4 8 0 N E X T N U
4 9 0 P R I N T " C L A S S C O M P L E T E D "
5 0 0 F O R M = 1 T O 2 0 0 0 s N E X T M
1 0 0 0 R E M
1 0 1 0 R E M * * R E S U L T S R O U T I N E * *
1 0 2 0 R E M
1 0 3 0 P R I N T " C S H I F T / C L R / H O M E 3 "
1 0 4 0 P R I N T T A B ( 1 5 ) " R E S U L T S "
2 4 ) "
A * B
1 0
Page 23
C h a p te r 1 S tar ti n g wi th M a t h s
1 0 5 0 P R I N T
1 0 5 5 P R I N T
1 0 6 0 P R I N T T A B ( 5 ) " N A M E " ; T A B ( 2 4 ) " S C O R E " ; T A B ( 3 4 )
1 0 7 0 P R I N T
1 0 8 0 F O R N U = 1 T O 3 0
1 0 9 0 P R I N T N U 5 T A B ( 5 ) N A $ ( N U ) 5 T A B < 2 4 ) S C ( N U ) ;T A B ( 3 4 )
1 1 0 0 I F N U = 15 T H E N P R I N T " P R E S S S P A C E B A R T O
1 1 1 0 IF N U = 1 5 T H E N G E T Z $
1 1 2 0 I F Z $ = " " T H E N 1 1 1 0
1 1 3 0 N E X T N U
R E A D Y .
" T I M E ”
T M ( N U )
C O N T I N U E "
C o m m e n t a r y
O n e ex ercise, o f t e n gi ven t o c h i l d r e n l e a r n i n g t a b l e s , i s t o d i sc o v e r t h e
p a t t e r n s t h a t t h e a n s w e rs m a k e w h e n t h e s e n u m b e r s a r e s h a d e d in o n a g r id
o f f ig u r e s. It i s u s u a l t o m a k e t h e g r id 1 0 x 1 0 o r 1 2 x 1 2 , a n d t h is i d e a f o r m s
t h e ba s is o f t h e n e xt p r o g r a m .
T h e r e a r e m a n y ways i n w hi c h t h e 6 4 c o u l d be t o l d t o d r a w a g r id o f
n u m b e r s o n t h e s c re e n , su c h as p r i n t i n g e a c h lin e s e p a r a t e l y . A n e a t e r wa y ,
t h a t uses m o r e o f t h e c o m p u t e r ’ s i n - b u i l t f u n c t i o n s , w o u l d b e t o p u t t h e
p r i n t r o u t i n e in a l o o p . I f y o u s im pl y e n t e r e d
F O R N = 1 T O 2 0 0 : P R I N T N r N E X T N
t h e n u m b e r s w o u l d c e r t a i n l y a p p e a r , b u t t h e y w o u l d n o t be f o r m a t t e d in
n e a t lines w it h u n i t s a n d t e n s u n d e r n e a t h e a c h o t h e r . I f y o u c o n s i d e r t h e
scre en l a y o u t o n t h e 6 4, y o u w il l s e e t h a t t h e n u m b e r s c o u l d fi t i n v ery
r e g u l a rl y . T h e sc re e n i s 4 0 c h a r a c t e r s in w i d t h , a n d t h e l a r g e s t n u m b e r
t a k e s t h r e e f ig ur e s ( 2 ,0 a n d 0 ). I f a s p a c e i s l e f t b e tw e e n e a c h c o l u m n , y o u
c a n s e e t h a t t e n n u m b e r s , e a c h o n e p r e c e d e d b y a sp a c e , w il l e x a ct ly f it o n
e a ch l ine.
H T U H T U H T U H T U H T U H T U etc.
I f w e c o u ld tell t h e 6 4 t o P R I N T A T a p a r t i c u l a r r o w a n d c o l u m n p o s i
t i o n , it w o u l d b e ea sy. U n f o r t u n a t e l y , s u c h a c o m m a n d d o e s n o t exist in
C o m m o d o r e B A S I C . L u c k i ly f o r u s , h o w e v e r , t h e r e i s su c h a r o u t i n e
b u r i e d i nsi de t h e o p e r a t i n g s y s te m . N e a r t h e t o p o f t h e m e m o r y li e s t h e
k e r n a l . T h is i s a t a b l e o f r o u t i n e s t h a t j u m p t o d i f f e r e n t p a r t s o f t h e
m e m o r y t o p e r f o r m p a r t i c u l a r f u n c t i o n s . T h e o n e w e a r e i n t e r e s t e d i n i s
c all ed P L O T a n d l i e s a t l o c a t i o n 65 5 2 0. Al l y o u n e e d d o i s l o a d t w o r eg is
1 1
Page 24
P ro gr am m in g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
t e r s w it h th e r o w a n d c o l u m n va lu e s b y P O K E i n g , a n d t h e n call t h e k e r n a l
r o u t i n e P L O T . Y o u c a n d o t h i s in o n e line:
P O K E 7 8 2 , X : P O K E 78 1 ,Y :S Y S 6 5 5 2 0 : R E T U R N
a n d GO SU B t h is r o u t i n e j u s t b e f o r e y o u p r i n t s o m e t h i n g . T h e new p r i n t
p o s i t i o n w i l l be a t t h e X a n d Y c o o r d i n a t e s y o u h a v e j u s t e n t e r e d . T h i s i s a
ve ry u s e fu l r o u t i n e a n d y o u w il l f i n d it o c c u r r i n g q u i t e f r e q u e n t l y in t h e s e
p r o g r a m s . I n t h e n e x t p r o g r a m , it i s u s e d t o m ov e t h e p r i n t p o s i t i o n a c ro s s
t o e a ch new c o l u m n a n d r o w .
W h e n t h e n u m b e r s h a v e b e e n p r i n t e d , t h e u s e r i s a s k e d t o e n t e r t h e t a b l e
t h a t i s r e q u i r e d . S o t h a t t h e s e n u m b e r s s h o w u p , t h e n e x t r o u t i n e c h a n g es
t h e c o l o u r o f j u s t t h e s e n u m b e r s t o w h i t e . A g a i n , t h is i s n o t a v ery c o m p l e x
t a s k . T h e 6 4 s to r e s th e s c re e n t e x t in o n e set o f l o c a t i o n s , a n d t h e c o l o u r in
wh ic h t h e t e x t a p p e a r s in a n o t h e r . T h e s e c o n d set o f l o c a t i o n s s t a r t s a t
55 2 9 6 . As t h e g r id o f n u m b e r s i s s p a c e d ev e nl y , s t a r t i n g a t ev ery f o u r t h
l o c a t i o n , t h e c o l o u r v a lu e c a n b e P O K E d in a n o t h e r F O R . . . N E X T l o o p .
H o w c a n y o u tel l it t o a c t o n l y o n t h e n u m b e r s in t h e p a r t i c u l a r t a b l e
c h o s e n ? A u s e f u l tr i c k i s t o t e s t i f t h e r e i s a r e m a i n d e r a f t e r d iv is io n b y t h e
t a b l e n u m b e r . I f t h i s see ms d i f f i c u l t t o g r a s p , t r y t h i s p r o g r a m :
1 0 I N P U T A
2 0 F O R N = 1 T O 1 0 0
3 0 I F I N T ( N / A ) = N / A T H E N P R I N T A
4 0 N E X T N
T h is r u n s t h r o u g h t h e n u m b e r s f r o m 1 t o 1 0 0 , a n d d iv id e s e a c h o n e b y t h e
n u m b e r y o u i n p u t . I f t h e n u m b e r h a s a r e m a i n d e r , t h e I N T f u n c t i o n w i l l
r o u n d d o w n t o t h e n e a r e s t w h o l e n u m b e r b e lo w , e g I N T ( 1 1 . 5 ) = 1 1 . I t w i l l
o n l y p r i n t t h o s e n u m b e r s t h a t d o n ’ t h a v e a r e m a i n d e r , as t h e I N T e g e r o f 1 2
i s 1 2 .
N o t i c e t h a t th i s p r o g r a m te s t s t h e co d e s o f k eys t h a t a r e p r e s s e d i n G E T
s t a t e m e n t s . I f a n y key o t h e r t h a n t h e n u m b e r s 1 t o 9 i s p r e s s e d , t h e p r o g r a m
l o o p s b a c k t o a s k f o r t h e k ey t o b e p r e s s e d a g a i n .
T a b l e P a t t e r n s
1 0
R E M
* # *
T A B L E
P A T T E R N S
* * *
2 0 R E M
3 0 R E M
* * *
A . J . S .
, 4 / 1 0 / 8 3
* • # *
4 0 R E M
5 0 R E M
6 0 R E M
1 2
C L E A R S C R E E N +
T i l l .
Page 25
C h a p te r 1 S ta r ti n g with M a t h s
7 0 R E M
8 @ P R I N T " C S H I F T / C L . R / H O M E 1 "
9 0 X = 0 : Y = 0 5 G O S U B 5 4 0
1 0 0 P R I N T "T A B L E P A T T E R N S "
1 1 0 X = 2 : Y ~ 2
1 2 0 R E M
1 3 0 R E M * * * L O O P T O P R I N T N U M B E R S * * *
1 4 0 R E M
1 5 0 F O R N * 1 T O 2 0 0
1 6 0 I F N = 1 0 O R N = 1 0 0 T H E N X = X - 1
1 7 0 6 0 S U B 5 4 0 : F ’ R I N T N
1 8 0 X ~ X + 4 '
1 9 0 I F I N T ( N / 1 0 ) = N / 1 0 T H E N X - l
2 0 0 I F I N T ( N / 1 0) - ~ N / 1 0 T H E N Y = Y + 1
2 1 0 I F I N T ( N / 1 0 ) = N / 1 0 A N D N > 9 9 T H E N X = 0
2 2 0 N E X T N
2 3 0 R E M
2 4 0 R E M * * * S E L E C T T A B L E R O U T I N E * * *
2 5 0 R E M
2 6 0 P O K E 1 9 8 , 0
2 7 0 X = 5 : Y « 2 3 :G O S U B 5 4 0
2 8 0 P R I N T " * P R E S S T H E T A B L E N U M B E R * "
2 9 0 G E T A T : I F A T = " " T H E N 2 9 0
3 0 0 A - ~ V A L . . ( A T )
3 1 0 I F A C 1 T H E N 2 6 0
3 2 0 X = 3 0 : Y = 0 : G O S U B 5 4 0 : P R I N T " T A B L E " A "
3 3 0 R E M
3 4 0 R E M * * * C H A N G E N U M B E R C O L O U R S * * *
3 5 0 R E M
3 6 0 C O L = 5 5 2 9 6
3 7 0 F O R N = 1 T O 2 0 0
3 8 0 IF I N T ( N / A ) < > N / A T H E N 4 2 0
3 9 0 P O K E C O L . + 8 1 + ( N - 1 ) * 4 , 1
3 9 4 R E M
4 0 0 P O K E C O L + 8 1 + ( N - - 1 ) * 4 + 1 , 1
4 1 0 P O K E C O L + 8 1 + < N - 1 ) * 4 + 2 , 1
4 2 0 N E X T N
4 3 0 X = 5 : Y = 2 3 :G O S U B 5 4 0
4 4 0 P O K E 1 9 8 , 0
4 5 0 P R I N T " P R E S S S P A C E B A R T O C L E A R "
4 6 0 G E T A T : I F A T = " " T H E N 4 6 0
4 7 0 F O R N = 5 5 2 9 6 T O 5 6 3 1 9
4 8 0 P O K E N , 1 4
4 9 0 N E X T N
1 3
Page 26
P ro g ra m m in g f o r E du ca ti on on t h e C o m m o d o r e 64
5 0 0 G O T O 2 6 0
5 1 0 R E M
5 2 0 R E M * * * " P R I N T A T " S U B R O U T I N E * * *
5 3 0 R E M
5 4 0 P 0 K E 7 8 2 ,X s P 0 K E 7 8 1 , Y s S Y S 6 5 5 2 0 s R E T U R N
R E A D Y .
C o m m e n t a r y
L i n e 8 0 c le a rs t h e s c re e n . L i n e 9 0 sets t h e X a n d Y c o o r d i n a t e s t o z e r o .
Lin es 1 5 0 t o 2 20 c o n t a i n t h e l o o p t h a t p r i n t s t h e t a b l e g r i d .
Lines 1 9 0 t o 2 10 m ov e t h e p r i n t p o s i t i o n a t t h e e n d o f t h e line — w h e n t h e
va lu e o f N i s e x a ct ly di v isi bl e b y 1 0 .
Lines 2 6 0 t o 3 1 0 all o w t h e n u m b e r o f t h e t a b l e t o b e i n p u t . L i n e 3 2 0 p r i n t s
t h e t a b l e n u m b e r a t t h e t o p o f t h e s c re e n .
V a r ia b l e C O L i s t h e l o c a t i o n o f c o l o u r m e m o r y . Li ne s 3 7 0 t o 420 c h a n g e
t h e t e x t c o l o u r b y P O K E i n g t h e r e l e v a n t m e m o r y l o c a t i o n s . L in e 3 8 0 sk ips
ov e r t h e P O K E s i f t h e v a lu e o f N i s n o t e x a c t ly di v isi b le b y t h e t a b l e c h o s e n .
L in e 5 4 0 c o n t a i n s t h e ‘ P R I N T A T ’ s u b r o u t i n e .
Lin es 28 0 a n d 45 0 c o n t a i n t h e s a m e n u m b e r o f c h a r a c t e r s in t h e p r i n t
s t a t e m e n t s so t h a t t h e y c a n p r i n t o n t o p o f o n e a n o t h e r .
B i n g o
A f t e r t h e e le m e n t p r o g r a m s in t h i s c h a p t e r , w e m o v e o n t o a c o u p le i n t h e
a r e a o f m a t h s t h a t ex te n d t h e u se o f t h e 6 4 ’ s f e a t u r e s . I f y o u a r e f a i r l y new
t o B A S I C , y o u m a y f i n d t h e i d ea s m o r e d i f f i c u l t t o g r a s p . A l t h o u g h t h e y
a r e e x p la i n e d in s o m e d e t a i l in t h e p r o g r a m n o t e s , y o u m a y p r e f e r s im p ly t o
t y p e in t h e l is tin g s . As y o u r ski lls i m p r o v e in t h e f o ll o w i n g c h a p t e r s , y o u
c a n c o m e b a c k t o t h e s e p r o g r a m s a t a l a t e r st a g e .
Bi ng o i s a n a t t e m p t t o m o v e b e y o n d t h e s im p le a p p r o a c h o f a n s w e ri n g
q u e s ti o n s o n s c re e n . T h e c h il d i s p r e s e n t e d w i t h a g a m e f o r m a t , a n d ,
a l t h o u g h t h e q u e s t i o n s still o n l y t e s t r ec a ll o f p r e v i o u s l y - l e a r n e d k n o w
1 4
Page 27
C h a p te r 1 S ta r ti n g wi th M a t h s
l edg e, t h e r e i s a r e w a r d m o ti v e in c o m p l e t i n g t h e w h o l e c a r d . W h e n t h is
s ta ge i s r e a c h e d , t h e r e i s a v i su a l d i s p l a y .
T h e r e i s alw ay s s o m e p r o b l e m o v e r h o w m a n y o f a c o m p u t e r ’ s fa c ili tie s
ne ed t o be i n c o r p o r a t e d in ev ery p r o g r a m . J u s t b e c a u s e C o m m o d o r e
c o m p u t e r s s u p p o r t v oi ce s y n th e s i s , h i g h - r e s o l u t i o n g r a p h i c s a n d m u si c in
t h r e e - p a r t h a r m o n y , it d o e s n o t m e a n t h a t a g o o d p r o g r a m h a s t o po ss ess
al l o f th e s e f e a t u r e s , o r i n d e e d a n y o f t h e m . A h a p p y m e d i u m h a s t o b e
r e a c h e d a t t h e p l a n n i n g st a g e . S o m e p r o g r a m s b e n e f i t f r o m u s in g sp e ci a lis t
f e a t u r e s , b u t u s u a l l y t a k e m o r e t im e t o p r o g r a m . I n s o m e ca se s, t h e i r
i m p l e m e n t a t i o n c a n b e i r r i t a t i n g a n d w o r k c o n t r a r y t o t h e e x p e c t a t i o n o f
t h e t e a c h e r o r p a r e n t .
O n e e x a m p le i s t h e a d d i t i o n o f l o u d s o u n d e f f e c t s , w h i c h c a n b e d i s t u r b
ing in a c l a s s r o o m i f t h e r e a r e o t h e r c h i l d r e n e n g a g e d i n q u i e t a c ti v it ie s . I f
t h is i s t h e ca se , r e m o v a l o f t h e o f f e n d i n g s o u n d c o m m a n d s w il l p r o v e a n
a n s w e r. A n a l t e r n a t i v e , o f c o u r s e , i s t o r e d u c e t h e v o l u m e b y u se o f t h e TV
v o l u m e c o n t r o l ! F l a s h i n g d i sp l a y s s h o u l d u s u a l l y b e a v o i d e d . W h e r e
s e ct io n s o f t h e s c re e n a r e r e q u i r e d t o f l a s h , t h i s i s d o n e t o d r a w a t t e n t i o n t o
p a r t o f t h e d is p l a y . H a v i n g h a d p e r s o n a l e x p e ri en c e o f a c h il d s u f f e r i n g a
p e t i t m a t a t t a c k d u e t o t h e p r o g r a m l o a d i n g d i s p l a y o n a c h e a p e r c o m p u t e r ,
w e a r e p a r t i c u l a r l y a w a r e o f t h is p o s s i b i li ty . A l s o , o v e ru s e o f t h is f e a t u r e
i s likely t o p r o v e d i s t r a c t i n g i n m a n y case s.
1 0 R E M B I M B O - P A T H A L L , J A N ' 8 4
2 0 R E M
3 0 G O S U B 1 1 0 * R E M I N I T I A L I S A T I O N
4 0 G O B U B 3 3 0 : R E M S E T U P
5 0 G O S U B 7 7 0 : R E M T E S T -
6 0 G O S U B 1 1 5 0 s R E M R E W A R D
7 0 G O T O 4 0
8 0 E N D
9 0 R E M I N I T I A L I S A T I O N
1 0 0 R E M S E T U P A R R A Y S
1 1 0 D I M A ( 2 0 ) : D I M B < 2 0 )
1 2 0 D I M C ( 2 0 ) s D I M D ( 2 0 )
1 3 0 D I M L B ( 2 0 )
1 4 0 R E M S E L E C T L O C A T I O N S F O R B O X E S
1 5 0 N = 0
1 6 0 F O R I = 1 1 4 4 T O 1 1 8 0 S T E P 9
1 7 0 F O R J = 0 T O 6 0 0 S T E P 2 0 0
1 8 0 N N + 1
1 9 0 L B ( N ) = I + J
2 0 0 N E X T J
2 1 0 N E X T I
1 5
Page 28
Pro g ra m mi n g f o r E d u ca ti on on th e C o m m o d o r e 6 4
2 2 0 R E M I N I T I A L I S E G A M E A M D S C O R E
2 3 0 6 » 0 s S * 0
2 4 0 R E M W H I T E S C R E E N
2 5 0 P O K E 5 3 2 8 0 , 1 s P O K E 5 3 2 8 1 , 1
2 6 0 P R I N T " "
2 7 0 R E M S W I T C H O N E X T E N D E D C O L O U R M O D E
2 8 0 P O K E 5 3 2 6 5 , 9 1
2 9 0 R E T U R N
3 0 0 R E M
3 1 0 R E M S E T U P G A M E
3 2 0 R E M Y E L L O W B A C K G R O U N D
3 3 0 P O K E 5 3 2 8 2 , 7
3 4 0 R E M P U T T I T L E E T C . . O N S C R E E N
3 5 0 P R I N T C H R ' - T ( 1 4 4 )
3 6 0 X » 1 4 s Y - 0 : G O S U B 7 1 0
3 7 0 P R I N T " < < B I N G O > > "
3 8 0 P R I N T C H R T < 2 8 )
3 9 0 X - 0 : Y = 1 : G O S U B 7 1 0
4 0 0 G = G + 1
4 1 0 P R I N T " G A M E " $ G
4 2 . 0 X = 3 1 : G O S U B 7 1 0
4 3 0 P R I N T " S C O R E ” r , S
4 4 0 F O R I = 1 T O 2 0
4 5 0 R E M I N I T I A L I S E F L A G
4 6 0 D < I ) = 0
4 7 0 R E M C A L C U L A T E N U M B E R
4 8 0 A ( I ) = I N T ( R N D ( 1 > * 8 > + 2
4 9 0 B ( I ) = I N T < R N D ( 1 ) * 5 ) + 5
5 0 0 C < I ) = A ( I ) * B < I )
5 1 0 R E M P L A C E B O X O N S C R E E N
5 2 0 F O R J = 0 T O 3
5 3 0 F O R i < = 0 T O 8 0 S T E P 4 0
5 4 0 L = L B ( I ) + J • + • K
5 5 0 P O K E L + 5 4 2 7 2 , 7 ; P O K E L, 9 6
5 6 0 N E X T K
5 7 0 N E X T J
5 8 0 R E M P L A C E N U M B E R I N B O X
5 9 0 R E M R E D F O R E G R O U N D
6 0 0 P O K E L B ( I } + 5 4 3 1 3 , 2
6 1 0 P O K E L B ( I ) + 5 4 3 1 4 , 2
6 2 0 E = I N T ( C < I > / 1 0 ) + 1 1 2
6 3 0 P O K E L B ( I ) + 4 1 , E
6 4 0 E = E - 1 1 2
6 5 0 E = C ( I ) - E * 1 0 + 1 1 2
1 6
Page 29
C h a p te r 1 S ta r ti n g with M a t h s
6 6 0 P O K E L B < I ) + 4 2 , E
6 7 0 N E X T I
6 8 0 R E T U R N
6 9 0 R E M
7 0 0 R E M P R I N T T A B R O U T I N E
7 1 0 P O K E 7 8 2 , X . s P O K E 7 8 1 , Y
7 2 0 S Y S 6 5 5 2 0
7 3 0 R E T U R N
7 4 0 R E M
7 5 0 R E M T E S T R O U T I N E
7 6 0 R E M C H O O S E O N E B O X A T R A N D O M
7 7 0 T = I N T ( R N D ( 1 ) * 2 0 ) + 1
7 8 0 R E M C H E C K B O X I S S T I L L O N S C R E E N
7 9 0 I F D ( T ) = 1 T H E N 7 7 0
8 0 0 D I T > = 1
8 1 0 X = 9 s Y = 2 2 s G O S U B 7 1 0
8 2 0 P R I N T " W H A T I S " A I T ) " X " B I T )
8 3 0 X . = 3 0 : G O S U B 7 1 0
8 4 0 P R I N T "
8 5 0 X = 3 0 : G O S U B 7 1 0
8 6 0 I N P U T A N * s A N = V A L I A N * )
8 7 0 I F A N < > C l T ) T H E N 8 3 0
8 8 0 R E M I N C R E A S E S C O R E
8 9 0 S = S + 1
9 0 0 X - ■ 3 7 : Y = 1 : G O S U B 7 1 0
9 1 0 P R I N T S
9 2 0 R E M S O U N D E F F E C T , V O I C E 1
9 3 0 P O K E 5 4 2 9 6 , 1 5 : R E M V O L U M E
9 4 0 P O K E 5 4 2 7 7 , 1 3 6 : R E M A T T / D E C
9 5 0 P O K E 5 4 2 7 8 , 1 3 6 ; R E M S U S T / R E L
9 6 0 P O K E . 5 4 2 7 6 , 17 : R E M W A V E F O R M
9 7 0 P O K E 5 4 2 7 3 , 7 6 : R E M H I G H N O T E
9 8 0 P O K E 5 4 2 7 2 , 2 5 2 : R E M L O W N O T E
9 9 0 F O R I = 1 T O 1 0 0 s N E X T I
1 0 0 0 P O K E 5 4 2 7 7 , 0
1 0 1 0 P O K E 5 4 2 7 8 , 0
1 0 2 0 P O K E 5 4 2 7 6 , 0
1 0 3 0 R E M E R A S E B O X
1 0 4 0 F O R I = 0 T O 3
1 0 5 0 F O R J = 0 T O 8 0 S T E P 4 0
1 0 6 0 L = L B I T ) + I + J
1 0 7 0 P O K E L . + 5 4 2 7 2 , 1 : P O K E L, 3 2
1 0 8 0 N E X T J
1 0 9 0 N E X T I
1 7
Page 30
P r o g r a m m i n g / o r E du ca ti o n o n t h e C o m m o d o r e 6 4
1 1 0 0
1 1 1 0 F O R I
1 1 2 0
I F I N T < 8 / 2 0 ) < > S / 2 0
= 1
R E T U R N
1 1 3 0 R E M
1 1 4 0
1 1 5 0
R E M R E W A R D R O U T I N E
P R I N T
i t l l
1 1 6 0 R E S T O R E
1 1 7 0
F O R I
1 1 8 0 R E A D
1 1 9 0
F O R J = = 0 T O 1
1 2 0 0 F O R K
1 2 1 0
1 2 2 0
1 2 3 0
1 2 4 0
1 2 5 0
1 2 6 0
1 2 7 0
1 2 8 0
P O K E
P O K E
N E X T K
N E X T
N E X T I
F O R I = 1 T O 3 0 0 0
P R I N T
R E T U R N
= 1
N
= 0
N + J
N + J
J
H M
1 2 9 0 R E M
1 3 0 0
1 3 1 0 D A T A
R E M D
A T A F O R ' B I N G O '
1 0 2 4 , 1 1 0 4 , 1 1 8 4 ,
1 3 2 0 D A T A 1 4 2 4 ,
1 3 3 0 D A T A 1 8 2 4 ,
1 3 4 0
1 3 5 0
1 3 6 0
1 3 7 0
1 3 8 0
1 3 9 0
1 4 0 0
1 4 1 0
1 4 2 0
1 4 3 0 D A T A
1 4 4 0
1 4 5 0
1 4 6 0 D A T A
1 4 7 0
1 4 8 0
1 4 9 0
1 5 0 0
1 5 1 0
1 5 2 0
1 5 3 0
D A T A 1 1 9 0 ,
D A T A 1 5 4 8 ,
D A T A 1 8 6 8 ,
D A T A
D A T A
1 2 7 4 , 1 3 5 4 , 1 4 3 4 ,
1 6 7 4 , 1 7 5 4 , 1 8 3 4 , 1 9 1 4 , 1 0 3 8
D A T A 1 1 1 8 ,
D A T A
1 5 1 8 , 1 5 9 8 ,
D A T A 1 9 1 8 , 1 0 8 0 ,
D A T A
1 4 0 1 ,
1 8 0 1 ,
D A T A
1 2 8 4 , 1 3 6 4 ,
D A T A 1 6 8 4 ,
1 2 0 9 , 1 2 8 9 ,
D A T A 1 6 0 9 ,
D A T A 1 1 3 3 ,
D A T A 1 7 7 3 , 1 8 5 3 ,
D A T A 1 2 9 8 ,
D A T A 1 6 9 8 ,
1
D A T A
D A T A
. 1 . a
1 6 2 2 , 1 7 0 2 ,
T H E N 7 7 0
T O 1 0 0 0
: N E X T I
T O 1 1 5
T O 4 0 S T E P 4 0
+ K +
+ K , 1
5 4 2 7 2 ,
2 8
x i
s N E X T I
1 2 6 4 ,
1 5 0 4 , 1 5 8 4 , 1 6 6 4 , 1 7 4 4
1 9 0 4 ,
1 0 2 6 ,
1 0 6 8 , 1 1 1 0
1 2 7 0 , 1 3 5 0 , 1 3 8 8 , 1 4 6 6
1 5 9 0 , 1 6 7 0 , 1 7 5 0 , 1 8 3 0
1 9 0 6 , 1 0 3 4 , 1 1 1 4 ,
1 5 1 4 ,
1 1 9 8 ,
1 2 7 8 ,
1 6 7 8 ,
1 1 6 1 ,
1 4 8 1 , 1 5 6 1 ,
1 3 5 8 , 1 4 3 8
1 7 5 8 ,
1 2 4 1 , 1 3 2 1
1 6 4 1 ,
1 8 8 2 , 1 0 4 4 , 1 1 2 4 , 1 2 0 4
1 5 2 4 ,
1 7 6 4 ,
1 4 4 4 ,
1 8 4 4 , 1 9 2 . 4 ,
1 3 6 9 , 1 4 4 9 , 1 5 2 9
1 6 8 9 , 1 7 6 9 , 1 8 4 9 ,
1 2 1 3 ,
1 6 1 2 ,
1 6 1 4 ,
1 9 3 1 , 1 1 3 8 , 1 2 1 8
1 3 7 8 ,
1 4 5 8 , 1 5 3 8 , 1 6 1 8
1 7 7 8 , 1 8 5 8 , 1 0 6 0 , 1 1 4 2
1 3 0 2 , 1 3 8 2 , 1 4 6 2 ,
1 7 8 2 , 1 8 6 2 , 1 9 4 0
1 3 4 4
1 1 9 4
1 5 9 4
1 8 3 8
1 7 2 1
1 6 0 4
1 1 2 9
1 0 5 1
1 6 9 3
1 5 4 2
1 8
Page 31
C h a p te r 1 Sta rt in g with M a t h s
C o m m e n t a r y
T h e p r o g r a m i s c o n t r o l l e d b y line s 3 0 - 8 0 . L in e 7 0 ca u se s t h e p r o g r a m t o
c o n t i n u e i n d e f i n i t e l y u n t i l R U N / S T O P i s d e p r e s s e d .
Lin es 1 0 0 - 2 9 0 f o r m t h e f i r s t s u b r o u t i n e o f t h e p r o g r a m , c a ll e d by l in e 3 0
in t h e c o n t r o l m o d u l e . T h e r o u t i n e i n it ia lis e s v a r i o u s v a r i a b l e s n e e d e d b y
Bin g o. Five a r r a y s a r e set u p . T h e A a n d B a r r a y s h o l d t h e t w e n t y p a i r s o f
n u m b e r s p r e s e n t e d t o t h e c h il d a n d t h e C a r r a y s to r e s t h e a n s w e r f o r e a c h
m u l t i p l i c a t i o n . T h e D a r r a y c o n s is t s o f f la g s , o n e f o r e a c h n u m b e r p a i r ,
wh ic h e n s u r e t h a t t h e s a m e q u e s t i o n i s n o t r e p e a t e d . F i n a l l y th e L B a r r a y
s to r e s t h e sc re e n l o c a t i o n s o f e a c h c o l o u r e d b o x t h e n u m b e r s a r e p r i n t e d in .
T h e a c t u a l va lu e o f e a c h m e m b e r o f t h e LB a r r a y i s t h e l o c a t i o n o f t h e t o p
l e f t h a n d c o r n e r o f t h e c o l o u r e d b o x . T h e s e v a lu e s a r e c a l c u l a t e d b y t h e
t w o n e s te d F O R . . . N E X T l o o p s b e tw e e n lines 1 6 0 - 2 1 0 . H e r e t h e va lu e s
t h a t t h e I a n d J l o o p v a r i a b l e s S T E P t h r o u g h a r e a r r a n g e d so t h a t t h e i r
s u m , I + J , gi v e s t h e e x a c t l o c a t i o n . N o t e t h e w a y i n w hi c h t h e v a r i a b l e N i s
in c r e m e n t e d t h r o u g h t h e lo o p s t o i d e n t i f y e a c h b o x .
T h i s f i r s t s u b r o u t i n e a ls o sets t h e v a lu e s o f S ( th e sc o re a c h ie v e d b y t h e
ch ild ) a n d G ( th e n u m b e r o f ‘ s h e e t s ’ c o m p l e t e d ) t o z e r o . L i n e 25 0 sets t h e
e n t i r e s cre en a r e a t o w h it e a n d t h e n lin e 2 8 0 s wi tch es o n t h e C o m m o d o r e
6 4 ’ s ‘ e x t e n d e d ’ c o l o u r m o d e . T h i s a llo ws t e x t t o b e p r i n t e d w i t h a d i f f e r e n t
b a c k g r o u n d c o l o u r t o t h e s c re e n b a c k g r o u n d ( a n d i s t h e e q u i v a l e n t o f t h e
c o m m a n d C O L O U R ( c o l o u r + 1 2 8 ) in BBC B A S I C ) . E x t e n d e d c o l o u r
m o d e i s s w itc he d o n w i t h P O K E 53 26 5, 9 1 a n d o f f w i t h P O K E 5 3 2 6 5 , 2 7 . I t
all ow s t h r e e m o r e b a c k g r o u n d c o l o u r s t o b e set u p s i m u l t a n e o u s l y o n t h e
s c re e n , b u t r e q u i r e s a d i f f e r e n t c h a r a c t e r set f o r e a c h .
Lin es 3 1 0 - 6 8 0 p r e s e n t t h e b i n g o sh e e t . Us e i s m a d e o f t h e P R I N T TA B
r o u t i n e a t lines 7 0 0 - 7 3 0 . T h i s a llo w s a n e asy w a y t o f o r m a t t h e d i s p l a y . X
a n d Y sc re e n c o o r d i n a t e s h a v e t o be d e f i n e d b e f o r e c a lli n g t h e r o u t i n e a n d
t h is i s d o n e h e r e , f o r e x a m p l e , a t line 3 6 0 . Li ne s 4 8 0 - 5 0 0 c a l c u l a t e t h e
q u e s t i o n s a n d a n s w e rs a n d t h e b o x e s a r e d r a w n b y line s 5 2 0 - 5 7 0 . T h e J
a n d K va lu e s in t h e t w o n e s t e d l o o p s i n c r e m e n t t h e v a lu e o f LB c a l c u l a t e d
b e f o r e , a n d t h is v a lu e i s t h e n P O K E d t o s c re e n a n d c o l o u r m a p b y line 5 5 0 .
E a c h n u m b e r i s p l a c e d i n its b o x b y 6 0 0 - 6 6 0 . E x t e n d e d c o l o u r m o d e i s
u s e d a n d t h e t w o - d i g i t n u m b e r s h a v e t o b e s e p a r a t e d b y t h e s im p le a r i t h m e
tic a l r o u t i n e i n t o t h e i n d i v i d u a l t e n a n d u n i t f ig u r e s . T h e s e a r e P O K E d
s e p a r a t e l y t o t h e s c re e n .
Lines 7 5 0 - 1 1 2 0 p r e s e n t t h e te s t . T h e T t h b o x i s c h o s e n a t lin e 7 7 0 a n d t h e
fla g i s c h e c k e d by l in e 7 9 0 t o m a k e s u r e t h a t b o x a n d q u e s t i o n h a v e n o t
a l r e a d y be e n c h o s e n . T h e T A B r o u t i n e i s u s e d a g a i n i n p r e s e n t i n g t h e q u e s
t i o n a n d t h e c h i l d ’ s i n p u t i s e r r o r - t r a p p e d . A s o u n d e f f e c t i s p r o d u c e d a n d
1 9
Page 32
Pro gr am mi n g f o r Ed u ca ti o n on the C o m m o d o r e 6 4
f in a lly t h e b o x i t s e l f i s e r a s e d b y lin es 1 0 4 0 - 1 0 9 0 . L in e 1 1 0 0 t es ts w h e n t h e
e n ti r e scre en i s c le a re d .
T h e r e w a r d r o u t i n e s im pl y p la c e s t h e w o r d ‘ B i n g o ’ l a r g e u p o n t h e sc re e n .
T h is i s d o n e in a v e ry s im i la r wa y t o t h e d r a w i n g o f t h e b o x e s b u t h e r e t h e
l o c a t i o n o f e a ch ‘ b o x ’ i s n o t c a l c u l a t e d b u t h e ld as lines o f D A T A w h ic h a r e
R E A D by line 1 1 8 0 . T h e n e s t e d l o o p s b e tw e e n 1 1 9 0 - 1 2 4 0 d r a w e ach
se ct i o n o f t h e l e t te r s .
F a c t o r
T h e l a s t p r o g r a m in t h is c h a p t e r , F a c t o r , e x te n d s t h e a p p r o a c h t o t h a t o f a
vi de o g a m e . I t d oe s n o t r e q u i r e h ig h -s p e e d m a n u a l d e x t e r i t y , h o w e v e r ,
s imp ly t h e a b i l i t y t o i n p u t a n y f a c t o r o f a n u m b e r t h a t a p p e a r s o n t h e
scre en . T h e n u m b e r i s successively f a c t o r i s e d b y t h e i n p u t s u n t i l it r ea c h e s
1 , w h e n a n o t h e r n u m b e r i s c h o s e n . I f t h e f a c t o r c h o s e n i s p e rm i s s i b le , a
p l a n e fl ie s a c r o s s t h e sc re e n a n d d r o p s a b o m b o n t o t h e n u m b e r r e s u l t i n g in
a n e x p lo s i o n . I f t h e n u m b e r i s i n c o r r e c t , t h e b o m b m isse s. T h e r e i s a ls o a n
o n - sc r e e n s c o ri n g fa c i li ty .
A la s t p o i n t ne ed s t o b e m a d e a b o u t t h e t y p e o f r e w a r d o f f e r e d in a
p r o g r a m . A l t h o u g h a n e xc iti n g d i s p l a y m a y o f f e r p o s it i v e r e i n f o r c e m e n t
t o t h e c h ild , it i s h o p e d t h a t t h e r e w a r d w il l b e c o m e i n t r i n s i c , i e t h a t t h e
c h ild e n jo y s t h e succ ess o f g e t t i n g a p r o b l e m r i g h t w i t h o u t a n y e x te r n a l
r e w a r d . W h e n a d u l t s s u cce ed in s olv in g a ‘ w h o d u n n i t ’ , o r c o m p l e te t h e
Ti me s c r o s s w o r d , t h e a c h ie v e m e n t a l o n e i s e n o u g h . T h i s i n t e r n a l i s a t i o n
h a s t a k e n a l o n g ti m e t o a c h ie v e , h o w e v e r , a n d p r a i s e , even f r o m a
m a c h i n e , i s i m p o r t a n t !
I t i s a ls o ne c es s a ry t o p o i n t o u t i n c o r r e c t re s p o n s e s in a g e n tle m a n n e r , o r
t h e ch ild fe el s d e s p o n d e n t a n d eve n ag gre ss ive . I f a c o m p u t e r h a s eve r
b e a t e n y o u a t c he ss, y o u w il l k n o w t h e f eel ing . A l t h o u g h it m a y see m
o b v i o u s t o s t a t e , t h e d i f f i c u l t y o f t h e p r o b l e m h a s t o b e w i t h in t h e solvin g
c a p a c i t y o f t h e c h il d . W h e n d e s ig n i n g p r o g r a m s , t h e i n c o r r e c t r e s p o n s e
s h o u l d n o t r e s u l t i n a sc re e n d i s p l a y t h a t i s m o r e i m p r e ss iv e t h a n t h a t f o r a
c o r r e c t r e s p o n s e , o r t h e r e i n f o r c e m e n t e f f e c t w il l b e l o s t , as t h e c h ild
a t t e m p t s t o f ai l b e c a u s e t h e d i s p l a y i s p r e t t i e r !
1 0 0 0 R E M F A C T O R - P A T H A L L , J A N ' 8 4
1 0 1 0 R E M
1 0 2 0 G O B L I B 1 1 2 0 : R E M D E F I N E S P R I T E S
1 0 3 0 G O S U B 1 6 1 0 a R E M S T O R E P R I M E S
1 0 4 0 G O S U B 1 7 0 0 s R E M S E T U P D I S P L A Y
1 0 3 0 G O S U B 1 8 8 0 a R E M T E S T R O U T I N E
2 0
Page 33
C h a p te r 1 S ta r ti n g with M a t h s
1 . 0 6 0 8 0 S U B 2 1 . 6 0 s R E M F L Y P L A N E
I . 0 7 0 G O T O 1 . 0 5 0
. 1 . 0 8 0 E N D
1 0 9 0 R E M
I I . 0 0 R E M D E F I N E S P R I T E S
1 1 . 1 . 0 R E M B E G I N N I N G O F 6 5 6 7 V I D E O C H I P
1 1 . 2 0 V C - 5 3 2 4 8
1 1 . 3 0 R E M P L A N E , S P R I T E 0
1 1 4 0 R E M S E T P O I N T E R F O R S P R I T E 0
1 1 . 5 0 P O K E 2 0 4 0 , 13
1 . 1 . 6 0 R E M R E A D D A T A F O R S P R I T E 0
1 1 7 0 F O R I . = 0 T O 1 . 9
1 1 8 0 P O K E 8 3 2 + I , 0
1 1 . 9 0 N E X T I
1 . 2 0 0 F O R I = 2 0 T O 6 2
1 . 2 1 0 R E A D N ; P O K E 8 3 2 + I , N
1 . 2 2 0 N E X T I
1 2 3 0 R E M B O M B , S P R I T E 1 .
1 2 4 0 R E M S E T P O I N T E R F O R S P R I T E 1
1 . 2 5 0 P O K E 2 0 4 1 , 1 . 4
1 . 2 6 0 R E M R E A D D A T A F O R S P R I T E 1
1 2 7 0 F O R I ■ 0 T O 3 9
1 2 8 0 P O K E 8 9 6 + I ,
0
1 . 2 9 0 N E X T I
1 . 3 0 0 F O R I = 4 0 T O 6 2
1 . 3 1 0 R E A D N s P O K E 8 9 6 + I , N
1 . 3 2 0 N E X T I
1 3 3 0 R E M F L A S H , S P R I T E 2
1 3 4 0 R E M S E T P O I N T E R F O R S P R I T E 2
1 3 5 0 P O K E 2 0 4 2 , 1 5
1 . 3 6 0 F O R I = 0 T O 3 9
1 3 7 0 P O K E 9 6 0 + I , 0
1 . 3 8 0 N E X T I
1 3 9 0 F O R I = 4 0 T O 6 2
1 . 4 0 0 R E A D N s P O K E 9 6 0 + I , N
1 4 1 0 N E X T I .
1 4 2 0 R E M E N L A R G E S P R I T E S 0 A N D I .
1 4 3 0 R E M X - - D I E E C T I O N
1 . 4 4 0 P O K E V C + 2 9 , 5
1 4 5 0 R E M Y - D I R E C T I O N
1 4 6 0 P O K E V C + 2 3 , 5
1 4 7 0 R E M S E L E C T C O L O U R
1 4 8 0 R E M B L U E P L A N E
1 4 9 0 P O K E V C + 3 9 , 6
2 1
Page 34
Pro g ra m mi n g f o r E du ca ti o n on t h e C o m m o d o r e 6 4
. 1 . 5 0 0 R E M B L A C K B O M B
1 . 5 1 0 P O K E V C + 4 0 , 0
1 5 2 0 R E M B R O W N F L A S H
1 5 3 0 P O K E V C + 4 1 , 9
1 5 4 0 R E M L O C A T E F L A S H O N S C R E E N
1 5 5 0 P O K E V C + 4, 1 6 5 ; R E M X - C O O R D
1 5 6 0 P O K E . V C + 5, 1 4 3 5 R E M Y - C O O R D
1 . 5 7 0 R E T U R N
1 5 8 0 R E M
1 5 9 0 R E M S T O R E P R I M E S
1 6 0 0 R E M D I M E N S I O N P R I M E S ' A R R A Y , P N
1 6 1 0 D I M P N ( 2 9 )
1 6 2 0 R E M R E A D P R I M E N U M B E R S F R O M D A T A
1 6 3 0 F O R I = 1 T O 2 9
1 6 4 0 R E A D N : P N ( I > - N
1 6 5 0 N E X T 1
1 6 6 0 R E T U R N
1 6 7 0 R E M
1 . 6 8 0 R E M S E T U P D I S P L A Y
1 6 9 0 R E M C Y A N B O R D E R
1 7 0 0 P O K E 5 3 2 8 0 , 3
1 7 1 0 R E M C Y A N B A C K G R O U N D
1 7 2 0 P O K E 5 3 2 8 1 , 3
1 7 3 0 R E M C L E A R T H E S C R E E N
1 7 4 0 P R I N T " I S H I F T / C L R / H O M E l i "
1 7 5 0 R E M D R A W D E S E R T L A N D S C A P E
1 7 6 0 F O R I = 0 T O 2 8 0 S T E P 4 0
1 7 7 0 F O R J = 0 T O 3 9
1 7 8 0 R E M P O K E C O L O U R T O S C R E E N
1 7 9 0 P O K E 5 5 9 7 6 + I + J,
8
1 8 0 0 R E M P O K E . C H A R A C T E R T O S C R E E N
1 8 1 0 P O K E 1 7 0 4 + I + J , 1 6 0
1 8 2 0 N E X T J
1 8 3 0 N E X T I
1 8 4 0 R E T U R N
1 8 5 0 R E M
1 8 6 0 R E M T E S T R O U T I N E
1 8 7 0 R E M S E L E C T N U M B E R
1 8 8 0 T N = I N T I R N D < 1 ) * 7 0 ) + 3 0
1 8 9 0 R E M CH EC K. T A R G E T I S N O T P R I M E
1 9 0 0 N = T N : G Q S U B 2 0 8 0
1 . 9 1 0 IF P F - 1 . T H E N 1 . 8 8 0
1 . 9 2 0 X = 1 9 : Y = 1 6 s G O S U B 2 5 2 0
1 . 9 3 0 P R I N T T N
2 2
Page 35
C h a p te r 1 S ta r ti n g with M a t h s
1 9 4 0 X = 8 : Y = 0 : 6 Q S U B 2 5 2 0
1 9 5 0 P R I N T " T Y P E A F A C T O R O F " T N
1 9 6 0 X = 3 0 : G O S U B 2 5 2 0
1 9 7 0 P R I N T "
1 9 8 0 G O S U B 2 5 2 0
1 9 9 0 I N P U T F T
2 0 0 0 I F A S C ( F T ) < 4 9 T H E N 1 9 6 0 0
2 0 1 0 I F A S C ( F T ) > 5 7 T H E N 1 9 6 0
2 0 2 0 F = V A L ( F T )
2 0 3 0 I F I N T ( T N / F ) < > T N / F T H E N 1 9 6 0
2 0 4 0 IF F = 1 O R F = T N T H E N 1 9 6 0
2 0 5 0 R E T U R N
2 0 6 0 R E M
2 0 7 0 R E M P R I M E C H E C K
2 0 8 0 P F = 0
2 0 9 0 F O R I = 1 T O 2 9
2 1 0 0 I F N » P N ( I ) T H E N P F = 1
2 1 1 0 N E X T I
2 1 2 0 R E T U R N
2 1 3 0 R E M
2 1 4 0 R E M F L Y P L A N E
2 1 5 0 R E M S W I T C H O N P L A N E , S P R I T E 0
2 1 6 0 P O K E V C + 2 1 , 1
2 1 7 0 R E M P L A N E O N R I G H T H A N D S I D E
2 1 8 0 R E M S O S E T M O S T S I G N I F I C A N T B I T
2 1 9 0 P O K E V C + 16, 1
2 2 0 0 F O R I = 5 0 T O 0 S T E P - 1
2 2 1 0 R E M A D J U S T X - C O O R D O F P L A N E
2 2 2 0 P O K E V C , I
2 2 3 0 R E M L E A V E Y - C O O R D C O N S T A N T
2 2 4 0 P O K E . V C + 1 , 8 0
2 2 5 0 N E X T I
2 2 6 0 R E M C O N T I N U E F L I G H T O N L E F T
2 2 7 0 R E M T U R N O F F M O S T S I G N I F I C A N T B I T
2 2 8 0 P O K E V C + 16, 0
2 2 9 0 R E M D R O P B O M B , S W I T C H O N S P R I T E 1
2 3 0 0 P O K E V C + 2 1 , 3
2 3 1 0 F O R I = 2 5 5 T O 1 8 9 S T E P - 1
2 3 2 0 R E M A D J U S T X - C O O R D O F P L A N E
2 3 3 0 P O K E V C , I
2 3 4 0 R E M L E A V E Y - C O O R D C O N S T A N T
2 3 5 0 P O K E V C + 1 , 8 0
2 3 6 0 R E M B O M B H A S S A M E X - C O O R D A S P L A N E
2 3 7 0 P O K E V C + 2, I
2 3
Page 36
P ro gr am m in g f o r E du ca ti o n on t h e C o m m o d o r e 64
2 3 8 0 R E M Y - C O O R D O F B O M B
2 3 9 0 P O K E V C + 3, 3 5 5 - I
2 4 0 0 N E X T I
2 4 1 0 R E M S W I T C H B O M B O F F , F L A S H O N
2 4 2 8 P O K E V C + 2 1 , 5
2 4 3 0 R E M F L Y P L A N E O N
2 4 4 0 F O R I = 1 8 8 T O 0 S T E P -1
2 4 5 0 P O K E V C , I : P O K E V C + 1 , 8 0
2 4 6 0 N E X T I
2 4 7 0 R E M S W I T C H O F F P L A N E A N D F L A S H
2 4 8 8 P O K E V C + 2 1 , 0
2 4 9 0 R E T U R N
2 5 0 0 R E M
2 5 1 0 R E M P R I N T T A B R O U T I N E
2 5 2 0 P O K E 7 8 2 , X : P O K E 7 8 1 , Y
2 5 3 8 S Y S 6 5 5 2 0
2 5 4 0 R E T U R N
2 5 5 0 R E M
2 5 6 0 R E M D A T A F O R P L A N E , S P R I T E 0
2 5 7 0 R E M
2 5 8 0 D A T A 7, 0, 0, 15, 3, 1 2 8 , 3 0 , 4
2 5 9 0 D A T A 6 4 , 6 0 , 1 2 7 , 2 5 5 , 2 5 2 , 2 5 5
2 6 0 8 D A T A 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5 , 1
2 6 1 0 D A T A 2 5 5 , 2 5 4 , 3, 2 5 5 , 2 2 4 , 0,
C N I N
i n
2 6 2 0 D A T A 2 2 4 , 0, 6 3 , 2 2 4 , 0, 1 5 , 2 4 0
2 6 3 0 D A T A 0, 3, 2 5 2 , 0, 0, 2 5 4 , 0 , 0 , 6 3
2 6 4 0 R E M
2 6 5 0 R E M D A T A F O R B O M B , S P R I T E 1
2 6 6 0 R E M
2 6 7 0 D A T A 4, 8 , 0, 6 , 0, 0, 7 , 0, 0
2 6 8 0 D A T A 2 4 , 0, 0, 1 1 2 , 0, 0, 2 4 0 , 0
2 6 9 8 D A T A 0, 2 4 0 , 0, 0, 2 2 4 , 0
2 7 0 0 R E M
2 7 1 0 R E M D A T A F O R F L A S H , S P R I T E 2
2 7 2 0 R E M
2 7 3 0 D A T A 6 5 , 0, 0, 4 2 , 0, 1 , 0, 6 4 , 0
2 7 4 8 D A T A 1 3 6 , 1 2 8 , 4 , 6 5 , 16, 2, 4 2
2 7 5 0 D A T A 3 2 , 1 , 0, 6 4 , 0, 2 2 7 , 1 2 8
2 7 6 0 R E M
2 7 7 0 R E M D A T A F O R P R I M E N U M B E R S
2 7 8 0 R E M
2 7 9 0 D A T A 2, 3, 5, 7, 11, 13, 1 7 , 19
2 8 0 0 D A T A 2 3 , 2 9 , 3 1 , 3 7 , 4 1 , 4 3 , 4 7
2 4
Page 37
C h a p te r 1 S tar ti n g with M a t h s
2 8 1 0 D A T A 5 3 , 5 7 , 5 9 , 6 1 , 6 7 , 7 1 , 7 3
2 8 2 0 D A T A 7 9 , 8 3 , 8 7 , 8 9 , 9 1 , 9 3 , 9 7
R E A D Y .
C o m m e n t a r y
F a c t o r i s c o n t r o l l e d b y l ines 1 0 2 0 - 1 0 7 0 .
T h e f i r s t s u b r o u t i n e , c a ll e d b y lin e 1 0 2 0 o f t h e c o n t r o l m o d u l e , d e fi n e s
t h r e e s p ri t e s u s e d in t h e p r o g r a m . S p r it e 0 i s a p l a n e , s p r i t e 1 i s t h e b o m b
t h a t it d r o p s a n d s p r i t e 2 i s t h e f l a s h o f t h e r e s u l t a n t e x p l o s i o n w h e n t h e
p l a n e s uc ce s s fu ll y h i ts its t a r g e t n u m b e r . E a c h o f t h e t h r e e s p r i t e s i s d e f i n e d
in a si m i la r way .
T h e d i a g r a m sh o w s h o w t h e p l a n e h a s b e e n d r a w n o n a r e c t a n g u l a r g r id
o f 2 1 ro w s a n d 2 4 c o l u m n s . E a c h b l o c k o f e ig h t h o r i z o n t a l s q u a r e s h a s
be e n c o d e d as a b i n a r y n u m b e r a n d t h e n s t o r e d i n a s pe cia l a r e a o f m e m o r y
re s e r v ed b y lin e 1 1 5 0 . U s u a l ly a f t e r a s p r i t e h a s b e e n d e s ig n e d a n d c a l c u
l a t e d as a set o f 6 3 n u m b e r s , t h e s e a r e h e ld i n s i d e a p r o g r a m as D A T A .
H o w e v e r , i n t h e ca se o f t h e p l a n e s p r i t e it c a n b e seen f r o m t h e d i a g r a m t h a t
t h e f i r s t t w e n t y b l o c k s o f e ig h t s q u a r e s h a v e n o t b e e n f ill e d i n a t a ll. T h u s
t h e n u m b e r s c o r r e s p o n d i n g t o t h e s e b l o c k s a r e e a c h z e r o .
I t i s m u c h e a si e r t o p l a c e t h e s e v a lu e s i n t o m e m o r y w i t h t h e s im p le F O R
. . . N E X T l o o p b e tw e e n lines 1 1 7 0 - 1 1 9 0 t h a n t o s t o r e t h e m as D A T A .
T h e r e m a i n i n g n u m b e r s f o r t h e s p r i t e a r e , h o w e v e r , R E A D f r o m t h e
D A T A line s. T h e v a lu e s f o r s p r i t e 0 a r e h e l d a t l o c a t i o n s s t a r t i n g a t 8 3 2 .
T h e tw o o t h e r s p r i t e s a r e s t o r e d a t l o c a t i o n s s t a r t i n g a t 8 9 6 a n d 960 . E a c h
t i m e , t h e ‘ s p r i t e p o i n t e r ’ i s set t o i n d i c a t e w h e r e in m e m o r y t h e s p r i t e d a t a i s
t o be f o u n d .
T h e r e s t o f t h e r o u t i n e t h e n a t t e n d s t o o t h e r s p r i t e p a r a m e t e r s . T h e s e a r e
all d o n e in t e r m s o f t h e n u m b e r VC d e f i n e d a t lin e 1 1 2 0 . T h i s i s t h e s t a r t i n g
l o c a t i o n o f t h e v i d e o c h i p , w h i c h h a n d l e s all t h e s p r i t e m a n i p u l a t i o n .
P O K E V C + 29, f o r e x a m p l e , i s t h e l o c a t i o n w h ic h c o n t r o l s t h e si z e o f a
s p r i t e i n t h e h o r i z o n t a l , x, d i r e c t i o n . P O K E i n g t h e s p r i t e n u m b e r t o
VC + 2 9 w i l l c a u s e it t o be s t r e t c h e d sid e w ay s . I n t h is p r o g r a m , b o t h s p r i t e
0 a n d s p r i t e 2 n e e d t o b e e x p a n d e d a n d so t h e v a l u e 5 i s P O K E d . T h i s i s t h e
s u m o f 1 ( s p r i te 0 ) a n d 4 ( s p r i t e 2 ). I n a s im i la r w a y , t h e c o l o u r a n d l o c a t i o n
o f sp ri t e s o n t h e sc re e n a r e all c o n t r o l l e d w i t h r e f e r e n c e t o t h i s i m p o r t a n t
l o c a t i o n VC.
I n t h e o p e r a t i o n o f t h e p r o g r a m , it i s n e c e s s a ry t o b e a b le t o i d e n t i f y p r i m e
n u m b e r s . P r i m e s a r e h e l d , a g a i n as lines o f D A T A , a n d R E A D i n t o t h e P N
a r r a y by t h e r o u t i n e b e tw e e n lines 1 5 9 0 - 1 6 6 0 .
2 5
Page 38
P ro gr am m in g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
D i a g r a m A
T h e scre en d i s p l a y i s b u i l t u p b y t h e r o u t i n e b e tw e e n lines 1 6 8 0 - 1 8 4 0 . As in
t h e p r o g r a m B i n g o , t h e s c re e n i s c o n t r o l l e d b y d i r e c tl y a d d r e s s i n g t h e
s cre en a n d c o l o u r m a p s . F o r e x a m p l e , t h e b o t t o m s e c t i o n o f t h e s c re e n i s
t u r n e d i n t o a d e s e r t b y t h e n e s t e d l o o p s b e tw e e n lines 1 7 6 0 - 1 8 3 0 .
T h e t e s t r o u t i n e f r o m lines 1 8 6 0 - 2 1 2 0 p r e s e n t a t a r g e t n u m b e r w hi c h t h e
c hi ld ha s t o a t t e m p t t o b o m b . T h i s c a n o n l y b e d o n e by t y p i n g i n a c o r r e c t
f a c t o r . T h e i n p u t r o u t i n e i s e r r o r - t r a p p e d t o p r e v e n t t h e n u m b e r it s e lf , o r
1 , o r n o n - n u m e r i c v a lu e s , f r o m b e in g a c c e p t e d . T h e t a r g e t n u m b e r i t s e l f i s
c a r e f u ll y t e s t e d b y t h e s e p a r a t e s u b r o u t i n e t o m a k e s u re t h a t a p r i m e
n u m b e r i s n o t se t. T h is i s a c h ie v e d b y u s in g t h e a r r a y o f p r i m e n u m b e r s se t
u p e a r l ie r in t h e p r o g r a m .
T h e r o u t i n e f r o m 2 1 4 0 - 2 5 0 0 fl ies t h e p l a n e o v e r t h e d e s e r t a n d b o m b s t h e
n u m b e r i f a c o r r e c t f a c t o r h a s b e e n t y p e d . T h e R E M s p r e s e n t in t h is
r o u t i n e i n d i c a t e e a c h s ta g e o f t h e f l i g h t . N o t e h o w t h e l o c a t i o n VC + 1 6 h a s
be e n set a t line 21 90 t o a ll o w t h e f li g h t a c r o s s t h e r i g h t h a n d side o f t h e
scre en .
2 6
Page 39
C H A P T E R 2
Smal l is B e a u t i f u l
S h o r t p r o g r a m s a n d e f f i c i e n c y — M is s in g : f i n d t h e n u m b e r s —
o r d e ri n g n u m b e r s — Se r ie s : m a t h s as an i n t r o d u c t i o n t o s t r a t e g y —
s i m p l i c i t y in p r o g r a m s t r u c t u r e — N u m b e r : a p r o g r a m t o f i n d a
h i d d e n n u m b e r — u s in g g r a p h ic s t o b r ig h t e n u p s i m p l e id eas —
F i r e w o r k : a p r o g r a m t o t e s t g e n e r a l n u m e r i c a l s k i l l s — t h e p r o b l e m s
i n v o l v e d in l e a r ni n g f r a c t i o n s — F r a c ti o n : a p r o g r a m t o h e l p wi th
n u m e r a t o r s a n d d e n o m i n a t o r s .
A l t h o u g h it h a s b e e n p o i n t e d o u t t h a t e x c iti ng d i sp l a y s d o n o t t u r n a
m e d i o c re p r o g r a m i n t o a g o o d o n e , t h e r e i s n o d o u b t t h a t s o m e p r o g r a m s
b e n e f i t f r o m i n t e r e s t i n g g r a p h i c s .
A t t h e b e g in n i n g o f t h is c h a p t e r , w e s ha ll s ho w y o u s o m e s h o r t p r o g r a m s
in wh ic h t h e f a s t c a l c u l a t i n g p o w e r o f y o u r 6 4 i s u s e d , r a t h e r t h a n it s
g r a p h i c a b i l it y . T o w a r d s t h e e n d , s o m e o f t h e s e i dea s a r e p u t i n t o a m o r e
a d v a n c e d p r o g r a m t h a t i n c l u d e s g r a p h i c s .
F i r s t ly t h o u g h , a n i n d i c a t i o n o f s im p le wa ys in w h ic h t h e c o m p u t e r c a n
d o t a s k s f a s t e r a n d m o r e e f f i c i e n t l y t h a n h u m a n s .
A q u e s t i o n o f f o r m a t
I n t h e l a s t c h a p t e r , t h e r e was a t a b l e t e s t p r o g r a m t h a t u s e d t h e c o m p u t e r t o
g e n e r a t e t h e q u e s t i o n s . T h e s a m e i d e a c a n b e u s e d w i t h a n y s o r t o f m a t h s
p r o b l e m . O n e d i f f i c u l t y t h a t m a n y c h i l d r e n in t h e e a r l y p r i m a r y y e a rs
ex pe rie nc e i s t h a t o f c o p i n g w i t h p r o b l e m s p o s e d i n a n u n f a m i l i a r wa y . I f a
su m s a y s
1 5 - ? = 7
t h e n it i s likely t o p o s e m o r e p r o b l e m s t h a n o n e t h a t say s
1 5 - 7 = ?
T h e f o ll o w i n g p r o g r a m c h o o s e s 1 0 p r o b l e m s a t r a n d o m u s in g t h i s f o r m a t .
2 7
Page 40
P ro gr am m in g f o r E d u ca ti on on th e C o m m o d o r e 6 4
M i s s i n g
1 R E M * * * M I S S I N G N U M B E R S * * *
2 0 R E M
3 0 R E M * * * A . J . S . 1 / 7 / 8 3 * • * *
4 0 R E M
5 0 S = 0 s P R I N T " [ S H I F T / C L R / H O M E 3 " s P R I N T
6 0 F O R N - 1 T O 1 0
7 0 A = I N T < R N D ( 0 ) * 1 0 0 )
8 0 B = I N T ( R N D ( 0 ) * 1 0 0 )
9 0 I F B > A T H E N 7 0
1 0 0 C = A - B
1 1 0 P R I N T N A ; " - • • • ? = " ; B
1 2 0 P R I N T
1 3 0 I N P U T " M I S S I N G N U M B E R I S " ; G U E S S
1 4 0 I F G U E S S = C T H E N P R I N T " O K " : S = S + 1
1 5 0 I F G U E S S < > C T H E N P R I N T " N O " ; C
1 6 0 F O R C O U N T = l T O 5 0 0 : N E X T C O U N T
1 7 0 P R I N T " C S H I F T / C L R / H O M E 3 "
1 8 0 N E X T N
1 9 0 P R I N T " Y O U R S C O R E W A S " S " O U T O F 1 0 "
R E A D Y m
L i n e 5 0 s ets t h e s c o r e t o z e r o a n d c le a rs t h e sc re e n . L i n e 60 s t a r t s t h e l o o p t o
a s k 1 0 p r o b l e m s .
Li ne s 7 0 a n d 8 0 c h o o s e r a n d o m w h o l e n u m b e r s b e t w e e n 0 a n d 99 , a n d l in e
90 ch eck s t h a t B i s n o t g r e a t e r t h a n A .
L i n e 1 0 0 c a lc u la t e s t h e a n s w e r . L i n e 1 1 0 sets o u t t h e q u e s t i o n l in e . T h e
s e m i c o lo n s i n t h i s lin e a r e n o t e s s e n t ia l , a s t h e y a r e i n a n I N P U T l in e , e g
lin e 1 3 0 .
L i n e 1 2 0 , a si m p l e P R I N T s t a t e m e n t , i s a n e a s y w a y o f m is s in g
a line.
L i n e 1 3 0 r e q u i r e s a n i n p u t , G U E S S . L i n e s 1 4 0 a n d 1 5 0 c h e ck G U E S S a n d
c o m p a r e it w i t h t h e c o r r e c t a n s w e r , C . I f i t i s t h e s a m e , t h e s c o r e i s
i n c r e a s e d by o n e .
2 8
Page 41
C h a p te r 2 S m a ll i s B ea u ti fu l
Li ne 1 6 0 sho ws a s im pl e w a y o f i n t r o d u c i n g a p a u s e . T h e e m p t y
F O R . . . N E X T l o o p c o u n t s u p f r o m 1 t o 50 0 , a n d t h e n all o ws t h e p r o g r a m
t o c o n t i n u e .
Li ne 1 7 0 cle a rs t h e s c re e n . L i n e 1 9 0 p r i n t s t h e s c o r e , S .
E v e r y t h i n g in o r d e r
Sequ en ces a n d series o f n u m b e r s s o m e t im e s t a k e a l o n g t im e b e f o r e t h e
i d e a i s g r a s p e d . T h e n e x t p r o g r a m s h ow s h o w t h e c o m p u t e r c a n g e n e r a t e a
ser ies o f n u m b e r s i n a p a r t i c u l a r r a n g e . A l t h o u g h n o t a n e l a b o r a t e p r o
g r a m , it w il l g e n e r a t e s e q u en c e s a n d m a r k t h e r e s p o n s e s a ll d a y w i t h o u t
g e tt in g t i r e d .
T h e p a r t i c u l a r s e q u en c e c h o s e n i s o n e t h a t i n cr e as e s b y t h e s a m e a m o u n t
e a c h t i m e , e g
4 8 1 2 1 6 20 2 4 e tc .
I t i s q u i t e easy t o c h a n g e t h e p r o g r a m so t h a t it c h o o s es n u m b e r s w h e r e t h e
i n c r e m e n t a l t e r s b y a set a m o u n t , e g
1 2 4 7 1 1 1 5 e tc .
o r o n e t h a t g e n e r a t e s s q u a r e s s uc h as
1 4 9 1 6 2 5 3 6 etc .
S e r ie s
1 0 R E M * * * S E R I E S G U E S S E R * * *
2 0 R E M
3 0 R E M * * * A . J . S . 5 / 7 / 8 3 * * *
4 0 R E M
5 0 P R I N T " C S H I F T / C L R / H O M E I t " : P R I N T
6 0 P R I N T " S E R I E S "
6 5 P R I N T ; S = 0
7 0 F O R N = 1 T O 1 0
7 5 P R I N T " Q U E S T I O N " N
8 0 A - I N T ( R N D ( 0 ) * 2 6 )
9 0 I N C R = I N T ( F ; N B ( 0 ) * 1 1 )
1 0 0 P R I N T A ;
1 1 0 F O R X = 1 T O 4
1 2 0 P R I N T A + ( I N C R * X) ;
2 9
Page 42
Pro gr am mi n g f o r E du ca ti on on th e C o m m o d o r e 6 4
1 3 0 N E X T X
1 4 0 P R I N T
1 5 0 B = A + ( I N C R * X )
1 6 0 I N P U T " W H A T I B T H E N E X T N U M B E R " ; G
1 7 0 I F G = B T H E N P R I N T " O K " : S - B + l
1 8 0 IF G O B T H E N P R I N T " N O " B
1 9 0 N E X T N
2 0 0 P R I N T " Y O U S C O R E D " S " O U T O F 1 0 "
R E A D Y .
C o m m e n t a r y
Li ne 5 0 c lea rs t h e s c re e n. L i n e 6 5 sets t h e sc o re t o 0 a t t h e s t a r t .
L in e 7 0 be gi n s t h e l o o p t o g e n e r a t e 1 0 q u e s t i o n s . L i n e 8 0 c h o o s e s A , t h e
s t a r t o f t h e s eries, a t r a n d o m . L i n e 9 0 c h o o s e s t h e si z e o f t h e s te p o r i n c r e
m e n t b e tw e en e a c h n u m b e r , I N C R . L i n e 1 0 0 p r i n t s t h e f i r s t n u m b e r in t h e
se q ue nc e.
Li nes 1 1 0 t o 1 3 0 c o n t a i n a l o o p t o g e n e r a t e t h e n e x t f o u r n u m b e r s in t h e
series. E a c h n u m b e r i s b i g g e r b y t h e a m o u n t I N C R .
Li ne 1 5 0 re lie s o n t h e f a c t t h a t t h e F O R . . . N E X T l o o p c o u n t e r s c o n t a i n a
va lu e o n e h i g h e r t h a n t h e l a s t c o u n t o f t h e l o o p , i e 5 , t o set B e q u a l t o t h e
n e xt n u m b e r in th e se q u e n c e . L i n e 1 6 0 a s k s f o r a n i n p u t , G.
Lines 1 7 0 a n d 1 8 0 c o m p a r e G w i t h t h e c o r r e c t a n s w e r , B , a n d p r i n t O K o r
N O , as w e ll as i n c r e a s i n g t h e s c o re i f n e c es s a ry .
Li ne 2 00 p r i n t s t h e f in a l s c o re .
L o g i c a l g u e s s i n g
T h e r e i s a g a m e t h a t y o u c a n p l a y u s in g t h e b l a c k b o a r d , a piece o f p a p e r , o r
j u s t y o u r m e m o r y . I t i s t h e f a m i l i a r o n e o f ‘ I a m t h i n k i n g o f a n u m b e r —
a s k me a n y q u e s t i o n a b o u t i t y o u li k e , b u t I c a n o n l y r e p l y u s in g y e s o r n o . ’
F a c e d wi th t h is p r o b l e m f o r t h e f i r s t t i m e , t h e c h il d m a y b e in c l in e d t o
gue ss. I f he o r she real ise s t h a t t h e n u m b e r c a n b e a n y t h i n g u n d e r (sa y)
1 0 0 0 , it i s n o t l o n g b e f o r e i t i s a p p r e c i a t e d t h a t t h e t a s k i s d i f f i c u l t , a n d t h a t
so m e s o r t o f lo g ica l s t r a t e g y m u s t b e e m p l o y e d .
3 0
Page 43
C h a p te r 2 S m al l i s B ea u ti fu l
I n a c l a s s r o o m s i t u a t i o n , t h e class u s u a ll y di vid es u p i n t o ‘ g u es ser s,
‘ h y p o t h e s i s e s ’ a n d ‘ p s e u d o - h y p o t h e s i s e r s ’ . G u e s s e rs d o j u s t t h a t .
H y p o t h e s is e r s t r y t o r e d u c e t h e n u m b e r o f p o s s ib l e ch oic es b y a s k in g s uc h
q u e s ti o n s as ‘ i s it a n even n u m b e r ’ o r ‘ i s it le ss t h e n 500’ . P s e u d o - h y p o t h e
si se rs a r e m o r e s u b tl e t h a n t h e g ue sse rs . I f t h e r e s p o n s e ‘ n o ’ i s rece ive d t o
t h e q u e s t i o n ‘ i s t h e n u m b e r le s s t h a n 50 0 ’, t h e n t h e s o r t o f q u e s t i o n t h e y
w i l l a s k i s ‘ i s it m o r e t h a n 50 0 ’ . I t s o m e t im e s see ms a big h u r d l e t o j u m p
b e f o r e t h is t y p e o f ch il d realis es t h a t a ‘ n o ’ r e s p o n s e t o a q u e s t i o n p r o v id e s
as m u c h i n f o r m a t i o n as a ‘ y e s ’ .
T hi s s o r t o f g a m e i s a u s e f u l a c ti v it y as it c a n i m p r o v e m e n t a l sk il ls
in c l u d in g m e m o r y a n d v i s u a l i s a t i o n o f a s o r t o f i n t e r n a l n u m b e r l in e . I t
a ls o he lps d e v e lo p lo gic al q u e s t i o n i n g a n d i n q u i r y s tr a te g i e s . Y o u c a n
p r o b a b l y s e e t h a t t h e m o s t lo g ica l s t r a t e g y t o f o llo w i s t o d iv id e t h e a n s w e r
a p p r o x i m a t e l y by t w o .
A t y p ic a l series o f q u e s t i o n s m a y go as fo llo ws :
N u m b e r i s 24 2 .
I s it
l a r g e r t h a n 5 0 0 ?
I s it
l a r g e r t h a n 2 5 0 ?
Is it
l a r g e r t h a n 1 2 5 ?
I s it
l a r g e r t h a n 1 9 0 ? Y es.
I s it
l a r g e r t h a n 2 3 0 ?
Is it
l a r g e r t h a n 2 4 0 ? Y e s.
I s it
l a r g e r t h a n 2 4 5 ?
I s it
l a r g e r t h a n 2 4 3 ?
I s it
l a r g e r t h a n 2 4 1 ?
I s i t
2 4 2 ? Y es.
N o .
N o .
Y es.
Y e s.
N o .
N o .
Y e s.
U si ng t h is b i n a r y c h o p p i n g m e t h o d , it i s a lw ay s p o s s ib l e t o r e a c h t h e
n u m b e r w i t h o u t g ue ssi ng i n le ss t h a n t e n a t t e m p t s — t w o r a i s e d t o t h e
p o w e r o f t e n is , o f c o u r s e , 1 0 2 4 . M o s t o l d e r c h i l d r e n w il l a d o p t t h is
m e t h o d , o r o n e s im i la r , u n t i l t h e y get f a i r l y close a n d t h e n gu es s. I t i s n o t
en vi sa g ed t h a t t h e y w il l a c t u a l l y b e c a l c u l a t i n g t h e o d d s o n a c o r r e c t gu ess,
a l t h o u g h a t t h is le v e l it d oe s re s e m b le g a m b l in g !
A c o m p u t e r c a n c h o o s e t h e n u m b e r , sel ect c o r r e c t re s p o n s e s a n d g iv e t h e
t o t a l n u m b e r o f a t t e m p t s a t t h e e n d . I n t h is w a y , a t e a c h e r o r p a r e n t c a n be
relieve d o f t h e t a s k o f a d m i n i s t e r i n g t h is g a m e t o c h i l d r e n , a n d t h e p r o
g r a m allo ws a n i n d i v i d u a l o r g r o u p a p p r o a c h . F o r t h e c h ild w h o f in d s it
d i f f i c u l t t o a c q u i r e a g o o d s t r a t e g y , it c a n p r o v i d e as m u c h p r a c t i c e as i s
ne c es s a ry .
T h e r e a r e n o i n t e r e s t i n g d i s p l a y s , n o ex c iti ng s o u n d s , a n d t h e p r o g r a m
h a s be e n m a d e as sim pl e as p o s s ib l e t o sh ow h o w e ven s h o r t p r o g r a m s c a n
h a ve t h e i r p o i n t .
3 1
Page 44
Pro gr am mi n g f o r E d u ca ti on on th e C o m m o d o r e 6 4
N u m b e r
1 0 R E M * * N U M B E R G l . J E S S E R * *
2 0 R E M * * A . J . S . 1 / 4 / 8 2 * *
3 0 R E M
4 0 P 0 K E 5 3 2 8 1 , 1 : R E M B A C K G R O U N D W H I T E
5 0 P R I N T " I S H I F T / C L R / H O M E 1 "
6 0 5 C - 0
7 0 B O = 0
8 0 P R I N T " I . W I L L T H I N K O F A N U M B E R . " ;
9 0 P R I N T " Y O U M U S T T R Y "
1 0 0 P R I N T " T O G U E S S IT I N A S F E W G O E S " ;
1 1 0 P R I N T " A S Y O U C A N . "
1 2 0 P R I N T " C H O O S E A T O P L I M I T " ;
1 3 0 I N P U T " F O R Y O U R N U M B E R " ; T P
1 4 0 N = I N T ( R N D < 1 )* T P )
1 5 0 P R I N T " T H E N U M B E R L I E S B E T W E E N " ;
1 6 0 P R I N T E D ; " A N D " ; T P
1 7 0 S O = S C + l
1 8 0 P R I N T " E N T E R G U E S S N O . " ; S C ; " " ;
1 9 0 I N P U T G S
2 0 0 I F G S - N T H E N G O T O 3 0 0
2 1 0 I F G S > N T H E N T P = G S
2 2 0 I F 6 S < N T H E N B 0 - G 3
2 3 0 G O T O 1 5 0
2 4 0 R E M
3 0 0 P R I N T " Y O U G O T I T I N " ; S C ; " G O E S "
3 1 0 P R I N T " P R E S S S P A C E B A R T O G O A G A I N "
3 2 0 G E T Z f
3 3 0 I F Z * < > " " T H E N 3 2 0
3 4 0 G O T O 5 0
R E A D Y .
C o m m e n t a r y
Li ne 4 0 se ts t h e b a c k g r o u n d c o l o u r t o w h i t e . U p t o t h i s p o i n t , y o u h a v e
p r o b a b l y b e e n p u t t i n g u p w i t h t h e l ig h t b l u e b a c k g r o u n d t h a t a p p e a r s
w h e n y o u sw itc h o n . P O K E i n g t h is l o c a t i o n i n m e m o r y w i t h a n u m b e r
f r o m z e r o t o 1 6 sets t h e b a c k g r o u n d c o l o u r .
L i n e 60 i n iti a lis e s t h e s c o r e , SC . L i n e 7 0 s ets t h e b o t t o m l im it f o r t h e
n u m b e r t o z e r o .
3 2
Page 45
C h a p te r 2 S m a l l is B e a u ti fu l
Lin es 8 0 t o 1 2 0 c o n t a i n t h e i n s t r u c t i o n s .
L i n e 1 3 0 all ow s t h e u s e r t o set t h e u p p e r l i m i t f o r t h e n u m b e r . L i n e 1 4 0
c h o o s e s t h e n u m b e r t o b e g u e s se d .
Lin es 1 8 0 a n d 1 9 0 a ll o w t h e i n p u t o f a gue ss.
Lin es 200 t o 22 0 c h e c k t h e g u e s s, G S , a g a i n s t t h e c h o s e n n u m b e r , N . I f t h e
guess i s l a r g e r t h a n t h e n u m b e r , t h e n t h e gues s b e c o m e s t h e n ew u p p e r
l im it; a n d i f t h e gue ss i s s m a l l e r t h a n t h e n u m b e r , t h e gu e s s b e c o m e s t h e
new b o t t o m l im it .
A l t h o u g h i t i s n o t so ea sy t o see, t h e r e i s a l o o p b e tw e e n line s 1 5 0 a n d 23 0.
T h i s l o o p i s n e g o t i a t e d e a c h t i m e a n u m b e r i s g u e s s e d , u n t i l t h e c o r r e c t
a n s w e r i s g iv en. T h i s c a u s e s a n ex it i n li n e 200. 6 4 B A S I C o n l y s u p p o r t s a
F O R . . . N E X T l o o p , a n d t h i s e n t a i l s k n o w i n g h o w m a n y t im e s y o u w il l
pa s s t h r o u g h i t , w h i c h i n t h i s p r o g r a m , o f c o u r s e , y o u d o n ’ t .
Lin es 30 0 a n d 3 1 0 p r i n t t h e n u m b e r o f gu e s se s , SC .
L i n e 32 0 c o n t a i n s t h e w o r d s G E T Z $ . T h i s w a i ts u n t i l a k e y i s p r e s s e d , a n d
t h e n ch e ck s t h e i n p u t i n lin e 3 30 . I f t h e k e y i s a n y t h i n g e x c e p t t h e s p a c e b a r ,
t h e p r o g r a m r e p e a t s l in e 3 2 0 .
L i n e 3 4 0 s e n d s t h e p r o g r a m b a c k t o t h e s t a r t .
F i r e w o r k
T h e n e x t p r o g r a m , F i r e w o r k , i s a ls o b a s e d o n a s im p le i d e a — o f f e r i n g
e xa m pl es o f t h e f o u r r u le s ( a d d , s u b t r a c t , m u l t i p l y a n d d i v id e ) . T h e i n c e n
tiv e t o d o w e ll h e r e i s t h e i m p r e ss iv e d i s p l a y a f t e r five c o r r e c t a n s w e rs .
E a c h o f t h e g r a p h i c r o u t i n e s i s h e ld i n a m o d u l e , a n d m a y b e a d a p t e d t o
y o u r o w n us e o r c o p i e d d i r e c tl y i n t o a d i f f e r e n t p r o g r a m . F u l l n o t e s o n h o w
t h e e f f e c ts a r e a c h ie v e d a r e t o b e f o u n d a t t h e e n d o f t h e p r o g r a m .
1 0 0 0 H E M F I R E W O R K
- P A T H A L L , J A N ' 8 4
1 0 1 0 R E M
10 20 G O S U B 1 1 1 0 :
1 0 3 0 G O S U B 1 5 2 0 :
1 0 4 0 G O S U B 1 7 3 0 :
1 0 5 0 G O S U B 2 0 4 0 ;
R E M D E F I N E S P R I T E S
R E M S E T U P D I S P L A Y
R E M T E S T R O U T I N E
R E M L A U N C H R O C K E T
1 0 6 0 G O T O 1 0 3 0
1 0 7 0 E N D
3 3
Page 46
P ro gr am m in g f o r E d u ca ti o n on th e C o m m o d o r e 64
. 1 . 0 8 0 R E M
1 . 0 9 0 R E M D E F I N E S P R I T E S
1 . 1 0 0 R E M B E G I N N I N G O F 6 5 8 7 V I D E O C H I P
1 1 1 0 V C « 5 3 2 4 8
1 1 2 0 R E M R O C K E T , S P R I T E 0
1 . 1 3 0 R E M S E T P O I N T E R F O R S P R I T E 0
1 1 4 0 P O K E 2 0 4 0 , 1 3
1 1 5 0 R E M R E A D D A T A F O R S P R I T E 0
1 1 6 0 F O R I = 0 T O 8
1 1 7 0 R E A D N : P O K E 8 3 2 + I , N
1 1 8 0 N E X T I
1 1 9 0 F O R 1 - 9 T O 5 1 S T E P 3
1 2 0 0 P O K E 8 3 2 + I , 0
1 2 . 1 . 0 P O K E 8 3 3 + I , 1 . 2 7
1 2 2 0 P O K E 8 3 4 + I , 0
1 2 3 0 N E X T I
1 2 4 0 F O R I ■ 5 4 T O 6 2
1 . 2 5 0 R E A D N : P O K E 8 3 2 + 1 , N
1 2 6 0 N E X T I
1 . 2 7 0 R E M E X H A U S T , S P R I T E 1
1 2 8 0 R E M S E T P O I N T E R F O R S P R I T E 1
1 . 2 9 0 P O K E 2 0 4 1 , 3 . 4
1 3 0 0 R E M R E A D D A T A F O R S P R I T E 1
1 3 1 0 F O R I = 0 T O 6 2
1 3 2 0 R E A D N : P O K E 8 9 6 + I , N
1 . 3 3 0 N E X T I
1 3 4 0 R E M M O O N , S P R I T E 2
1 . 3 5 0 R E M S E T P O I N T E R F O R S P R I T E 2
1 3 6 0 P O K E 2 0 4 2 , 15
1 3 7 0 R E M R E A D D A T A F O R S P R I T E 2
1 3 8 0 F O R I = 0 T O 6 2
1 3 9 0
1 4 0 0
1 . 4 1 . 0 R E M
1 4 2 0
1 4 3 0
1 4 4 0 P O K E
1 4 5 0
1 4 6 0 P O K E
R E A D N : P O K E 9 6 0 • + ■
I ,
N E X T I
E N L A R G E S P R I T E S I N
P O K E
V C + 2 9 , 5
R E M E N L A R G E S P R I T E S IN Y
V C + 2 3 , 5
S E L E C T C O L O U R
R E M
V C + 3 9 , 1
N
X D I R E C T I O N
D I R E C T I O N
. 1 . 4 7 0 P O K E V C + 4 0 , 2
1 4 8 0
P O K E
V C + 4 1 , 7
1 4 9 0 R E T U R N
1 5 0 0 R E M
1 5 1 0 R E M B L U E S K Y
3 4
Page 47
C h a p t e r 2 S m a l l is B ea u ti fu l
1 5 2 0 P O K E 5 3 2 8 0 , 6 : P O K E 5 3 2 8 1 , 6
1 5 3 0 P R I N T " t : S H I F T / C L . . R / H O M E 1 "
1 5 4 0 R E M D R A W G R A S S
1 5 5 0 C - 5 s R E M S E L E C T G R E E N
1 5 6 0 F O R 1 = 0 T O 1 6 0 S T E P 4 0
1 5 7 0 F O R J = 0 T O 3 9
. 1 5 8 0 L = 1 8 2 4 + I + J
1 5 9 0 G O S U B 2 9 0 0
1 6 0 0 N E X T J
1 6 1 0 N E X T I
1 6 2 0 R E M P L A C E R O C K E T O N G R A S S
1 6 3 0 R E M H O R I Z O N T A L P O S I T I O N
. 1 . 6 4 0 P O K E V C , 1 6 5
1 6 5 0 R E M V E R T I C A L P O S I T I O N
1 6 6 0 P O K E V C + 1 , 1 9 0
1 6 7 0 R E M S W I T C H O N R O C K E T , S P R I T E 0
1 6 8 0 P O K E V C + 2 1 , 1
1 6 9 0 P R I N T C H R T ( 5 )
1 7 0 0 R E T U R N
1 7 1 0 R E M
1 7 2 0 R E M T E S T R O U T I N E
1 7 3 0 S = 0
1 7 4 0 P = 1 0 : R E M S E T P A U S E
1 7 5 0 X = 1 4 s Y = 0 : G O S U B 2 7 0 0
1 7 6 0 P R I N T " < < F I R E W O R K > > "
1 7 7 0 A = I N T ( R N D ( 1 ) * 9 6 ) + 5
1 7 8 0 B = I N T - : R N D < 1 ) * A )
. 1 7 9 0 R E M P R E V E N T T O O E A S Y Q U E S T I O N S
1 8 0 0 I F B < 1 1 T H E N 1 7 7 0
1 8 1 0 G O S U B 2 9 4 0 : R E M P A U S E
1 8 2 8 X = 8 : Y = 2 : G O S U B 2 7 0 0
1 8 3 0 P R I N T " W H A T I S " A B
1 8 4 0 X = 3 0 s Y = 2 ; G O S U B 2 7 0 0
1 8 5 0 P R I N T "
1 8 6 0 G O S U B 2 7 0 0
1 8 7 0 I N P U T C *
1 8 8 0 IF A S C ( C $ ) < 4 9 T H E N 1 8 4 0
1 8 9 0 I F A S C ( C * > > 5 7 T H E N 1 8 4 0
1 9 0 0 C = V A I . . < C $ >
1 9 1 0 I F C = A - B T H E N 1 9 5 0
1 9 2 0 G O S U B 2 7 0 0 ; P R I N T " N O " A B
1 9 3 0 G O T O 1 7 7 0
1 9 4 0 R E M I N C R E A S E S C O R E
1 9 5 0 S = S + 1 I F S < 5 T H E N 1 7 7 0
3 5
Page 48
Pro g ra m m in g f o r E d u ca ti on on the C o m m o d o r e 6 4
. 1 . 9 6 0 R E M C L E A R T O P O F S C R E E N
. 1 9 7 0 X « 14 : Y » 0 s G O S U B 2 7 0 0
1 9 8 0 P R I N T "
1 9 9 0 X » 8 : Y » 2 s G O S U B 2 7 0 0
2 0 0 0 P R I N T "
2 0 1 8 R E T U R N
2 0 2 0 R E M
2 0 3 0 R E M L A U N C H R O C K E T
2 0 4 0 P - 1 s R E M A D J U S T P A U S E
2 0 5 0 R E M B N I T C H O N E X H A U S T , S P R I T E 1
2 0 6 0 P O K E V C + 2 1 , 3
2 0 7 0 S D - 1 : G O S U B 2 7 7 0 : R E M S O U N D
2 0 8 0 F O R I = = 1 9 0 T O 1 2 0 S T E P - 1
2 0 9 0 R E M K E E P X C O O R D I N A T E C O N S T A N T
2 1 0 0 P O K E V C , 1 6 5
2 1 1 0 R E M A D J U S T Y C O O R D I N A T E
2 1 2 0 P O K E V C + 1 , I
2 1 3 0 R E M P L A C E E X H A U S T
2 1 4 0 IF I > 1 6 0 T H E N 2 2 3 0
2 1 5 0 R E M E N L A R G E E X H A U S T
2 1 6 0 R E M A D J U S T IX X D I R E C T I O N
2 1 7 0 P O K E V C • + • 2 3 , 7
2 1 8 0 R E M A D J U S T I N Y D I R E C T I O N
2 1 9 0 P O K E V C + 2 9 , 7
2 2 0 0 R E M X C O O R D I N A T E F O R L A R G E E X H A U S T
2 2 1 0 P O K E V C + 2, 1 6 5
2 2 2 0 G O T O 2 2 4 0
2 2 3 0 P O K E V C + 2, 1 7 7
2 2 4 0 P O K E V C + 3, I + 4 3
2 2 5 0 G O S U B 2 9 4 0 : R E M P A U S E
2 2 6 0 N E X T I
2 2 7 0 R E M G R O U N D S L I P S A W A Y
2 2 8 0 C = 6 : R E M S E L E C T B L U E
2 2 9 0 F O R 1 = 0 T O 1 6 0 S T E P 4 0
2 3 0 0 F O R J = 0 T O 3 9
2 3 1 0 L = 1 8 2 4 + I * • J
2 3 2 0 G O S U B 2 9 0 0
2 3 3 0 N E X T J
2 3 4 0 N E X T I
2 3 5 0 P = 5 s G O S U B 2 9 4 0 : R E M P A U S E
2 3 6 0 R E M B L A C K S K Y
2 3 7 0 P O K E 5 3 2 8 0 , 0 : P O K E 5 3 2 8 1 , 0
2 3 8 0 P R I N T " I ! S H I F T / C L R / H O M E 1 "
2 3 9 0 P = 1 0 : G O S U B . 2 9 4 0 s R E M P A U S E
3 6
Page 49
C h a p t e r 2 S m a l l is B e a u ti fu l
2 4 0 0
2 4 1 . 0
2 4 2 0
2 4 3 0
2 4 4 0
2 4 5 0
2 4 6 0
2 4 7 0
2 4 8 0
2 4 9 0
2 5 0 0
2 5 1 0
2 5 2 0
2 5 3 0
2 5 4 0
2 5 5 0
2 5 6 0
2 5 7 0
2 5 8 0
2 5 9 0
2 6 0 0
2 6 1 0
2 6 2 0
2 6 3 0
2 6 4 0
2 6 5 0
2 6 6 0
2 6 7 0
2 6 8 0
2 6 9 0
2 7 0 0
2 7 1 0
2 7 2 0
2 7 3 0
2 7 4 0
2 7 5 0
2 7 6 0
2 7 7 0
2 7 8 0
2 7 9 0
2 8 0 0
2 8 1 0
2 8 2 0
R E M M O O N A R R E A R S
P O K E V C + 2 1 , 7
R E M M O V E M O O M D O W N S C R E E N
P = . 5 s R E M A D J U S T P A U S E
F O R I «
8 T O 2 5 0
P O K E V C + 4, 3 0
P O K E V C + 5, I
( 3 0 S U B 2 9 4 0 : R E M P A U S E
N E X T I .
P = 5 : (30S UB
S D = 0 s G Q S U B
9 4 0 : R E M P A U S E
2 7 7 0 : R E M S O U N D
R E M S T A R B U R S T
R E M S W I T C H O F F
R O C K E T , S P R I T E 0
P O K E V C - I - 2 1 , 0
F O R I = 1 T O 8
L = 1 5 2 4 + I :
L . * 1 5 2 4 - I s
L 1 5 2 4 - i - I *
L ■ - - - 1 5 2 4 - I *
I . . . . = 1 5 2 4 + I +
L ~ 1 5 2 4 + I -
L . = 1 5 2 4 I +
L • = 1 5 2 4 - I
G O S U B 2 9 8 0
G O S U B 2 9 8 0
4 0 ; G O S U B 2 9 8 0
4 0 s G O S U B 2 9 8 0
I * 4 0 s G O S U B 2 9 8 0
I * 4 0 : G O S U B 2 9 8 0
I * 4 0 : G O S U B 2 9 8 0
I * 4 0 : G Q S U B 2 9 8 0
N E X T I
R E M L I G H T U P S K
Y
P O K E 5 3 2 8 0 , 3 : P O K E 5 3 2 8 1 , 3
P - - 5 0 : G O S U B 2 9 4 0 : R E M P A U S E
R E T U R N
R E M
R E M P R I N T T A B R O U T I N E
P O K E 7 8 2 , X s P O K E 7 8 1 , Y
S Y S 6 5 5 2 0
R E T U R N
R E M
R E M S O U N D E F F E C T
R E M S D = 1 , S O U N D O N
R E M S D = 0, S O U N D O F F
I F S D = 0 T H E N 2 8 4 0
P O K E 5 4 2 9 6 , 15
P O K E 5 4 2 7 7 , 1 2 9
P O K E 5 4 2 7 8 , 1 2 9
P O K E 5 4 2 7 6 , 1 2 9
P O K E 5 4 2 7 3 , 1 0
P O K E 5 4 2 7 2 ,
6 0
3 7
Page 50
P ro gr am m in g f o r E d u c a ti o n o n th e C o m m o d o r e 64
2 8 3 0 G O T O 2 8 7 0
2 8 4 0 P O K E 5 4 2 7 7 , 0
2 8 5 0 P O K E 5 4 2 7 8 , 0
2 8 8 0 P O K E 5 4 2 7 6 , 0
2 8 7 0 R E T U R N
2 8 8 0 R E M
2 8 9 0 R E M P L O T C H A R A C T E R S P A C E
2 9 0 0 P O K E L + 5 4 2 7 2 , C ; P O K E L, 1 6 0
2 9 1 0 R E T U R N
2 9 2 0 R E M
2 9 3 0 R E M P A U S E
2 9 4 0 F O R T = 1 T O P * 3 0 : N E X T T
2 9 5 0 R E T U R N
2 9 6 0 R E M
2 9 7 0 R E M P L O T S T A R
2 9 8 0 C = I N T ( R N D < 1 ) * 7 ) + 1
2 9 9 0 P O K E L + 5 4 2 7 2 , C : P O K E L, 4 2
3 0 0 0 R E T U R N
3 0 1 0 R E M
3 0 2 0 R E M D A T A F O R R O C K E T , S P R I T E 0
3 0 3 0 R E M
3 0 4 0 D A T A 0, 8 , 0, 0, 2 8 , 0, 0, 6 2 , 0
3 0 5 0 D A T A 0, 8 , 0, 0, 2 8 , 0, 0 , 6 2 , 0
3 0 6 0 R E M
3 0 7 0
3 0 8 0
3 0 9 0
3 1 0 0
3 1 1 0
3 1 2 0
3 1 3 0
3 1 4 0
3 1 5 0
3 1 6 0
3 1 7 0
3 1 8 0
3 1 9 0
3 2 0 0
3 2 1 0
3 2 2 0
R E M D A T A F O R E X H A U S T , S P R I T E 1
R E M
D A T A 0, 8 , 0, 0, 8 , 0, 0, 2 4 , 0
D A T A 0, 6 0 , 0, 0, 1 1 8 , 0, 0, 2 3 1
D A T A 0, 1 , 2 2 7 , 1 2 8 , 1 , 2 2 5 , 1 9 2
D A T A 1 , 2 2 5 , 2 2 4 , 0 , 2 4 1 , 2 2 4 , 0
D A T A 2 4 9 , 2 4 0 , 0, 1 2 5 , 2 4 0 , 0, 2 9
D A T A 2 4 0 , 0, 15, 2 2 4 , 0 , 7, 1 9 2
D A T A 0, 7, 1 2 8 , 0, 7, 1 2 8 , 0, 7, 0
D A T A 0, 1 4 , 0, 0, 12, 0, 0, 16, 0
R E M
R E M D A T A F O R M O O N , S P R I T E 2
R E M
D A T A 0, 3 0 , 0, 0, 7, 1 2 8 , 0, 3
D A T A 2 2 4 , 0, 1 , 2 4 0 , 0, 0 , 2 4 8 , 0
D A T A 0, 2 5 2 , 0, 0, 1 2 6 , 0 , 0, 1 2 6
D A T A 0, 0, 1 2 7 , 0, 0, 1 2 7 , 0, 0
3 2 4 0
3 2 5 0
D A T A 1 2 7 , 0, 0, 1 2 7 , 0, 0 , 1 2 7 ,
D A T A 0, 1 2 6 , 0, 0, 1 2 6 , 0, 0, 2 5
f - 0 Q
3 8
Page 51
C h a p te r 2 S m a l l is B e a u ti fu l
3 2 6 0 D A T A 0, 0, 2 4 8 , 0, 1 , 2 4 0 , 0, 3
3 2 7 0 D A T A 2 2 4 , 0, 7, 1 2 8 , 0, 3 0 , 0
R E A D Y .
C o m m e n t a r y
T h e c o n t r o l m o d u l e f o r F i r e w o r k i s f o r m e d b y t h e line s 1 0 2 0 - 1 0 6 0 . I t c a n
b e seen t h a t t h e p r o g r a m i s i n a n o v e r a l l l o o p a n d so R U N / S T O P h a s t o b e
u s e d t o e s c a p e f r o m i t.
T h e f i r s t r o u t i n e o f t h e p r o g r a m d e f i n e s t h r e e s p r i t e s . F i r s t t h e v a l u e o f VC
i s i n it ia l is e d b y l in e 1 1 1 0 . T h e n t h e r o c k e t , i ts e x h a u s t a n d t h e M o o n a r e
d e f i n e d i n t u r n a s s p r i t e s 0 - 2 . T h e t h r e e d i a g r a m s s h o w e a c h o f t h e s p r i t e s
in d e t a i l . I t c a n b e s e en t h a t t h e m a j o r p a r t o f t h e r o c k e t i s a v e ry r e p e t i t i v e
s h a p e a n d t h i s p a t t e r n i s r e f l e c t e d i n t h e w a y t h a t t h e c o r r e s p o n d i n g s p r i t e
d a t a is b u i l t u p b y t h e u s e o f t h e F O R . . . N E X T l o o p f r o m l i n e s
1 1 9 0 - 1 2 3 0 . T h e o t h e r t w o s p r i t e s a r e b u i l t u p i n s t e a d s im p l y f r o m t h e
D A T A s t o r e d a t t h e e n d o f t h e p r o g r a m . L i n e s 1 4 1 0 - 1 4 8 0 t h e n selec t t h e
si ze a n d c o l o u r o f t h e s p r i t e s .
Li ne s 1 5 1 0 - 1 6 9 0 c o l o u r t h e s c re e n b l u e a n d p l a c e g r a s s a t t h e b o t t o m . T h e
r o c k e t i s l o c a t e d o n t h e g r a s s b y P O K E i n g t h e t w o l o c a t i o n s V C a n d
V C + 1 , wh ic h c o n t r o l its h o r i z o n t a l a n d v e r t i c a l l o c a t i o n o n t h e s c re e n .
F i n a ll y t h e r o c k e t i s m a d e t o a p p e a r b y P O K E i n g its s p r i t e n u m b e r , 1 , t o
V C + 21. T h i s i s t h e l o c a t i o n w h i c h c o n t r o l s w h e t h e r a p a r t i c u l a r s p r i t e
a p p e a r s o n t h e s c r e e n o r n o t . L i n e 1 6 9 0 se lec ts w h i t e t e x t f o r t h e s u b s e q u e n t
t e s t r o u t i n e .
T h e t e s t gi ven t o t h e c h i l d is si m p l e s u b t r a c t i o n o f n u m b e r s . L i n e 1 7 7 0
c h o o s e s A t o b e a n u m b e r le ss t h a n 1 0 0 . L i n e 1 7 8 0 t h e n m u lt ip l ie s A b y a
r a n d o m d e c im a l n u m b e r a n d t a k e s t h e i n t e g r a l p a r t . I n t h i s w a y , i t i s
e n s u r e d t h a t t h e n u m b e r b e in g s u b t r a c t e d i s n o t l a r g e r t h a n t h e o n e i t i s
b e in g s u b t r a c t e d f r o m . L i n e 1 8 0 0 t h e n p r e v e n t s t h e c a l c u l a t i o n s f r o m
b e in g t o o ea sy. A g a i n ex te n si ve u s e i s m a d e o f a P R I N T T A B s u b r o u t i n e t o
a llo w t h e s c re e n t o b e n e a t l y a r r a n g e d . L i n e s 1 8 4 0 - 1 8 9 0 s t o p l e t t e r s b e in g
a c c e p t e d a s a n i n p u t . T h e v a r i a b l e S k e e p s a r e c o r d o f t h e c h i l d ’ s success
a n d g o v e rn s ex it f r o m t h e t e s t t o t h e r e w a r d r o u t i n e a t l in e 1 9 5 0 .
Li ne s 2 0 3 0 - 2 6 7 0 c o n t r o l t h e f l i g h t o f t h e r o c k e t u p i n t o t h e sk y . H e r e t h e
s p r i t e s a llo w e a sy a n i m a t i o n . A n i n c r e a s e d se nse o f u p w a r d m o t i o n i s
a t t e m p t e d b y r e m o v i n g t h e g r o u n d b e t w e e n line s 2 2 8 0 - 2 3 4 0 a n d b y
m o v in g t h e M o o n d o w n w a r d s i n t h e l o o p 2 4 4 0 — 2480. T h e s o u n d o f t h e
r o c k e t i s c r e a t e d b y t h e s e p a r a t e r o u t i n e b e t w e e n line s 2 7 4 0 - 2 8 7 0 a n d c o n
t r o l l e d by t h e v a l u e o f t h e f la g S D . T h e l o o p f r o m 2 5 4 0 - 2 6 3 0 use s a n o t h e r
s u b r o u t i n e t o p l a c e a s t a r b u r s t o n t h e s c re e n .
3 9
Page 52
Pro g ra m mi n g f o r E du ca ti o n o n the C o m m o d o r e 6 4
40
Page 53
C h a p te r 2 S m a l l is B ea u ti fu l
4 1
Page 54
P ro gr am m in g f o r E du ca ti on on th e C o m m o d o r e 6 4
D i a g r a m D
4 2
Page 55
C h a p te r 2 S m a ll i s B ea u ti fu l
F r a c t i o n
T h e r e is n o d o u b t t h a t i n t h e w h o l e o f m a t h s t e a c h i n g , t h e r e i s n o t o p i c so
o f f - p u t t i n g t o c h i l d r e n , p a r e n t s a n d t e a c h e r s a li k e as t h a t o f f r a c t i o n s .
C h i l d r e n o f seven a n d e ig h t o f t e n h a v e a n i n tu i t i v e g r a s p o f ha lv e s a n d
q u a r t e r s , b u t t h e n o t a t i o n o f v u l g a r f r a c t i o n s i s u n f a m i l i a r a n d t h e t e r m s
n u m e r a t o r a n d d e n o m i n a t o r a r e a w k w a r d i n th e m s e lv e s . R e c e n t su rv ey s,
s uc h as t h e C o c k r o f t R e p o r t (198 2) , h a v e i m p l ie d t h a t w o r k s h o u l d c o n c e n
t r a t e o n d e c im al f r a c t i o n s a t l e a s t u n t i l t h e u p p e r e n d o f p r i m a r y s c h o o ls .
T h i s do es n o t m e a n t h a t t h e i d e a o f f r a c t i o n s c a n g o o u t o f t h e w i n d o w .
C h i l d r e n ne e d a l o t o f p r a c t i c a l e x p e ri e n c e i n d i v id i n g o b j e c t s u p i n t o
e q u a l- s iz e d p a r t s b e f o r e t h e y u n d e r s t a n d f r a c t i o n a l c o n c e p t s . I t i s u s u a ll y
in t h e r e c o g n i t i o n o f w h a t a f r a c t i o n s t a n d s f o r , a n d i n t h e m a n i p u l a t i o n o f
its p a r t s , t h a t p r o b l e m s o c c u r . I n t h i s c h a p t e r , we h a v e a t t e m p t e d t o t a c k l e
t h is p r o b l e m i n d i f f e r e n t way s.
F r a c t i o n d i s p l a y s a r e c t a n g l e , r e p r e s e n t i n g t h e w h o l e o b j e c t ; i t t h e n
c o l o u r s i n a p a r t i c u l a r f r a c t i o n a n d a s ks t h e c h il d t o i n p u t t h e n u m e r a t o r
a n d d e n o m i n a t o r . T h e s e t e r m s a r e u s e d o n t h e sc re e n a n d t h e r e i s n o d o u b t
a b o u t w hi ch i s w h i c h .
A s a n a i d t o k n o w i n g h o w t o ex pr e s s t h e f r a c t i o n , i e w h e t h e r j o r { i s
r e q u i r e d , t h e w h o le r e c t a n g l e i s d i v id e d u p i n t o t h e s a m e n u m b e r o f p a r t s as
t h e d e n o m i n a t o r . F o r i n s t a n c e , i f \ i s r e q u i r e d , t h e r e c t a n g l e div ides i n t o si x
c le a r l y - d e f i n e d s e c t i o n s , a n d t w o o f t h e s e a r e c o l o u r e d i n . S h o u l d t h e c h ild
m a k e a n i n c o r r e c t i n p u t , t h e r e i s a r o u t i n e t o s h o w h o w t h e f r a c t i o n i s b u i l t
u p . I f t h e c h ild i s s u c ce s s fu l, t h e e x a m p le s b e c o m e p r o g re s s iv e l y m o r e d i f
f ic u l t, w h e r e a s t h o s e f o r a c h il d w i t h d i f f i c u l t i e s r e m a i n s im p le .
. 1 . 0 0 0 R E M F R A C T I O N
1 0 1 0 R E M
10 20 G O S U B 1 2 0 0 :
1 0 3 0 GO SIJ B 1 1 7 0 :
1 0 4 0 G O S U B 1 3 6 0 :
1 0 5 0 G O S U B 2 0 1 0 s
1 0 6 0 G O T O 1 0 3 0
1 0 7 0 E N D
1 0 8 0 R E M
1 0 9 0
1100
1 1 1 0
112 0
. 1 . 1 3 0
1 1 4 0
1 1 5 0
1 1 6 0
R E M I N I T I A L I S A T I O N
R E M S C O R E A N D N U M B E R A T T E M P T E D
S = 0 : G - 0
R E M L E V E L O F D I F F I C U L T Y
D F = 1
R E T U R N
R E M
R E M S E L E C T F R A C T I O N
- P A T H A L L , J A N ' 8 4
R E M I N I T I A L I S A T I O N
R E M S E L E C T F R A C T I O N
R E M D R A W D I A G R A M
R E M R E Q U E S T A N S W E R
4 3
Page 56
P ro gr am m in g f o r E du ca ti o n on th e C o m m o d o r e 64
I N K R N I K 1 )
1 1 7 0
1 1 8 0 N =
1 1 9 0 IF
1 2 0 0
1210 W «
1 22 0
1 2 3 0 I F
1 2 4 0 IF D < 8 T H E N W =
1 2 5 0
1 2 6 0 IF
1 2 7 0
1 2 8 0
1 2 9 0 IF D < 3 T H E N W -
1 3 0 0 R E M '
1 3 1 0 L D
1 3 2 0 R E T U R N
1 3 3 0 R E M
1 3 4 0 R E M D R A W D I A G R A M
1 3 5 0 R E M W H I T E S C R E E N
1 3 6 0 P O K E 5 3 2 8 0 , 1 : P O K E 5 3 2 8 1 , 1
1 3 7 0 P R I N T " C S H I F T / C L R / H O M E ' J "
1 3 8 0 R E M P R I N T T I T L E
1 3 9 0 P R I N T C H R T ( 1 4 4 )
1 4 0 0 X = 1 3 : Y = 0 s ' G O S U B 1 9 5 0
1 4 1 0 P R I N T " « F R A C T I O N >> "
1 4 2 0 P R I N T C H R $ < 3 0 )
1 4 3 0 X = 1 2 : Y = 2 . : G O S U B 1 9 5 0
1 4 4 0 P R I N T " S C O R E : " S " / " G
1 4 5 0 P R I N T C H R T ( 1 4 4 )
1 4 6 0 R E M D R A W D D I V I S I O N S
1 4 7 0 F O R I = 1 T O D
1 4 8 0 R E M L O C A T E T O P L E F T O F D I V I S I O N
1 4 9 0 L D = L D + W + 1
1 5 0 0 R E M P L O T T O P A N D B O T T O M O U T L I N E
1 5 1 0 C = 0 : R E M S E L E C T B L A C K
1 5 2 0 F O R J = 0 T O W
1 5 3 0 L = L D + J
1 5 4 0 G O S U B 1 9 2 0
1 5 5 0 L - L D + 5 6 0 + J
1 5 6 0 G O S U B 1 9 2 0
1 5 7 0 N E X T J
1 5 8 0 R E M S O U N D E F F E C T
1 5 9 0 P O K E 5 4 2 9 6 , 1 5 : P O K E 5 4 2 7 7 , 1 2 9
1 6 0 0 P O K E 5 4 2 7 8 , 1 2 9 : P O K E 5 4 2 7 6 , 17
D =
I N T < R N D ( 1 )
N < 1 T H E N 1 1 8 0
R E M 1 S E L E C T W I D T H
1
D < 1 3 T H E N W
IF
D < 1 0 T H E N W
IF
D < 7 T H E N W = ■ - -
D < 6 T H E N W =
IF
D < 5 T H E N W =
D < 4 T H E N W =
I F
1 L O C A T E T O P L E F T O F
« 1 2 0 3 - D * (
* D F
* D )
O F D I V I S I O N S
_
= 3
4
5
' t f
8
1 1
17
W + 1
) + 2
D I A G R A M
) / 2
4 4
Page 57
C h a p te r 2 S m a l l is B ea u ti fu l
1 6 1 0 P O K E 5 4 2 7 3 , 6 8 : P O K E 5 4 2 7 2 , 1 4 9
1 6 2 0 F O R T = 1 T O 9 0 : N E X T T
1 6 3 0 P O K E 5 4 2 7 7 , 0 r . P O K E 5 4 2 7 8 , 0
1 6 4 0 P O K E 5 4 2 7 6 , 0
1 6 5 0 R E M L E F T H A N D E D G E
1 6 6 0 F O R J = 4 0 T O 5 2 0 S T E P 4 0
1 6 7 0 L = L D + J
1 6 8 0 G O S U B 1 9 2 0
1 6 9 0 N E X T J
1 7 0 0 R E M C O L O U R I N D I V I S I O N
1 7 1 0 R E M C O L O U R N U M E R A T O R G R E E N
1 7 2 0 C = 5
1 7 3 0 R E M C O L O U R O T H E R D I V I S I O N S Y E L L O W
1 7 4 0 I F I > N T H E N C “ 7
1 7 5 0 F O R J - 4 0 T O 5 2 0 S T E P 4 0
1 7 6 0 F O R K . = 1 T O W
1 7 7 0 L = L D + J + K
1 7 8 0 G O S U B 1 9 2 0
1 7 9 0 N E X T K .
1 8 0 0 N E X T J
1 8 1 0 N E X T I
1 8 2 0 R E M F I N A L R I G H T H A N D E D G E
. 1 8 3 0 C = 0 ; R E M S E L E C T B L A C K
1 8 4 0 L D = L D + w + 1
1 8 5 0 F O R I = 0 T O 5 6 0 S T E P 4 0
1 8 6 0 1 . . . = L D + I
1 8 7 0 G O S U B 1 9 2 0
1 8 8 0 N E X T I
1 8 9 0 R E T U R N
1 9 0 0 R E M
1 9 1 0 R E M P L O T C H A R A C T E R S P A C E
1 9 2 0 P O K E L + 5 4 2 7 2 , C : P O K E L, 1 6 0
1 9 3 0 R E T U R N
1 9 4 0 R E M P R I N T T A B R O U T I N E
1 9 5 0 P O K E 7 8 2 , X : P O K E 7 8 1 , Y
1 9 6 0 S Y S 6 5 5 2 0
1 9 7 0 R E T U R N
1 9 8 0 R E M
1 9 9 0 R E M R E Q U E S T A N S W E R
2 0 0 0 R E M I N C R E M E N T N U M B E R A T T E M P T E D
2 0 1 0 G = G + 1
2 0 2 0 R E M R E Q U E S T A N S W E R
2 0 3 0 X = 8 s Y = 2 0 : G O S U B 1 9 5 0
2 0 4 0 P R I N T " W H A T F R A C T I O N I S G R E E N ? "
4 5
Page 58
P ro gr a m m in g f o r E d u ca ti on on t h e C o m m o d o r e 64
2 0 5 0 Y = 2 2 : G O S U B 1 9 5 0
2 0 6 0 P R I N T " T Y P E N U M E R A T O R ; - "
2 0 7 0 X A = 2 2 : G O S U B 2 2 0 0
2 0 8 0 M l = A N
2 0 9 0 X = 8 s Y ~ 2 3 ; G O S U B 1 9 5 0
2 1 0 0 P R I N I ...f ' Y P E D E N O M I N A T O R ; ~"
2 1 1 0 X A » 2 4 : G O S U B 2 2 0 0
2 1 2 0 D 1 ~ A N
2 1 3 0 R E M C H E C K A N S W E R
2 1 4 0 I F N 1 = N A N D D 1 « D T H E N G O S U B 2 3 3 0
2 1 5 0 I F N I O N O R D I O D T H E N G O S U B 2 5 0 0
2 1 6 0 F O R T = 1 T O 2 0 0 0 ; N E X T T
2 1 7 0 R E T U R N
2 1 8 0 R E M
2 . 1 9 0 R E M A C C E P T A N S W E R
2 2 0 0 X - X A
2 2 1 0 G O S U B 1 9 5 0
2 2 2 0 P R I N T "
2 2 3 0 G O S U B 1 9 5 0
2 2 4 0 I N P U T A N T
2 2 5 0 R E M R E J E C T N O N NUMERICAL.. V A L U E S
2 2 6 0 I F A S C ( A N T ) < 4 8 T H E N 2 2 0 0
2 2 7 0 I F A S C ( A N T ) > 5 7 T H E N 2 2 0 0
2 2 . 8 0 A N = V A l . . . ( A N T )
2 2 9 0 R E T U R N
2 3 0 0 R E M
2 3 1 0 R E M R E W A R D R O U T I N E
2 3 2 0 R E M G R E E N S C R E E N
2 3 3 0 P O K E 5 3 2 8 0 , 5 ; P O K E 5 3 2 8 1 , 5
2 3 4 0 P R I N T " C S H I F T / C L P / H O M E I I "
2 3 5 0 R E M I N C R E A S E S C O R E
2 3 6 0 S = S + 1
2 3 7 0 R E M I N C R E A S E D I F F I C U L T Y
2 3 8 0 D F - D F + 1
2 3 9 0 I F D F > 17 T H E N D F = 17
2 4 0 0 P R I N T C H R T ( 5 )
2 4 1 0 F O R I = 1 T O 1 1
2 4 2 0 P R I N T " W E L L D O N E . T H A T I S T H E " ;
2 4 3 0 P R I N T " C O R R E C T A N S W E R . "
2 4 4 0 P R I N T
2 4 5 0 N E X T I
2 4 6 0 R E T U R N
2 4 7 0 R E M
. 2 4 8 0 R E M C O R R E C T I O N R O U T I N E
46
Page 59
C h a p te r 2 S m a l l is B ea u ti fu l
2 4 9 0 R E M Y E L L O W S C R E E N
2 5 0 0 P O K E 5 3 2 8 0 , 7 : P O K E 5 3 2 8 1 , 7
2 5 1 0 P R I N T H I ! S H I F T / C L P / H O M E 3 "
2 5 2 0 R E M D E C R E A S E D I F F I C U L T Y
2 5 3 0 D F * D F - 1
2 5 4 0 I F D F < 1 T H E N D F = 1
2 5 5 0 F O R I = 1 T O 1 1
2 5 6 0 P R I N T " N O . T H E C O R R E C T " 5
2 5 7 0 P R I N T " A N S W E R I S " N " / " D
2 5 8 0 P R I N T
2 5 9 0 N E X T I
2 6 0 0 R E T U R N
R E A D Y .
C o m m e n t a r y
T h e c o n t r o l m o d u l e f o r F r a c t i o n li es b e tw e e n 1 0 2 0 - 1 0 6 0 , w h ic h f o r m a
l o o p ca lli ng u p i n i t i a l i s a t i o n , s e le c ti o n , d r a w i n g a n d t e s t i n g r o u t i n e s . T h e
p r o g r a m do e s n o t c o m e t o a n e n d u nl es s R U N / S T O P i s p r e s s e d .
Lin es 1 0 9 0 - 1 1 4 0 a r e t h e i n i t i a l i s a t i o n r o u t i n e . T h e v a r i a b l e s S a n d G a r e
set e q u a l t o z e ro a t lin e 1 1 1 0 . T h e y r e c o r d t h e s c o re th e c h il d h a s a c hi e v e d
a n d t h e n u m b e r o f f r a c t i o n s a t t e m p t e d . T h e v a r i a b l e D F i s i n it ia l is e d b y
line 1 1 3 0 . D F c o n t r o l s h o w h a r d e a c h f r a c t i o n is . T h e s m a l le r t h e v a lu e o f
D F , t h e s m a l le r t h e n u m e r a t o r a n d d e n o m i n a t o r o f t h e f r a c t i o n d r a w n o n
t h e sc re e n. T h e v a lu e o f D F i s c o n t i n u o u s l y m o n i t o r e d d u r i n g t h e e x e cu
t i o n o f t h e p r o g r a m , so t h a t w h e n t h e c h il d t y p e s in a c o r r e c t a n s w e r t h e
le v e l o f d i f f i c u l t y in c r e a s e s . I f a n a n s w e r t y p e d i n i s i n c o r r e c t , t h e v a lu e o f
D F i s d e c re a s e d so t h a t t h e f r a c t i o n s b e c o m e e a s i e r. I t i s n o t q u i t e t h is
s im pl e, as a r a n d o m f a c t o r i s i n t r o d u c e d as w ell, b u t D F d o e s d e t e r m i n e t h e
ov e ra l l t r e n d t o w a r d s h a r d e r o r e a si e r e x a m p l e s .
T h e f r a c t i o n i s g e n e r a t e d b e tw e e n lines 1 1 6 0 - 1 3 2 0 . T h e d e n o m i n a t o r , D ,
i s selec ted a t l in e 1 1 7 0 . D F e n t e r s i n t o t h e e x p r e s s io n as t h e n u m b e r t h a t t h e
r a n d o m f r a c t i o n R N D ( l ) i s m u l t i p l i e d b y . L i n e 1 1 8 0 r e l a t e s t h e s i z e o f t h e
n u m e r a t o r , N , t o t h a t o f D . O b v i o u s l y , t h e w a y i n w h ic h t h e t w o n u m b e r s
a r e g e n e r a t e d e n s u r e s t h a t t h e n u m e r a t o r i s s m a l le r t h a n t h e d e n o m i n a t o r ,
as i s n e c es s a ry .
Lin es 1 2 1 0 - 1 2 9 0 r e l a t e t h e v a lu e o f t h e v a r i a b l e W t o t h a t o f D . W i s u s e d
in t h e fo ll o w i n g r o u t i n e w h e n t h e d i a g r a m o f t h e f r a c t i o n i s d r a w n o n t h e
s cre en . H e r e , h o w e v e r , it i s a d j u s t e d t o giv e t h e l a r g e s t p o s s ib l e d i a g r a m
f o r t h e f r a c t i o n c h o s e n . F i n a l l y , t h i s r o u t i n e c a lc u la t e s a v a lu e f o r t h e
4 7
Page 60
P ro gr am m in g f o r E d u ca ti o n on the C o m m o d o r e 6 4
v a r i a b l e L D in t e r m s o f W a n d D. L D a llo ws th e s u b s e q u e n t c a l c u l a t i o n o f
t h e t o p l e f t h a n d c o r n e r o f e a c h d i v is i o n o f t h e f r a c t i o n .
Lin es 1 3 4 0 - 1 8 9 0 f o r m t h e r o u t i n e w hi c h p la c e s t h e f r a c t i o n a l d i a g r a m o n
t h e sc ree n. I t i s b u i l t u p q u i t e n a t u r a l l y in a ser ies o f b l o c k s o r d iv is io n s
c o r r e s p o n d i n g i n n u m b e r t o t h e s i z e o f t h e d e n o m i n a t o r .
A f t e r t h e sc re e n h a s b e e n c le a r e d b y l in e 1 3 7 0 a n d t h e t i t l e a n d o t h e r
h e a d in g s p l a c e d b y lin es 1 3 8 0 - 1 4 4 0 , a l e n g t h y F O R . . . N E X T l o o p , f r o m
lines 1 4 7 0 - 1 8 1 0 , c o n s t r u c t s e a c h d i v is i o n o f t h e d i a g r a m in t u r n . A t t h e
b e g in n i n g o f t h is l o o p , a ne w v a lu e i s f i r s t c a l c u l a t e d f o r L D f o r t h e c u r r e n t
d i v is i o n . T h e J l o o p b e tw e e n lines 1 5 2 0 - 1 5 7 0 d r a w s t h e t o p a n d b o t t o m o f
t h e d iv is io n in b l a c k . A s u b r o u t i n e a t lines 1 9 1 0 - 1 9 3 0 i s u s e d b y t h is l o o p ,
a n d a ls o f o r all succ essive p l o t t i n g o n t h e s c re e n . T h i s i s f o ll o w e d b y a b r i e f
s o u n d e f f e c t t o h e lp d r a w a t t e n t i o n t o t h e p r o c e s s o f b u i l d i n g u p t h e d i a
g r a m a n d h e n c e t o a id t h e c h i l d ’ s c o u n t i n g . T h e s o u n d i s g e n e r a t e d b y t h e
v a r i o u s P O K E s b e tw e e n lines 1 5 9 0 - 1 6 4 0 . A f t e r t h i s , t h e l e f t h a n d ed ge o f
t h e di v is i o n i s p l o t t e d b y t h e l o o p b e tw e e n 1 6 5 0 - 1 6 9 0 .
So f a r , o n l y t h r e e sides o f t h e d i v is i o n h a v e b e e n d r a w n . T h e e n c lo s e d
a r e a i s c o l o u r e d i n b y t h e t w o n e s t e d F O R . . . N E X T l o o p s f r o m
1 7 5 0 - 1 8 0 0 . T h e c o l o u r t h e a r e a i s p l o t t e d i n i s c h o s e n a t lines 1 7 1 0 - 1 7 4 0 .
T h e n u m e r a t o r o f t h e f r a c t i o n a p p e a r s i n g r e e n a n d t h e r e m a i n i n g di v is io n s
in yellow. L in e 1 8 1 0 e n d s t h e I F O R . . . N E X T l o o p .
A f t e r t h e D di v is io n s a r e d r a w n , t h e r e i s still t h e e x tr e m e r i g h t h a n d edge
o f t h e d i a g r a m t o b e fille d i n . T h e l o o p b e tw e e n lines 1 8 5 0 - 1 8 8 0 d o e s t h i s .
N o t e ho w t h e s a m e s u b r o u t i n e h a s b e e n r e p e a t e d l y c a ll e d d u r i n g t h e w h ol e
o f t h e c o n s t r u c t i o n o f t h e d i a g r a m .
Lin es 1 9 9 0 - 2 1 6 0 m a k e ex ten si ve u se o f t h e P R I N T T A B r o u t i n e b e tw e e n
1 9 4 0 - 1 9 7 0 t o f o r m a t t h e p r e s e n t a t i o n o f t h e q u e s t i o n o n t h e sc re e n .
A n o t h e r s u b r o u t i n e a t line s 2 1 9 0 - 2 2 9 0 c he ck s t h a t a c c e p t a b l e v a lu e s a r e
t y p e d in . Li ne s 21 40 a n d 21 50 t h e n select e i t h e r r e w a r d o r c o r r e c t i o n
r o u t i n e s a t t h e e n d o f t h e p r o g r a m . I t i s h e r e t h a t t h e v a lu e o f D F i s a d j u s t e d
t o c o r r e s p o n d t o t h e d e g re e o f suc cess o r f a i l u r e t h e c h il d i s e x p e ri en c in g .
Su cce ss w i l l l e a d f a i r l y q u i c k l y t o h a r d e r e x a m p l e s , w h e r e a s c o n s t a n t
f a i l u r e w o u l d l e a d t o t h e c h il d u s in g t h e p r o g r a m b e in g s h o w n a d i a g r a m o f
7 o v e r a n d o v e r a g a i n , t o g e t h e r w i t h t h e c o r r e c t i o n r o u t i n e . A l t h o u g h it i s
q u i t e sim pl e t o a r r a n g e f o r p r o g r a m s t o b e s e l f - a d j u s t i n g t o t h e c h i l d ’ s le v e l
o f a b i l it y , ne v e rt h e l e s s s uc h a n a r r a n g e m e n t all ow s f a r m o r e e ffe c ti v e
l e a r n in g p r o g r a m s t o b e c o n s t r u c t e d .
4 8
Page 61
C H A P T E R 3
W o r d s , W o r d s , W o r d s
H a n d l i n g w o r d s o n a c o m p u t e r — s o r t i n g t h i n g s — A l p h a s o r t : a
p r o g r a m t o s o r t w o r d s i n t o a l p h a b e t ic a l o r d e r — n u m b e r s in s t r i n g s
— S i m o n : a g a m e t o i m p r o v e m e m o r y — d i v e r s i t y o f s u b j e c t s in
p r i m a r y s c h o o l s — p r o b l e m s in s p e ll in g — d i f f e r e n t a p p r o a c h e s —
c o n t e x t c lu e s — H a n g m a n : a m u l t i - p u r p o s e s p e ll in g p r o g r a m —
res ear ch s k i l l s — A n a g r a m : c lue s f r o m w o r d o r d e r .
S o f a r in t h e b o o k , t h e m a j o r i t y o f p r o g r a m s h a v e in v o lv e d s o m e s o r t o f
m a t h s skills. T h e 6 4 c o n t a i n s m a n y fa c ili tie s t h a t m a k e t h e h a n d l i n g o f
w o r d s m u c h e a si e r. As h a s b e e n m e n t i o n e d b e f o r e , c o m p u t e r s a r e j u s t as
h a p p y m a n i p u l a t i n g l e t te r s as f ig u r e s. N u m b e r s a r e s t o r e d as n u m e r i c
v a r i a b le s , su c h as X o r C O U N T , a n d s tr i n g s o f c h a r a c t e r s as s tr i n g v a r i a
bl es, s uc h as A$ o r BOOKS. E a c h c h a r a c t e r in t h e 6 4 h a s a c o d e n u m b e r t h a t
r e f e rs t o i t, so 6 5 s t a n d s f o r A , a n d 9 0 s t a n d s f o r Z . Y o u c a n ch e ck t h is o u t
y o u r s e l f by e n t e r i n g th i s s h o r t p r o g r a m .
1 0 F O R N = 6 5 T O 2 5 5
2 0 P R I N T C H R $ ( N )
3 0 N E X T N
T h e f u n c t i o n C H R $ c o n v e r t s t h e C o m m o d o r e c o d e t o its c h a r a c t e r
e q u i v a l e n t , so y o u w il l s e e t h e a l p h a b e t p r i n t e d o u t i f y o u R U N t h e p r o
g r a m . (T his w il l b e in u p p e r ca se i f y o u a r e in t h e n o r m a l m o d e a f t e r sw i tc h
ing o n , o r in lo w e r ca se i f y o u h a v e c h a n g e d m o d e s b y p r e s s i n g S H I F T a n d
t h e C o m m o d o r e k ey [ C = ] a t t h e sa m e t i m e . )
T h e f u n c t i o n t h a t d o e s t h e re v e rs e o f C H R $ i s A S C . A S C i s s h o r t f o r
A S C I I , t h e i n it ia l s o f t h e A m e r i c a n S t a n d a r d C o d e f o r I n f o r m a t i o n I n t e r
c h a n g e . A l t h o u g h t h e 6 4 h a s its o w n co de s f o r g r a p h i c s s y m b o l s , it fo llo w s
A S C I I co de s f o r l e t t e r s a n d n u m b e r s . T h i s p r o g r a m sh ow s y o u h o w A S C
w o r k s :
1 0 P R I N T “ P R E S S A K E Y ”
2 0 P O K E 1 9 8, 0
3 0 G E T Z $ : I F Z$ = T H E N 3 0
Page 62
P rog ram mi ng f o r Ed u ca ti on on th e C o m m o d o r e 6 4
4 0 C = A S C( Z$ )
5 0 P R I N T C
6 0 G O T O 1 0
C o m m e n t a r y
Li ne 2 0 clea rs t h e k e y b o a r d b u f f e r (a t e m p o r a r y m e m o r y s t o r e f o r k e y
b o a r d i n p u t ) .
Li ne 3 0 r e a d s t h e k e y b o a r d a n d r e p e a t s u n t i l a key i s p r e s s e d . N o t e t h a t
t h e r e i s n o t h i n g b e tw e en t h e t w o q u o t e m a r k s . T h i s i s c a lle d a n e m p t y
s tr i n g .
Li ne 4 0 assign s t h e A S C I I c o d e o f t h e key p r e s s e d t o t h e v a r i a b l e C.
Lines 5 0 a n d 6 0 p r i n t t h e c o d e a n d s en d t h e p r o g r a m b a c k t o t h e s t a r t .
I f y o u r u n t h is p r o g r a m , y o u w il l d i sc o v e r m a n y u s e f u l t h i n g s . A p a r t f r o m
pr ess in g l e t t e r key s, t r y p r e s s i n g n u m b e r keys, t h e a r r o w e d c u r s o r keys,
a n d t h e f u n c t i o n keys. Y o u w il l f i n d t h a t all t h e k ey s g e n e r a t e co d e s ex cep t
[R E S T O R E ], [ C T R L ], [ S H I F T ] a n d [ S H I F T L O C K ] , [ C = ] a n d
[ R U N / S T O P ] o n t h e i r o w n . M a n y ke ys , s u c h as A , h a v e t h r e e c o d e s,
d e p e n d in g o n w h e t h e r y o u a r e p r e s s i n g [S H I F T ] o r [ C = ] a t t h e sa m e t im e .
T h e key A n o r m a l l y h a s a c o d e o f 65 , b u t i t p r o d u c e s 1 9 3 w it h [ S H I F T ]
a n d 1 7 6 i f [ C = ] i s a ls o h e ld d o w n . T h i s i s u s e f u l i n p r o g r a m s , as y o u c a n
ch eck whi ch key s a r e b e in g p r e s s e d a t a n y t im e .
I f y ou ha v e a p r o g r a m t h a t r e q u i r e s a w o r d o r p h r a s e t o b e i n p u t i n t o a
s tr i n g , t h e l e n g t h o f t h e s tr i n g c a n b e c h e c k e d b y u s in g t h e f u n c t i o n L E N . I f
yo u e n t e r d ir e c tl y
X $ = “ H E L L O ”
t h e n
P R I N T L E N (X $)
t h e r e s u l t 5 w il l a p p e a r , as H E L L O h a s five c h a r a c t e r s .
O t h e r s tr i n g f u n c t i o n s a r e R I G H T S , L E F T S , a n d M ID S. R I G H T S
r e t u r n s t h e r i g h t h a n d p o r t i o n o f a s t r i n g , L E F T S t h e l e f t h a n d p o r t i o n , a n d
MID S c a n e x t r a c t a p o r t i o n f r o m a n y w h e r e i n t h e m id d l e . T o s e e h o w t h e y
o p e r a t e , t r y th is :
1 0 A S = “ A B C D E F G H I J ”
2 0 P R I N T R I G H T $ ( A $ , 4 )
5 0
Page 63
C h a p t e r 3 Wor ds, Words, W o rd s
3 0 P R I N T L E F T $ ( A $ ,4 )
40 P R I N T M ID $ ( A $ , 2 , 6 )
I f y o u R U N t h i s , it w il l p r i n t G H I J i n l in e 20 , a s t h e s e l e t te r s a r e t h e l a s t
f o u r l e t te r s o n t h e r i g h t o f t h e s t r i n g . A B C D w ill b e p r i n t e d o u t i n lin e 30 , as
t h e y a r e t h e f i r s t f o u r l e t t e r s o n t h e l e f t o f t h e s t r i n g . L i n e 40 w il l p r i n t o u t
B C D E F G , as th e s e a r e t h e si x l e t t e r s s t a r t i n g f r o m t h e s e c o n d c h a r a c t e r i n
t h e s t r i n g .
T h i s p r o g r a m w ill sh ow y o u h o w t h e 64 c a n s e a r c h t h r o u g h s tr i n g s u s in g
t h e s e f u n c t i o n s :
1 0 P R I N T “ E N T E R A W O R D ”
2 0 I N P U T A$
3 0 I F L E N ( A $ ) < 3 T H E N P R I N T “ T O O S H O R T ” : G O T O 1 0
40 P R I N T A $ “ IS ” L E N ( A $ ) “ C H A R A C T E R S L O N G ”
5 0 P R I N T “ I T S T A R T S W I T H ” L E F T $ ( A $ , 1 )
6 0 P R I N T “ A N D E N D S W I T H ” R I G H T $ ( A $ , 1 )
7 0 P R I N T “ A N D C O N T A I N S ” M I D $ ( A $ , 2 , L E N ( A $ ) - 2 ) ;
8 0 P R I N T “ I N T H E M I D D L E ”
Bec au se t h e 64 giv es a ll t h e k e y b o a r d c h a r a c t e r s n u m b e r s , it i s p o s s ib l e t o
s o r t w o r d s i n t o a l p h a b e t i c a l o r d e r a c c o r d i n g t o t h e i r A S C I I c o d e s . T h i s
p r o g r a m p r i n t s o u t a lis t o f t h e w o r d s i n t h e o r d e r in w h ic h t h e y wer e i n p u t ,
t h e n s o r t s t h e m a n d p r i n t s t h e m i n t h e i r new o r d e r . A l t h o u g h 2 0 w o r d s c a n
b e s o r t e d in a b o u t f o u r s e c o n d s , 1 0 0 t a k e a b o u t a m i n u t e a n d a h a l f , a s t h e
n u m b e r o f i n d i v i d u a l c o m p a r i s o n s g r o w s . E n t e r lin e 2 4 5 S = S + 1 , a n d
P R I N T S a t t h e e n d , i f y o u w a n t t o se e h o w m a n y c o m p a r i s o n s we re m a d e
b e tw e e n w o r d s .
A l p h a s o r t
1 0 0 R E M * * * A L P H A S O R T * * *
1 1 0 R E M
1 2 0 R E M * * * A J S 5 / 8 / 8 3 • * * *
1 3 0 R E M
1 4 0 R E M
1 5 0 I N P U T " N U M B E R O F W O R D S " ; N
1 6 0 D I M A * < N + 1 >
1 7 0 F O R X = 0 T O N ~ 1
1 8 0 I N P U T A * ( X >
1 9 0 N E X T X
5 1
Page 64
P ro gr am m in g f o r E du ca ti on on t h e C o m m o d o r e 6 4
E O R X
2 0 0
2 1 0 P R I N T A t ( X )
2 2 0 N E X T X
F O R K = 0 T O N - 1
2 3 0
2 4 0
F O R L
2 5 0
I F A #
= 0 T O
= K + l
( L ) > =
N — 1
T O N
A t < K )
2 6 0 U t = A t ( L )
2 7 0 A t < L ) = A t ( K
2 8 0
A t ( K ) = L i t
)
2 9 0 N E X T L
3 0 0 N E X T
F O R X = 0 T O N
3 1 0
K
3 2 0 P R I N I - A t ( X )
3 3 0 N E X T
R E A D Y .
C o m m e n t a r y
T h e r e a r e o n e o r t w o new id ea s in t h is p r o g r a m . A s o r t i n g r o u t i n e n e e ds t o
h o l d t h e w o r d s , n o t in o n e v a r i a b l e , b u t i n a n a r r a y . T h i s h a s t o b e D I M e n -
s io n e d so t h a t s om e s p a ce i n m e m o r y i s r e s e r v e d f o r t h e w o r d s t h a t w il l be
s t o r e d in it .
L in e 1 6 0 res er ves s p a ce a c c o r d i n g t o t h e n u m b e r o f w o r d s t o b e s o r t e d .
Lin es 1 6 0 t o 22 0 p r i n t o u t t h e w o r d s t o b e s o r t e d .
Li nes 2 3 0 t o 3 0 0 c o n t a i n t h e s o r t i n g r o u t i n e . T h e r e a r e t w o l o o p s , K a n d L,
a n d t h e A S C I I co d e s o f t h e w o r d s a r e c o m p a r e d in lin e 2 50 . I f a w o r d h a s a
h i g h e r c od e t h a n t h e o n e a f t e r i t, t h e y a r e s w o p p e d i n t h e lis t. T h e l o o p
c o m p a r e s all t h e w o r d s a g a i n s t e a c h o t h e r u n t i l t h e y a r e i n a l p h a b e t i c a l
o r d e r .
Li nes 3 1 0 t o 3 3 0 p r i n t o u t t h e new list .
S t r in g s a n d t h i n g s
As h a s be e n m e n t i o n e d p r e v i o u s ly , s t r i n g v a r i a b l e s c a n c o n t a i n a n y k e y
b o a r d c h a r a c t e r , n o t j u s t l e t t e r s . A l t h o u g h y o u c a n r e d e f i n e c h a r a c t e r s t o
b e a n y s h a p e y o u like a n d u se t h e m in y o u r p r o g r a m s , all C o m m o d o r e
c o m p u t e r s c o n t a i n g r a p h i c s c h a r a c t e r s t h a t c a n b e p r o d u c e d b y t h e k e y
b o a r d . Y o u r 6 4 c o n t a i n s t w o c h a r a c t e r se ts, b u t o n l y o n e c a n b e u s e d a t a n y
o n e t im e . W h e n it i s s w itc h e d o n , t h e 6 4 i s in u p p e r ca se m o d e . As y o u p res s
keys, u p p e r case c h a r a c t e r s a r e p r o d u c e d . P r e s s i n g t h e [S H I F T ] key a n d a
l e t t e r key gi v e s y o u t h e g r a p h i c c h a r a c t e r p r i n t e d t o t h e r i g h t o n t h e f r o n t o f
5 2
Page 65
C h a p te r 3 Wor ds, Wor ds , Wor ds
t h e key . P r e ss i n g t h e [ C = ] key a n d a l e t t e r key g iv e s y o u t h e g r a p h i c c h a r
a c te r p r i n t e d t o t h e l e f t o n t h e f r o n t o f t h e key.
I f y ou h o l d d o w n t h e [S H I F T ] a n d [ C = ] k ey s a t t h e sa m e t i m e , y o u c a n
swi tch b e tw e en u p p e r a n d lo w e r ca se m o d e s . L o w e r case m o d e i s a li t tl e like
us ing a t y p e w r i t e r : p r e s s i n g a l e t t e r key g iv e s y o u t h e l o w e r case v e r s i o n ,
a n d pr es s in g [ S H I F T ] w it h t h e l e t t e r g iv e s t h e u p p e r ca se v e r s i o n o f t h a t
le t t e r . P r e s s i n g t h e [ C = ] key a n d a l e t t e r key sti ll g iv e s y o u t h e g r a p h i c
c h a r a c t e r p r i n t e d t o t h e l e f t o n t h e f r o n t o f t h e key .
Yo u c a n swi tch t o u p p e r ca se m o d e in a p r o g r a m b y i n c l u d in g P R I N T
C H R $( 14 2) in a lin e. T o sw itc h t o lo w e r ca se m o d e , use P R I N T C H R $ ( 1 4 ).
T h e g r a p h i c s c h a r a c t e r s c a n b e u s e d t o d r a w p i c t u r e s o n t h e s c re e n , by
us ing q u o t e s t o s u r r o u n d t h e g r a p h i c s , j u s t as i f y o u wer e p r i n t i n g w o r d s .
N u m b e r s in s t r in g s
Yo u h a ve p r o b a b l y seen t h a t t h e r e a r e t w o w ays t o p r i n t 1 2 3 o n t h e s cre en .
Y o u c a n e n te r
P R I N T 1 2 3
o r
P R I N T “ 1 2 3 ”
A l t h o u g h y ou s e e t h e s a m e f ig u r e s a p p e a r i n g o n t h e s c re e n , it i s i m p o r t a n t
t o real ise t h e d i f f e r e n c e t h a t t h e 6 4 se e s. 1 2 3 i s seen as a n u m b e r , w i t h t h e
v a lu e 1 2 3 . “ 1 2 3 ” i s seen m er e ly as a s tr i n g o f c h a r a c t e r s . T o s e e t h e d i f f e r
en ce, t r y th is as a d i r e c t c o m m a n d :
P R I N T 1 2 3 + 1 2 3
Y ou s h o u l d ge t 2 4 6 as t h e a n s w e r , b e c a u s e t h e c o m p u t e r u n d e r s t a n d s t h es e
t o be n u m b e r s . I f y o u e n te r :
P R I N T “ 1 2 3 ” + “ 1 2 3 ”
y ou w i l l get 1 2 3 1 2 3 , b e c a u s e t h e 6 4 t r e a t s t h e m as s tr i n g s .
A l t h o u g h t h e y a r e c o m p l e te l y d i f f e r e n t , n u m b e r s c a n b e t u r n e d i n t o
s tr in gs a n d vic e v e rs a . T o t u r n 1 2 3 i n t o a s t r i n g , y o u c a n u se t h e STR$
f u n c t i o n , e g
A$ = STR$( 12 3)
5 3
Page 66
P ro gr am m in g f o r E d u ca ti o n on the C o m m o d o r e 6 4
T h e rever se o f t h is i s a c h ie v e d b y u s in g t h e V A L f u n c t i o n . E v e n t h o u g h
s tri ng s c a n ’ t n o r m a l l y b e c o n s i d e r e d t o b e n u m b e r s , t h e y d o h a v e a v a lu e .
P R I N T V A L ( “ 1 2 3 ” ) + 1
w i l l p r i n t 1 2 4 . I f t h e f i r s t c h a r a c t e r i n t h e s t r i n g i s n o t a - I - o r a - o r a
f ig u r e , t h e va lu e i s z e r o .
S i m o n
I n t h is p r o g r a m , t h e f a c t t h a t s tr i n g s c a n b e c o n c a t e n a t e d ( a d d e d t o g e t h e r ) ,
i s u s e d as t h e b a s is f o r a m e m o r y g a m e . A s t r i n g c o n t a i n s t h e ST R $ v e r s i o n
o f n u m b e r s c h o s e n a t r a n d o m f r o m o n e t o e i g h t , a n d t h e o b j e c t i s t o
r e m e m b e r t h e i r o r d e r . T h e l e n g t h o f t h e s t r i n g i n c r e a s e s b y o n e e a c h t im e a
c o r r e c t a n s w e r i s e n t e r e d .
T h e g a m e o f S i m o n i s u s u a l l y p l a y e d w i t h c o l o u r s a n d s o u n d s as e x t r a
m e m o r y a id s . T h e 6 4 s to r e s t h e c o d e o f t h e c o l o u r i n w h ic h t e x t i s p r i n t e d a t
l o c a t i o n 646 i n t h e m e m o r y . I f t h i s i s P O K E d w i t h n u m b e r s f r o m 0 t o 1 5 ,
t h e s ix te e n a v a i l a b l e c o l o u r s c a n b e s e le c te d .
T h e n u m b e r keys o n t h e 64 h a v e c o l o u r s p r i n t e d o n t h e m , B L K , W H T ,
etc. T h e n u m b e r s o n t h e keys a r e o n e h i g h e r t h a n t h e c o d e t o b e P O K E d t o
646, h e n c e t h e lin e t h a t s u b t r a c t s o n e f r o m t h e v a l u e o f t h e s t r i n g .
T h e s o u n d c o m m a n d s a r e a l i t t l e m o r e c o m p l i c a t e d . T h e y a r e e x p la i n e d
in m o r e d e ta i l i n t h e p r o g r a m n o t e s .
1 0 R E M * * *
S I M O N • * * *
2 0 R E M
3 0 R E M * * *
A J S 5 / 6 / 8 3 * • * *
4 0 R E M
5 0 R E M
6 0 R E M * * *
I N S T R U C T I O N S * * *
7 0 R E M
8 0 P R I N T C H R * ( 1 4 7 ) : P 0 K E 5 3 2 8 1 , 0
9 0 P R I N T
1 0 0 P R I N T " T H I S I S A G A M E O F M E M O R Y "
1 1 0 P R I N T
1 2 0 P R I N T " Y O U W I L L B E S H O W N A S E R I E S "
1 3 0 P R I N T
1 4 0 P R I N T " O F F I G U R E S . T H E S E F I G U R E S "
1 5 0 P R I N T
1 6 0 P R I N T " W I L L S O O N D I S A P P E A R A N D Y O U "
5 4
Page 67
C h a p te r 3 W o rd s, Words, W o rd s
. 1 7 0
P R I N T
1 8 0
P R I N T " M U S T T Y P E T H E M IN, I N T H E "
1 9 0
P R I N T
2 0 0
P R I N T " R I G H T O R D E R . T H E N U M B E R O F "
P R I N T
2 1 0
220
P R I N T " F I G U R E S W I L L I N C R E A S E B Y O N E "
2 3 0
P R I N T
2 4 0
P R I N T " E A C H T I M E . "
2 5 0
P R I N T
2 6 0
P R I N T " P R E S S S P A C E B A R T O G O "
2 7 0
G E T Z * : I F Z $ = " " T H E N 2 7 0
2 8 0
P R I N T C H R * ( 1 4 7 ) : P 0 K E 5 3 2 8 1 , 1 2
2 9 0
R E M
3 0 0
R E M * * * M A I N G A M E L O O P * * *
3 1 0
R E M
3 2 0
F O R Z = 1 T O 1 0
X - I N T ( R N D ( 0 ) * 8 ) + 1
3 3 0
3 4 0
X * = S T R * ( X ) : X $ = M I D * < X * , 2 , 1 )
Y 4- -- Y T + X T
3 5 0
3 6 0
6 0 S U B 4 9 0 : P O K E 1 9 8 , 0
3 7 0
3 8 0
3 9 0
4 0 0
4 1 0
4 2 0
4 3 0
4 4 0
4 5 0
4 6 0
4 7 0
4 8 0
4 9 0
5 0 0
I N P U T " E N T E R Y O U R G U E S S " ;G *
I F G $ = Y * T H E N S = S + 1
I F G * < > Y * T H E N Z = 1 1 : G O S U B 6 3 0
N E X T Z
R E M
R E M * * * S C O R E R O U T I N E * * *
R E M
P R I N T " Y O U S C O R E D " S
P R I N T " P R E S S A N Y K E Y T O G O A G A I N "
G E T Z * : I F Z # = " " T H E N 4 6 0
R U N
R E M
R E M * * * C O L O U R P R I N T S U B R O U T I N E * * *
R E M
5 1 0 P R I N T
5 2 0 F O R N = 1 T O L E N ( Y $ >
5 3 0 A $ = M I D $ ( Y $ , N , 1 ) : V = V A L < A * )
5 4 0 P O K E 6 4 6 , V - I s R E M C O L O U R V A L U E
5 5 0 P R I N T A * ; " " ;
5 6 0 G O S U B 7 0 0
5 7 0 N E X T N
5 8 0 P R I N T
5 9 0 F O R F ' A U S E = 1 T O 1 0 0 0 : N E X T P A U S E
6 0 0 P R I N T C H R * ( 1 4 7 ) : P 0 K E 6 4 6 , 1
5 5
Page 68
Pro gr am mi n g f o r E du ca ti on on th e C o m m o d o r e 6 4
6 1 0 R E T U R N
6 2 . 0 R E N
6 3 0 R E N • * * * F A U L T S U B R O U T I N E ■ * * *
6 4 0 R E N
6 5 0 P R I N T " N I S T A K E ! ! I T W A S " Y $
6 6 0 R E T U R N
7 0 0 R E N
7 1 0 R E N * * * S O U N D S U B R O U T I N E * * *
7 2 0 R E N
7 3 0 S C ■ 5 4 2 7 2
7 4 0 P O K E S C - i - 2 4 ,1 5 : R E N V O L U M E
7 5 0 P O K E S C + 4 , 3 3
7 6 0 P O K E S G + 5 , 1 0 s P O K E S C + 6 , 4
7 7 0 V = V * 2 0 0 0
7 8 0 H I G H = I N T ( V / 2 5 6 ) S L O W = V - H I G H * 2 5 6
7 9 0 P O K E S C + 1 , H I G H s P O K E S C , L O W
8 0 0 F O R P A U S E = 1 T O 4 0 0 s N E X T P A U S E
8 1 0 P O K E S C + 4 , 0
8 2 0 R E T U R N
R E A D Y -
C o m m e n t a r y
L in e 8 0 shows a n o t h e r wa y o f cl e a ri n g t h e sc re e n — P R I N T CH R $ ( 1 4 7 ).
T h e se co n d s t a t e m e n t set s t h e b a c k g r o u n d c o l o u r t o b l a c k .
Li nes 1 0 0 t o 26 0 c o n t a i n t h e i n s t r u c t i o n s .
Li ne 2 7 0 wa its u n t i l a n y k ey i s p r e s s e d . L i n e 28 0 c le a rs t h e sc re e n a n d se ts
t h e b a c k g r o u n d c o l o u r t o g rey .
Li nes 3 2 0 t o 40 0 f o r m th e l o o p w hi c h p r o v id e s 1 0 f ig u r e s .
Li ne 3 3 0 c h o o s e s a n u m b e r a t r a n d o m b e tw e e n 1 a n d 8 . L i n e 3 4 0 t u r n s t h e
n u m b e r i n t o a s t r i n g , a n d t h e s e c o n d s t a t e m e n t s tr i p s a w a y t h e f i r s t c h a r
a c t e r , a sp a ce . L in e 3 5 0 a d d s t h e new f i g u r e t o t h e e x is tin g s tr i n g .
L i n e 3 6 0 s en ds p r o g r a m c o n t r o l t o t h e p r i n t r o u t i n e a n d cle a rs t h e k e y
b o a r d b u f f e r t o p r e v e n t c h e a t in g !
L in e 3 8 0 c he cks t h e i n p u t a g a i n s t t h e s t r i n g a n d i n c r e m e n t s t h e s c o re by
o n e . Lin e 3 9 0 e n d s t h e Z l o o p i f t h e a n s w e r i s i n c o r r e c t , a n d s en ds t h e
p r o g r a m t o t h e f a u l t s u b r o u t i n e .
5 6
Page 69
C h a p te r 3 W or ds , Wor ds , W o rd s
Li ne s 440 t o 470 p r i n t t h e s c o re a n d s t a r t t h e p r o g r a m r u n n i n g a g a i n .
Line s 5 2 0 t o 5 70 p r i n t t h e s e p a r a t e f ig u r e s in t h e s tr i n g a f t e r t h e i r c o l o u r
co de s ha v e b e e n P O K E d i n t o m e m o r y l o c a t i o n 64 6 . L in e 5 5 0 p r i n t s a s p a ce
b e tw e en e a c h f ig u r e .
Lines 5 9 0 a n d 60 0 p r o v i d e a d e la y o f a b o u t t w o s e co n d s b e f o r e t h e s tr i n g
d i s a p p e a r s .
Li ne 6 50 c o n t a i n s t h e f a u l t s u b r o u t i n e .
Li ne 73 0 sets SC e q u a l t o t h e s t a r t i n g a d d r e s s o f t h e 6 5 8 1 S I D s o u n d c h ip .
T hi s m a k e s a ll t h e s u b s e q u e n t a d d r e s s i n g o f l o c a t i o n s i n t h is c h i p e a si e r t o
f o llo w .
L in e 74 0 se ts t h e v o l u m e t o m a x i m u m . L i n e 75 0 se ts t h e t o t a l q u a l i t y o f
voice 1 t o a s a w t o o t h w a v e f o r m . L i n e 760 sets t h e e n v e lo p e o f voi ce 1
( a t t a c k / d e c a y a n d s u s t a i n / r e l e a s e ) .
Li ne 77 0 se ts t h e f r e q u e n c y o f t h e n o t e b y m u l t i p l y i n g t h e v a lu e o f t h e
fi g u r e in t h e s tr i n g (V ), b y 20 00. T h e S I D c h i p i s c a p a b l e o f p r o d u c i n g n o t e s
o f a f r e q u e n c y t h a t c a n b e s t o r e d in t w o b y t e s . T h e h i g h e s t v a lu e t h a t c o u l d
be s t o r e d i s t h e r e f o r e 256 *25 6 o r 65 536 . L i n e 78 0 c a lc u la t e s w h a t s h o u l d b e
P O K E d i n t o t h i s t w o - b y t e f r e q u e n c y s t o r e t o p r o d u c e t h e r e q u i r e d n o t e .
L in e 8 0 0 c o n t r o l s th e l e n g t h o f t h e n o t e s . L i n e 8 10 set s t h e w a v e f o r m c o n
t r o l r e g i s te r t o z e r o .
D i v e r s i t y o f s u b j e c t a r ea s
T h e r e a r e m a n y a r e a s o f E n g l is h t e a c h i n g i n w h ic h t h e c o m p u t e r c a n p r o v e
a us e fu l a id . B e ca us e o f its f a s t s o r t i n g a b i l i t y a n d a c c u r a t e i n p u t c h e c k , it
c a n be u s e d t o h e lp i n s pe lli n g , a l p h a b e t i c a l o r d e r i n g , p u n c t u a t i o n a n d
g r a m m a r i n g e n e ra l.
I t see ms a l it tl e u n f a i r t o d i v id e u p t h e c h a p t e r s in t h i s b o o k i n t o t h e
t r a d i t i o n a l s u b j e c t c a te g o r i e s o f m a t h s , E n g l i s h , g e o g r a p h y , e tc , as m o s t
t e a c h e r s in p r i m a r y sc h o o ls w o u l d a g re e t h a t s u c h d i v is i o n s a r e h a r d t o
m a k e . A d a y s p e n t i n l o o k i n g a t a l o c a l s h o p p i n g c e n t r e , f o r i n s t a n c e ,
m ig h t c ov e r s u c h a r e a s as m a t h s — s urv ey s o f p e o p l e e n t e r i n g e a c h s h o p ;
g e o g r a p h y — t h e c o u n t r i e s t h a t p r o v i d e t h e g o o d s ; h i s t o r y — h o w t h e a r e a
h a s c h a n g e d o v e r t h e y e a rs ; a r t — d r a w i n g t h e s h o p s ; E n g l is h — w r i ti n g
a b o u t t h e a r e a , etc .
Su ch a t o p i c - b a s e d a p p r o a c h i s c lo s e r t o t h e c h i l d ’ s e x p e ri en c e o f t h e
w o r l d , a n d s u b j e c t d i v is i o n s w o u l d b e a r t i f i c i a l . C e r t a i n b a s ic ski lls st ill
5 7
Page 70
Pro gr am m in g f o r E du ca ti on on th e C o m m o d o r e 6 4
ne ed t o be t a u g h t , h o w e v e r , a n d t h is b o o k w o u l d l a c k a n y s t r u c t u r e i f t h e
p r o g r a m s wer e n o t d i v id e d u p in s o m e m a n n e r .
I t i s wi th t h i s in m i n d t h a t t h e p r o g r a m s in t h is c h a p t e r h a v e b e e n
i n c l u d e d . T h e y a t t e m p t t o h e lp t h e t e a c h e r o r p a r e n t in sti l b a s ic sp elling
a n d c o m p r e h e n s i o n ski lls.
H a n g m a n
Som e c h i l d r e n a r e l u c k y a n d h a v e n o d i f f i c u l t y in spe lli n g . O t h e r s a t t e m p t
a p h o n e t i c a p p r o x i m a t i o n , a n d ye t o t h e r s ne ve r seem t o g r a s p t h e i d ea .
A l t h o u g h p o o r sp ell ing o f t e n goe s h a n d - i n - h a n d w i t h p o o r r e a d i n g skills,
t h e r e a re m a n y g o o d r e a d e r s w h o r e a c h a d u l t h o o d a n d still s u f f e r f r o m
d i ff ic u l ti e s w it h t h e i r s p e lli n g . T r a d i t i o n a l m e t h o d s o f l e a r n i n g w o r d s by
h e a r t f o r a weekl y t e s t a r e n o b a d t h i n g i f t h e w o r d s a r e r e l e v a n t t o t h e
c h i l d ’ s i m m e d i a t e s i t u a t i o n , e g i f t h e y c o m e f r o m a p r o j e c t o r t o p i c t h a t i s
be in g s t u d i e d . I f t h e ch ild uses t h e w o r d s in t h e i r p r o p e r c o n t e x t , t h e s p e ll
ing i s r e i n f o r c e d .
T h e r e a r e t w o a p p r o a c h e s h e r e — o n e i s t o s h o w t h e c o n t e x t o f t h e w o r d
a n d t o o f f e r a m u l t i p l e c h o ic e o f p o s s ib l e spe lli ng s. T h e o t h e r a p p r o a c h i s
t o b u i l d u p t h e w o r d s low ly, w i t h sp a ce s f o r m is s in g l e t t e r s . T h e g a m e o f
h a n g m a n i s a n i d ea l v ehicle f o r t h is a p p r o a c h . T h e p r o g r a m t h a t fo llo ws
b u i ld s u p a p i c t u r e o f l e p e n d u , as in t h e t r a d i t i o n a l g a m e , a n d 1 0 gues se s
a r e a ll ow e d b e f o r e t h e v ic t im i s f i n a l ly t h r o t t l e d .
W o r d s t o b e selec ted a r e h e ld in D A T A lin es , so t h e r e i s n o p r o b l e m in
c h a n g in g t h e s e t o w o r d s r e l e v a n t t o a t o p i c , o r t o t h o s e d i s p l a y in g a p a r t i
c u l a r spell ing p o i n t , su c h as ‘ i e ’ a n d ‘ e i ’ w o r d s . Y o u c o u l d even use t h e
p r o g r a m t o h e lp l e a r n f o r e i g n w o r d s . T h e o n l y r e q u i r e m e n t i s t h a t t h e t o t a l
n u m b e r o f w o r d s s h o u l d n o t c h a n g e , as t h e R E A D s t a t e m e n t n ee d s 2 0
w o r d s . I f y o u w a n t a l a r g e r s e le c ti o n , t h e n t h e n u m b e r m a y be a l t e r e d a s
d e ta i le d i n t h e p r o g r a m n o t e s .
1 0 0 0 R E M * * * H A N G M A N * * *
1 0 1 0 R E M
1 0 2 0 R E M * * * A J S 2 / 8 / 8 3 * * *
1 0 3 0 R E M
1 0 4 0 P 0 K E 5 3 2 8 1 , 1 s P 0 K E 6 4 6 , 0
1 0 5 0 G O S U B 6 0 0 0 : R E M * * * I N I T I A L I S A T I O N * * *
1 0 6 0 G O B U B 7 0 0 0 : R E M * * * I N S T R U C T I O N S * * *
1 0 7 0 G O S U B 2 0 0 0 : R E M * * * G A M E * * *
1 0 8 0 G O T O 1 0 7 0
2 0 0 0 R E M * * * G A M E S U B R O U T I N E * * *
2 0 0 5 R E M
5 8
Page 71
C h a p te r 3 W or ds , Wor ds , W or ds
2 0 1 0 R E S T O R E
2 0 2 0 F O R N = 1 T O I N T ( R N D < 0 ) * 2 0 ) + 1
2 0 3 0 R E A D W $
2 0 4 0 N E X T
2 0 6 0 P R I N T " "
2 0 7 0 X ~ 5 : Y = 1 5 : 6 O S U B 4 0 0 0
2 0 8 0 F O R N = l T O L E N < W $ )
2 0 9 0 P R I N T " - " ;
2 1 0 0 N E X T N
2 1 2 0 S C = 0 : Z = 0
2 1 3 0 X = 5 : Y = 2 0 s G O S U B 4 0 0 0
2 1 4 0 G $ = " " : P R I N T " Y O U R G U E S S " ;
2 1 4 5 P O K E 1 9 8 , 0
2 1 5 0 I N P U T G * : F L A G = 1
2 1 5 5 I F G $ = W $ T H E N G O S U B 3 0 0 0 : R E T U R N
2 1 6 0 L N = L E N < W $ )
2 1 7 0 I F L E N ( G $ )< > L N A N D L E N < 6 * > > 1 T H E N X = 1 5 s Y = 2 0 s
G O S U B 4 0 0 0
2 1 8 0 I F L E N ( G $ ) O L N A N D L E N < G $ ) > 1 T H E N P R I N T "
2 1 9 0 I F L E N < G # ) < > L N A N D L J E N < G $ > > 1 T H E N G O T O 2 1 3 0
2 2 0 0 I F L E N < G * ) = 1 T H E N X = Z : Y = 2 3 : G O S U B 4 0 0 0
2 2 1 0 I F L . E N < G * ) = 1 T H E N P R I N T G *
2 2 2 0 Z = Z - M .
2 2 3 0 F O R N = 1 T O L N
2 2 4 0 I F G $ = M I D * ( W $ , N , 1 ) T H E N G O S U B 2 5 0 0
2 2 4 5 I F 6 f = M I D t - ( W # , N , 1 ) T H E N F L A G = 0
2 2 5 0 N E X T N
2 2 6 0 I F F L A G < > 0 T H E N S C = S C , + 1 : G O S U B 2 6 0 0
2 2 7 0 X = 2 4 : Y = 0 s G O S U B 4 0 0 0
2 2 8 0 I F S O 0 T H E N P R I N T " L I V E S L E F T - > " 1 0 - S C
2 2 9 0 I F S C C 1 0 T H E N G O T O 2 1 3 0
2 3 0 0 Y ~ 2 4 s G O S U B 4 0 0 0
2 3 0 5 R E M • * * * W O R D N O T G U E S S E D * * *
2 3 1 0 F O R N = 1 T O 1 0 s P R I N T " H E L P ! ! ! ! " s P R I N T : N E X T
2 3 2 0 P R I N T " T H E W O R D W A S " W *
2 3 3 0 P R I N T
2 3 3 5 P O K E 1 9 8 , 0
2 3 4 0 P R I N T " P R E S S T H E S P A C E B A R T O G O "
2 3 5 0 G E T Z $ : I F Z t = " " T H E N 2 3 5 0
2 3 6 0 R E T U R N
2 3 7 0 R E M
2 5 0 0 R E M * * * P R I N T I N G C O R R E C T L E T T E R S * * *
2 5 0 5 R E M
2 5 1 0 X = 4 + N : Y = 1 5 s G O S U B 4 0 0 0
2 5 2 0 P R I N T G $
2 5 9 0 R E T U R N
2 5 9 5 R E M
2 6 0 0 R E M * * * H A N G I N G S U B R O U T I N E * * *
i t
5 9
Page 72
Pro gr am mi n g f o r E du ca ti o n on th e C o m m o d o r e 6 4
6 0 5 . R E M
£ > 1 0 P 0 K E 6 4 6 , ( S C ) A N D S C > 2 : R E M C O L O U R P R I N T
£ > 2 0 X = 3 8 : R E M * * * U P R I G H T * * *
6 3 0 I F S C = 1 T H E N F O R Y - 1 9 T 0 3 S T E P - 1 s G O S U B 4 0 0 0 :
P R I N T C H R * ( 1 6 6 ) -.NEXT
6 4 0 Y = 2 : R E J M * * * C R O S S P I E C E * * *
6 5 0 I F S C = 2 T H E N F 0 R X = 2 9 T 0 3 8 : G O S U B 4 0 0 0 - . P R I N T C H R S
( 1 6 6 ) -.NEXT
6 6 0 X « 2 9 : R E M * * * R O P E * * *
6 7 0 I F S C = 3 T H E N F 0 R Y = 3 T 0 5 : G O S U B 4 0 0 0 : P R I N T C H R *
( 1 8 0 ) -.NE XT
7 2 0 X = 2 7 : Y = 5 - . G O S U B 4 0 0 0 - . R E M F A C E *
7 3 0 I F S C = 4 T H E N P R I N T C H R * ( 1 0 0 ) C H R * ( 1 0 1 ) ;
7 4 0 I F S C = 4 T H E N P R I N T C H R * ( 1 0 2 ) C H R * ( 1 0 3 )
7 4 5 X = 2 7 s Y = 6 s G O S U B 4 0 0 0
7 5 0 I F S C = 4 T H E N P R I N T C H R $ ( 1 0 4 ) C H R $ ( 1 0 4 ) ;
7 6 0 I F S C = 4 T H E N P R I N T C H R S ( 1 0 6 ) C H R S ( 1 0 7 )
7 6 5 X = 2 7 s Y = 7 : G O S L I B 4 0 0 0
7 7 0 I F S C = 4 T H E N P R I N T C H R - f c ( 1 0 8 ) C H R $ ( 1 0 9 ) ;
7 8 0 I F S C = 4 T H E N P R I N T C H R * ( 1 1 0 ) C H R $ ( 1 1 1 )
7 8 5 X = 2 7 : Y = 8 s G O S U B 4 0 0 0
7 9 0 I F S C = 4 T H E N P R I N T C H R * ( 1 1 2 ) C H R * ( 1 1 3 ) ;
r o r o r o r o r o r o r o r o r o r o r o r o r o r o r o w r o r o w
1 0
8 0 0 I F S C = 4 T H E N P R I N T C H R $ ( 1 1 4 ) C H R $ ( 1 1 5 )
1 0
8 1 5 X = 2 8 : R E M * * * B O D Y * * *
8 2 0 I F S C = 5 T H E N F 0 R Y = 9 T 0 1 3 s G O S U B 4 0 0 0 s P R I N T C H R *
( 1 6 6 ) C H R $ ( 1 6 6 ) s N E X T
8 2 5 X = s 2 8 s R E M * * * L . A R M * * *
8 3 0 I F S C = 6 T H E N F 0 R Y = 9 T 0 1 3 : X = X - 1 : G O S U B 4 0 0 0 :
P R I N T C H R * ( 1 6 9 > s N E X T
8 3 5 X = 2 9 s R E M * * * R . A R M * * *
8 4 0 I F S C = 7 T H E N F 0 R Y = 9 T 0 1 3 : X = X + 1 : G O S U B 4 0 0 0 - .
P R I N T C H R $ ( 1 2 7 ) -. NEXT
8 4 5 X = 2 9 : R E M * * * L . L E G * * *
8 5 0 I F S C = 8 T H E N F 0 R Y = 1 4 T 0 1 8 : X = X - 1 :G O S U B 4 0 0 0 :
P R I N T C H R $ ( 1 6 9 ) : N E X T
8 5 5 X = 2 8 s R E M * * * R .L E G * * *
8 6 0 I F S C = 9 T H E N F 0 R Y = 1 4 T 0 1 8 : X = X + 1 - . G O S U B 4 0 0 0 :
r o r o t o r o r o r o r o r o r o
P R I N T C H R $ ( 1 2 7 ) i N E X T
2 9 8 0 P 0 K E 6 4 6 , 1 1
2 9 9 0 R E T U R N
3 0 0 0 R E M
3 0 1 0 R E M * * * S U C C E S S R O U T I N E * * *
3 0 2 0 R E M
3 0 3 0 X = 5 : Y = 1 5 s G O S U B 4 0 0 0
3 0 4 0 P R I N T W *
3 0 5 0 F O R P A U S E = 1 T O 2 0 0 0 ; N E X T P A U S E
3 0 6 0 X = 0 : Y = 1 1 s G O S U B 4 0 0 0
3 0 7 0 P R I N T " T H A N K S F O R S A V I N G M E ! "
6 0
Page 73
C h a p t e r 3 .Wor ds , Words, W o r d s
3 0 8 0 P R I N T
3 0 9 0 P R I N T " Y O U G U E S S E D " W $
3 1 0 0 P R I N T
3 1 0 5 P O K E 1 9 8 , 0
3 1 1 0 P R I N T " P R E S S S P A C E B A R T O G O "
3 1 2 0 G E T Z $ : I F Z $ = " " T H E N 3 1 2 0
3 1 3 0 R E T U R N
4 0 0 0 R E M
4 0 1 0 R E M * * * ' P R I N T A T ' R O U T I N E * * *
4 0 2 0 R E M
4 0 3 0 P 0 K E 7 8 2 , X s P 0 K E 7 8 1 , Y s S Y S 6 5 5 2 0 s R E T U R N
6 0 0 0 R E M
6 0 1 0 R E M * * * M O V E C H A R A C T E R S E T * * *
6 0 2 0 R E M
6 0 3 0 P R I N T C H R $ ( 1 4 2 )
6 0 4 0 P O K E 5 2 , 4 8 : P 0 K E 5 6 , 4 8
6 0 5 0 P 0 K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) A N D 2 5 4
6 0 6 0 P O K E 1 , P E E K ( 1 ) A N D 2 5 1
6 0 7 0 F O R N = 0 T O 1 0 2 3
6 0 8 0 P O K E 1 2 2 8 8 + N , P E E K ( 5 3 2 4 8 + N )
6 0 9 0 N E X T N
6 1 0 0 P O K E 1 , P E E K ( 1 ) 0 R 4
6 1 1 0 P 0 K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) O R 1
6 1 2 0 P 0 K E 5 3 2 7 2 , ( P E E K ( 5 3 2 7 2 ) A N D 2 4 0 ) + 1 2
6 1 3 0 R E M
6 1 4 0 F O R N = 1 T O 2 0 : R E A D Z $ : N E X T
6 1 5 0 F O R N = 0 T O 1 2 7
6 1 6 0 R E A D Z
6 1 7 0 P O K E 1 2 2 8 8 + 6 8 * 8 + N , Z
6 1 8 0 N E X T N
6 1 9 0 R E T U R N
7 0 0 0 R E M
7 0 1 0 R E M * * * I N S T R U C T I O N S * * *
7 0 2 0 R E M
7 0 3 0 P R I N T " "
7 0 5 0 P R I N T "
7 0 6 0 P R I N T
7 0 7 0 P R I N T "
7 0 8 0 P R I N T
7 0 9 0 P R I N T "
7 1 0 0 P R I N T
7 1 1 0 P R I N T "
7 1 2 0 P R I N T
7 1 3 0 P R I N T "
7 1 4 0 P R I N T
7 1 5 0 P R I N T "
7 1 6 0 P R I N T
7 1 7 0 P R I N T " W R O N G , P A R T O F T H E M A N A P P E A R S "
7 1 8 0 P R I N T
I N T H I S G A M E , Y O U W I L L B E "
G I V E N A R O W O F D A S H E S "
E A C H D A S H S T A N D S F O R A L E T T E R "
Y O U H A V E T O G U E S S T H E L E T T E R S "
I F Y O U A R E R I G H T T H E L E T T E R "
W I L L A P P E A R . I F Y O U A R E "
6 1
Page 74
Pro gr am mi n g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
7 1 9 0
7 2 0 0
7 2 1 0
7 2 2 0
7 2 3 0
7 2 4 0
7 2 5 0
7 2 6 0
7 2 7 0
7 2 8 0
7 2 9 0
9 0 0 0
9 0 1 0
9 0 2 0
9 0 3 0
9 0 4 0
9 0 5 0
9 0 6 0
9 0 7 0
9 0 8 0
9 0 9 0
9 1 0 0
9 1 1 0
9 1 2 0
9 1 3 0
9 1 4 0
9 1 5 0
9 1 6 0
9 1 7 0
9 1 8 0
9 1 9 0
9 2 0 0
9 2 1 0
9 2 2 0
9 2 3 0
9 2 4 0
9 2 5 0
9 2 6 0
P R I N T " A N D Y O U L O S E A L I F E . I F Y O U "
P R I N T
P R I N T " T H I N K Y O U K N O W T H E W O R D Y O U "
P R I N T
P R I N T " M U S T S P E L L I T C O R R E C T L Y T O "
P R I N T
P R I N T " S A V E T H E P O O R M A N ! ! "
P R I N T
P R I N T " P R E S S T H E S P A C E B A R T O G O "
G E T Z $ : I F Z $ = " " T H E N 7 2 8 0
R E T U R N
R E M * * * D A T A F O R W O R D S * * *
R E M
D A T A M O N D A Y , T U E S D A Y , W E D N E S D A Y
D A T A T H U R S D A Y , F R I D A Y , S A T U R D A Y
D A T A S U N D A Y , J A N U A R Y , F E B R U A R Y
D A T A M A R C H , A P R I L , M A Y , J U N E , J U L Y
D A T A A U G U S T , S E P T E M B E R , O C T O B E R
D A T A N O V E M B E R , D E C E M B E R , Y E A R
R E M
R E M * * * D A T A F O R F A C E * * *
R E M
D A T A 0 , 0 , 0 , 0 , 3 , 3 , 1 5 , 1 5
D A T A 1 5 , 1 5 , 6 3 , 6 3 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5
D A T A 2 4 0 , 2 4 0 , 2 5 2 , 2 5 2 , 2 5 5 , 2 5 5 , 2 5 5 , 2 5 5
D A T A 0 , 0 , 0 , 0 , 1 9 2 , 1 9 2 , 2 4 0 , 2 4 0
D A T A 6 3 , 6 3 , 6 3 , 6 3 , 6 0 , 6 0 , 6 3 , 6 3
D A T A 2 5 5 , 2 5 5 , 6 3 , 6 3 , 1 5 , 1 5 , 6 0 , 6 0
D A T A 2 5 5 , 2 5 5 , 2 5 2 , 2 5 2 , 2 4 0 , 2 4 0 , 6 0 , 6 0
D A T A 2 5 2 , 2 5 2 , 2 5 2 , 2 5 2 , 6 0 , 6 0 , 2 5 2 , 2 5 2
D A T A 6 3 , 6 3 , 6 3 , 6 3 , 6 0 , 6 0 , 1 5 , 1 5
D A T A 2 5 2 , 2 5 2 , 2 4 0 , 2 4 0 , 4 8 , 4 8 , 6 3 , 6 3
D A T A 6 3 , 6 3 , 1 5 , 1 5 , 1 2 , 1 2 , 2 5 2 , 2 5 2
D A T A 2 5 2 , 2 5 2 , 2 5 2 , 2 5 2 , 6 0 , 6 0 , 2 4 0 , 2 4 0
D A T A 3 , 3 , 0 , 0 , 0 , 0 , 0 , 0
D A T A 2 0 7 , 2 0 7 , 2 4 0 , 2 4 0 , 6 3 , 6 3 , 1 5 , 1 5
D A T A 2 4 3 , 2 4 3 , 1 5 , 1 5 , 2 5 2 , 2 5 2 , 2 4 0 , 2 4 0
D A T A 1 9 2 , 1 9 2 , 0 , 0 , 0 , 0 , 0 , 0
R E A D Y .
C o m m e n t a r y
As t hi s i s a f a i r ly c o m p l i c a t e d p r o g r a m , w e h a v e i n s e r t e d a l o t o f R E M s t o
i n f o r m y ou o f w h a t i s h a p p e n i n g .
Lin es 1 0 4 0 - 1 0 7 0 c o n s t i t u t e t h e c o n t r o l m o d u l e . L i n e 20 00 be g in s t h e g a m e
s u b r o u t i n e .
6 2
Page 75
C h a p te r 3 Wor ds , Wor ds , W or ds
Lines 2 0 2 0 - 2 0 4 0 c h o o s e a w o r d , W $ , a t r a n d o m f r o m d a t a . L in e 20 7 0 set s
t h e ‘ p r i n t a t ’ c o o r d i n a t e s . Lin es 2 0 8 0 - 2 1 0 0 p r i n t d a s h e s a c c o r d i n g t o t h e
n u m b e r o f l e t te r s in t h e w o r d . L i n e 2 1 4 5 e m p t ie s t h e k e y b o a r d b u f f e r .
Li ne 21 5 0 a c c e p t s t h e gu e s s, G $ , a n d se ts t h e v a r i a b l e F L A G t o a o n e . T h i s
i s o n l y c h a n g e d t o a z e ro i f a c o r r e c t l e t t e r i s i n p u t , a n d i s u s e d in line 2 2 60 t o
ch eck i f p a r t o f t h e g a llo w s s h o u l d be d r a w n .
Li ne 2 1 5 5 ch e ck s t o s e e i f t h e w h o l e w o r d h a s b e e n e n t e r e d . I f it h a s , t h e
p r o g r a m j u m p s t o t h e w i n n i n g r o u t i n e .
Li ne 2 16 0 se ts v a r i a b l e LN t o t h e l e n g t h o f t h e c h o s e n w o r d , W$.
Lines 2 1 7 0 - 2 2 1 0 c h e ck t h e l e n g t h o f t h e g ue sse d w o r d a g a i n s t t h e c h o s e n
w o r d . I f m o r e t h a n o n e l e t t e r i s i n p u t , it i s i g n o r e d , u n le s s it h a s t h e s a m e
n u m b e r o f l e t te r s as W$ .
L in e 2 22 0 c o n t a i n s t h e c o u n t e r f o r t h e n u m b e r o f i n c o r r e c t g ue sses, Z .
Li nes 2 2 3 0 - 2 2 5 0 c h e ck e a c h l e t t e r o f W$ t o s e e i f it c o n t a i n s t h e g ue sse d
l e t t e r , G$ . I f a n y l e t t e r i s t h e s a m e , s u b r o u t i n e 2 5 00 p r i n t s it i n t h e c o r r e c t
p la c e . T h e fl a g i s a ls o c h a n g e d t o p r e v e n t p a r t o f t h e g all ow s b e in g b u i l t .
Li ne 2 27 0 a n d 22 80 p r i n t t h e n u m b e r o f li v e s r e m a i n i n g a t t h e t o p o f t h e
scre en .
Lin e 2 29 0 s e nd s th e p r o g r a m b a c k t o t h e s t a r t o f t h e guess l o o p i f le s s t h a n
1 0 i n c o r r e c t guess es h a v e b e e n m a d e . O n l o o p 1 0 , t h e p r o g r a m c o n t i n u e s .
Lin e 25 0 0 i s a s h o r t r o u t i n e t o p r i n t a l e t t e r i n t h e c o r r e c t p l a c e . I t use s t h e
l o o p c o u n t e r N , t o te ll it w h e r e t o p u t t h e l e t t e r .
Li nes 2 6 0 0 - 2 9 9 0 c o n t a i n t h e r a t h e r l a r g e d r a w i n g r o u t i n e t o c o n s t r u c t t h e
gall ows a n d t h e m a n .
Li ne 2 61 0 uses t h e n u m b e r o f i n c o r r e c t gue sse s, SC , t o c o n t r o l t h e p r i n t i n g
c o l o u r .
Li nes 2 62 0 a n d 2 63 0 use a l o o p t o d r a w t h e u p r i g h t p o s t . C H R $ ( 1 6 6 ) i s a
g r a p h i c s c h a r a c t e r lik e a ti n y c h e s s b o a r d .
Lin es 26 4 0 a n d 2 65 0 use a n o t h e r l o o p t o d r a w t h e c ro s s p ie c e . G O S U B
4000 , t o t h e ‘ p r i n t a t ’ r o u t i n e , e n s u re s t h a t t h e n e xt p r i n t p o s i t i o n i s c o n
t r o l l e d by t h e X v a lu e in t h e l o o p c o u n t e r .
6 3
Page 76
Pro gr am m in g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
Lin es 2 7 3 0 - 2 8 0 0 d r a w t h e h e a d . T h i s i s m a d e u p f r o m d e f i n e d c h a r a c t e r s
h e ld in D A T A s t a t e m e n t s . T h e ‘ p r i n t a t ’ r o u t i n e i s a g a i n u s e d t o c o n t r o l t h e
p o s i t i o n o f t h e h e a d .
Line s 2 8 1 5 - 2 8 6 0 use t h e s a m e p r i n c i p l e t o d r a w t h e r e s t o f t h e b o d y
a c c o r d in g t o t h e v a lu e o f t h e v a r i a b l e SC.
Li ne 29 8 0 P O K E s t h e p r i n t i n g c o l o u r b a c k t o g rey . T h e succ ess r o u t i n e a ls o
use s t h e ‘ p r i n t a t ’ r o u t i n e t o p r i n t t h e c o r r e c t w o r d a n d a t h a n k - y o u
mes sa ge .
Li ne 4 03 0 c o n t a i n s t h e s h o r t ‘ p r i n t a t ’ r o u t i n e w h e r e t h e new X a n d Y
c o o r d i n a t e s a r e P O K E d i n t o m e m o r y . W i t h o u t t h is r o u t i n e , t h e e f f e c ts in a
p r o g r a m like t h i s w o u l d h a v e b e e n m u c h m o r e d i f f i c u l t t o a ch iev e.
L in e 6 0 0 0 s t a r t s th e c h a r a c t e r - m o v i n g r o u t i n e . C h a r a c t e r s c a n n o t b e r e d e
f in e d o n t h e 6 4 u nl es s t h e c h a r a c t e r R O M i s c o p ie d i n t o R A M .
T h i s i s e xa ct ly t h e s a m e s t r u c t u r e as t h a t in t h e p r o g r a m Big L, so r e f e r t o
t h o s e n o t e s f o r m o r e d e t a i l .
Li nes 6 1 4 0 - 6 1 8 0 r e d e f i n e t h e 1 6 c h a r a c t e r s f r o m n u m b e r 6 8 o n w a r d s .
N o t e t h a t t h is n u m b e r i s n o t t h e s a m e as t h e A S C I I c o d e a n d , w h e n t h e
c h a r a c t e r s a r e p r i n t e d , 3 2 m u s t b e a d d e d t o t h e n u m b e r o f t h e c h a r a c t e r
b e f o r e it c a n b e u s e d a f t e r a C H R $ .
Lin es 7 0 0 0 - 7 2 9 0 c o n t a i n t h e i n s t r u c t i o n s .
Lines 9 00 0 o n w a r d s c o n t a i n all t h e d a t a f o r t h e p r o g r a m . I t i s d iv id e d i n t o
t w o s e ct i o n s, t h e f i r s t c o n t a i n i n g t h e w o r d s t o be u s e d , a n d t h e s e c o n d t h e
d a t a f o r t h e r e d e f i n e d g r a p h i c s u s e d t o d r a w t h e fa c e .
A n a g r a m
I t i s h o p e d t h a t th e p r o g r a m s t h a t a r e i n c l u d e d i n t h is b o o k r e f l e c t t o so m e
de gr e e t h e b e l i e f t h a t c h i l d r e n d o n o t c o m e t o s c h o o l s im p ly t o a c q u i r e
k n ow le d ge t h a t m a y o r m a y n o t b e u s e f u l in t h e f u t u r e . C h i l d r e n n e e d t o
l e a r n m a n y ski lls a t p r i m a r y a ge , a n d , a p a r t f r o m t h e m o s t i m p o r t a n t
(social skills), t h i n k i n g ski lls a n d t h e a b i l i t y t o re s e a r c h a n d s t o r e i n f o r m a
t i o n m u s t r a n k h i g h in t h e l ist .
A l t h o u g h sp e lli n g i s i m p o r t a n t i n its o w n r i g h t , t h e c h il d w h o h a s d i f f i
c u lt y w it h sp ell ing w i l l b e a t a d i s a d v a n t a g e w h e n i t co m e s t o f in d i n g
i n f o r m a t i o n f r o m r e f e r e n c e b o o k s . T h e r e i s l it tl e p o i n t in giving a c h il d a n
6 4
Page 77
C h a p te r 3 Wor ds, W ords, Wor ds
e n c y c l o p e d ia a n d say in g ‘ F i n d o u t all y o u c a n a b o u t b e e r p r o d u c t i o n in
B e l g iu m ’ i f t h e c h ild c a n n o t spell Bel giu m a n d d o e s n o t k n o w h o w t o f i n d
t h e i n f o r m a t i o n in th e f i r s t p l a c e . I n f o r m a t i o n f r o m a b o o k m a y n o t b e a s
g o o d as f i r s t h a n d e xp e rie nc e (esp ec ial ly in t h e e x a m p l e in q u e s t i o n ! ) , b u t it
i s b e t t e r t h a n n o e xp e rie nc e a t a ll.
T h e fo ll o w i n g p r o g r a m c a n b e u s e d as a sp ell ing a i d , o r in a n y o t h e r
s u b je c t a r e a t o f a m i li a r i s e c h i l d r e n w it h new w o r d s . A n a g r a m allo ws t h e
p a r e n t o r t e a c h e r t o l o a d d a t a lines w i t h a f r e s h v o c a b u l a r y . T h e ch il d i s
p r e s e n t e d w it h a s c r a m b l e d v e r s i o n o f t h e w o r d o n t h e sc re e n a n d h a s t o
i n p u t t h e w o r d , s p e lt c o r r e c t l y . P o i n t s a r e g a in e d f o r g e tt in g t h e w o r d
r i g h t . T h e f in a l s c or e i s s h o w n a f t e r 1 0 w o r d s h a v e b e e n d i s p l a y e d .
1 0 0 R E M
1 0 1 0 R E M * * * A N A G R A M G A M E * * *
1 0 2 0 R E M
1 0 3 0 R E M * * * A J S 4 / 1 0 / 8 3 * * *
1 0 4 0 R E M
1 0 5 0 G O S U B 1 5 0 0 s R E M I N S T R
1 0 6 0 F O R T R Y = 1 T O 1 0
1 0 7 0 G O S U B 2 0 0 0 s R E M G E T W O R D
1 0 8 0 G O S U B 3 0 0 0 s R E M M I X W O R D
1 0 9 0 G O S U B 4 0 0 0 s R E M G A M E
1 1 0 0 N E X T T R Y
1 1 1 0 G O S U B 5 0 0 0 s R E M S C O R E
1 1 2 0 S T O P
1 4 9 9 R E M
1 5 0 0 R E M * * * I N S T R U C T I O N S * * *
1 5 1 0 R E M
1 5 2 0
1 5 3 0
1 5 4 0
1 5 5 0
1 5 6 0
1 5 7 0
1 5 8 0
1 5 9 0
1 6 0 0
1 6 1 0
1 6 2 0
1 6 3 0
1 6 4 0
1 6 5 0
1 6 6 0
1 6 7 0
1 6 8 0
1 6 9 0
1 7 0 0
P 0 K E 5 3 2 8 1 , 1 s P O K E 6 4 6 , 0
P R I N T C H R $ < 1 4 7 >
P R I N T
P R I N T " Y O U W I L L B E S H O W N A N U M B E R "
P R I N T
P R I N T " O F J U M B L E D U P W O R D S "
P R I N T
P R I N T " Y O U C A N A S K F O R T H E M T O B E "
P R I N T
P R I N T " M I X E D U P A G A I N O R Y O U C A N "
P R I N T
P R I N T " G U E S S W H A T Y O U T H I N K T H E "
P R I N T
P R I N T " W O R D R E A L L Y I S "
P R I N T
P R I N T " A F T E R T E N W O R D S Y O U W I L L "
P R I N T
P R I N T " B E S H O W N Y O U R S C O R E "
P R I N T
6 5
Page 78
P ro gr am m in g f o r E d u ca ti on on the C o m m o d o r e 6 4
1 7 1 0
1 7 2 0
1 7 3 0
1 9 9 0
2 0 0 0
2 0 1 0
2 0 2 0
2 0 3 0
2 0 4 0
2 0 5 0
2 0 6 0
2 9 9 0
3 0 0 0
3 0 0 5
3 0 1 0
3 0 2 0
3 0 3 0
3 0 4 0
3 0 5 0
3 0 6 0
3 0 7 0
3 0 8 0
3 0 9 0
3 9 9 0
4 0 0 0
4 0 1 0
4 0 2 0
4 0 3 0
4 0 4 0
4 0 5 0
4 0 6 0
4 0 7 0
4 0 8 0
4 0 9 0
4 1 0 0
4 1 1 0
4 1 2 0
4 1 3 0
4 1 4 0
4 1 5 0
4 1 5 5
4 1 6 0
4 1 7 0
4 1 9 0
4 2 0 0
4 5 0 0
4 5 1 0
4 5 2 0
P R I N T ” P R E S S T H E S P A C E B A R T D S O "
G E T Z * : I F Z * = " " T H E N 1 7 2 0
R E T U R N
R E M
R E M * * * G E T W O R D * * *
R E M
R E S T O R E
F O R N = 1 T O I N T ( R N D < 0 ) * 2 1 ) + 1
R E A D W D *
N E X T
R E T U R N
R E M
R E M * * * M I X W O R D * * *
R E M
D U M M Y * = W D *
N W * = " ”
F O R N = 1 T O L E N ( D U M M Y * )
I F w R N D ( 0 ) > = . 5 T H E N N W * = N W * + M I D * ( D U M M Y * , N , 1 )
G O T O 3 0 6 0
N W * = M I D * < D U M M Y * , N , 1 ) + N W *
N E X T N
D U M M Y * = N W *
I F N W * = W D * T H E N 3 0 2 0
R E T U R N
R E M
R E M * * * D I S P L A Y * * *
R E M
P R I N T C H R * ( 1 4 7 )
P R I N T
P R I N T " Y O U R J U M B L E D L E T T E R S A R E : - "
P R I N T
P R I N T N W *
X 1 = P E E K ( 7 8 2 ) : Y 1 = P E E K ( 7 8 1 )
X = 5 : Y = 2 2 : G O S U B 6 0 0 0
P O K E 1 9 8 , 0
P R I N T " M . T O M I X , G T O G U E S S ? "
G E T Z *
I F Z * < > " M " A N D Z * < > " G " T H E N 4 1 1 0
X = X 1 : Y = Y 1 : G O S U B 6 0 0 0
I F Z * = " M " T H E N G O S U B 3 0 0 0
I F Z * = " M " T H E N G O T O 4 0 2 0
X = 5 : Y = 2 2 s G O S U B 6 0 0 0
I N P U T " E N T E R Y O U R G U E S S
I F G * = W D * T H E N G O S U B 4 5 0 0
I F G * O W D * T H E N G O S U B 4 6 0 0
R E T U R N
R E M
R E M * * * S U C C E S S R O U T I N E * * *
R E M
- - -
> " 5 G *
6 6
Page 79
C h a p t e r s W or ds, Wor ds , W or ds
4 5 3 0 P R I N T “ Y E S ” : S C = S C + 1
4 5 4 0 P 0 K . E 5 3 2 8 1 , 5
4 5 5 0 F O R P A U S E = 1 T O 2 0 0 0 s N E X T P A U S E
4 5 6 0 P 0 K E 5 3 2 8 1 , 1
4 5 7 0 R E T U R N
4 6 0 0 R E M
4 6 1 0 R E M * * * M I S T A K E R O U T I N E * * *
4 6 2 0 R E M
4 6 3 0 P R I N T 1 1 N O , “ W D *
4 6 4 0 P 0 K E 5 3 2 8 1 , 2
4 6 5 0 F O R P A U S E * 1 T O 2 0 0 0 a N E X T P A U S E
4 6 6 0 P 0 K E 5 3 2 8 1 , 1
4 6 7 0 R E T U R N
5 0 0 0 R E M
5 0 1 0 R E M * * * S C O R E R O U T I N E * * *
5 0 2 0 R E M
5 0 3 0 P R I N T C H R $ ( 1 4 7 )
5 0 4 0 P R I N T
5 0 5 0 P R I N T “ Y O U R S C O R E W A S “ S C “ W O R D S R I G H T ”
5 0 6 0 I F S C = 1 0 T H E N P R I N T “ W E L L D O N E "
5 0 7 0 I F S C >6 A N D S C < 1 0 T H E N P R I N T “ F A I R ”
5 0 8 0 I F S C < 7 T H E N P R I N T “ L E A R N T H E M ! ! "
5 0 9 0
5 9 9 0
6 0 0 0
6 0 1 0
6 0 2 0
8 9 9 0
9 0 0 0
9 0 1 0
9 0 2 0
9 0 3 0
9 0 4 0
9 0 5 0
9 0 6 0
9 0 7 0
9 0 8 0
9 0 9 0
9 1 0 0
9 1 1 0
9 1 2 0
R E T U R N
R E M
R E M * * * ' P R I N T A T ' R O U T I N E * * *
R E M
P O K E 7 8 2 , X s P O K E 7 8 1 , Y s S Y S 6 5 5 2 0 s R E T U R N
R E M
R E M * * * D A T A S T A T E M E N T S * * *
R E M
R E M * * * E N T E R Y O U R O W N W O R D S * * *
R E M
R E M * * * B U T M A K E S U R E T H E R E * * *
R E M
R E M * * * A R E T W E N T Y * * *
R E M
D A T A A A R D V A R K , B A B O O N , C A M E L * D O N K E Y
D A T A E L E P H A N T , F L A M I N G O , G O O S E , H O R S E
D A T A I B E X , J A C K A L , K A N G A R O O , L E M U R
D A T A M O N K E Y , N E W T „ O S T R I C H , Q U A I L
D A T A R A B B I T , S T O R K , T I G E R , Z E B R A
R E A D Y .
C o m m e n t a r y
Lin es 1 0 5 0 - 1 1 2 0 f o r m t h e c o n t r o l m o d u l e . Li n e s 1 0 6 0 - 1 1 0 0 c o n t a i n t h e
m a i n l o o p w h i c h select s t e n w o r d s t o gue ss.
6 7
Page 80
P ro gr am m in g f o r E d u ca ti on on th e C o m m o d o r e 6 4
Lines 1 5 0 0 - 1 7 3 0 c o n t a i n t h e i n s t r u c t i o n s . L i n e 1 5 2 0 se ts t h e b a c k g r o u n d
c o l o u r t o w h i t e , a n d t h e p r i n t i n g c o l o u r t o b l a c k . L in e 1 5 3 0 cle a rs t h e
s cre en . L in e 1 7 2 0 w a its f o r a key t o b e p r e s s e d b e f o r e t h e p r o g r a m
c o n ti n u e s .
Lin es 2 0 0 0 - 2 0 6 0 g e t w o r d s a t r a n d o m f r o m t h e D A T A line s. I f y o u h a v e
m o r e t h a n t w e n t y w o r d s in D A T A , y o u w il l h a v e t o in c r e a s e t h e s i z e o f t h e
l o o p in line 20 3 0. R E S T O R E in lin e 2 0 2 0 sets t h e d a t a p o i n t e r b a c k t o t h e
b e g in n i n g o f t h e lis t o f w o r d s e a c h t im e .
Line s 3 0 0 0 - 3 0 9 0 m ix t h e l e t t e r s o f t h e w o r d . T h e l o o p in l ines 3 0 3 0 - 3 0 6 0
goes t h r o u g h t h e l e t te r s o f t h e c h o s e n w o r d o n e a t a t i m e . I t b u i ld s a new
w o r d b y a t t a c h i n g a l e t t e r a t r a n d o m t o e i t h e r t h e f r o n t o r b a c k o f t h e new
w o r d .
L in e 3 0 7 0 uses D U M M Y $ t o h o l d a c o p y o f t h e new w o r d . L i n e 3 0 8 0
c he cks t o e n s u r e t h a t t h e new w o r d i s n o t t h e s a m e as t h e o r ig i n a l!
Li nes 4 0 0 0 - 4 2 0 0 c o n t r o l t h e d i s p l a y o f t h e g a m e . L i n e 40 2 0 cle a rs t h e
s cre en . Lines 4 0 4 0 - 4 0 6 0 p r i n t t h e j u m b l e d w o r d .
L in e 40 70 sav es t h e p r i n t c o o r d i n a t e s in v a r i a b le s X I a n d Y 1 . L in e 4 0 80
rese ts t h e p r i n t p o s i t i o n t o t h e b o t t o m o f t h e s c re e n b y j u m p i n g t o t h e ‘ p r i n t
a t ’ s u b r o u t i n e . Li n e 4 09 0 c le a rs t h e k e y b o a r d b u f f e r .
Lin es 4 1 0 0 - 4 1 2 0 a llo w t h e i n p u t o f e i t h e r M o r G . I f M i s p r e s s e d , t h e
p r o g r a m j u m p s b a c k t o t h e m ix s u b r o u t i n e . I f G i s p r e s s e d , t h e p r o g r a m
c o n t i n u e s .
Li ne 4 1 5 5 s en ds th e p r i n t c o o r d i n a t e s f o r t h e b o t t o m o f t h e sc re e n t o t h e
‘ p r i n t a t ’ s u b r o u t i n e . Li ne s 4 1 6 0 - 4 1 9 0 c he ck t h e guess a g a i n s t t h e a c t u a l
w o r d a n d s en d c o n t r o l t o t h e p a r t i c u l a r s u b r o u t i n e .
Lines 4 5 0 0 - 4 5 7 0 c o n t a i n t h e succ ess r o u t i n e , w h ic h s im p ly in cr e as e s t h e
s co re by o n e a n d t e m p o r a r i l y m a k e s t h e b a c k g r o u n d g r e e n i n line 454 0 .
Lin es 4 6 0 0 - 4 6 7 0 c o n t a i n t h e m i s t a k e r o u t i n e . T h i s t u r n s t h e b a c k g r o u n d
c o l o u r t o r e d .
Lines 5 0 0 0 - 5 0 9 0 c le a r t h e s c re e n a n d p r i n t t h e s c o re .
Lin e 6 02 0 i s t h e ‘ p r i n t a t ’ s u b r o u t i n e , w h ic h se nd s t h e c o o r d i n a t e s o f t h e
n e xt p r i n t p o s i t i o n t o t h e o p e r a t i n g sy ste m k e r n a l .
Lin es 9 0 0 0 - 9 1 2 0 c o n t a i n all t h e w o r d s u s e d . A n y t w e n t y w o r d s c a n be
u s e d h e r e , b u t a v o i d t h o s e w i t h m o r e t h a n 1 0 l e t t e r s , as t h e y w il l e x te n d o n
t o t h e n e x t line.
6 8
Page 81
C H A P T E R 4
M a k in g Fr iends w it h y o u r K ey boa rd
T a c k li n g e n t r y e rro rs — m e n u s — m a k i n g p r o b l e m s f o o l p r o o f —
m o v i n g t h e c ha r ac te r s e t — B i g L : w r iti n g la rg e o n t h e scree n — K e y
b oa r d: lea rn in g t h e k e y s — M a s k i n g : c h a n g in g b i n a r y n u m b e r s .
A c o m p u t e r c a n receive i n f o r m a t i o n f r o m a v a r i e t y o f s o u rc e s . Th e se
in cl u d e c a ss e t te s , d i sk s , j o y s t i c k s , lig h t p e n s , even t h e t e l e p h o n e line a n d ,
o f c o u r s e , t h e k e y b o a r d . I n a p r o g r a m , t h e m o s t c o m m o n m e t h o d s o f
e n te r in g d a t a a r e via I N P U T a n d G E T s t a t e m e n t s .
Yo u ha ve a l r e a d y seen I N P U T us e d o n s ev era l o c c a s i o n s . P r o g r a m exe
c u t i o n h a lt s u n t i l s o m e i n f o r m a t i o n i s e n t e r e d by p r e s s i n g t h e [ R E T U R N ]
key . G E T do e s n o t h a l t t h e p r o g r a m , so i t ’ s sensi bl e t o p u t it in a l o o p t o
w a it u n t i l a key i s p r e s s e d . W h e n y o u p re s s a key , t h e c o d e o f t h a t key i s
s t o r e d in t h e k e y b o a r d b u f f e r , a t y p e o f t e m p o r a r y m e m o r y s t o r e . T o m a k e
s ur e t h a t o n l y t h e i n p u t y o u w a n t i s l e f t in t h e b u f f e r , y o u c a n c le a r it by
P O K E 1 9 8 ,0 j u s t b e f o r e th e G E T l o o p .
It i s also q u i t e e asy t o e n s u r e t h a t a n y i n p u t i s w i t h in t h e lim its y o u s e t. A
p r o g r a m t h a t o n l y r e q u i r e s f ig ur e s c a n u se G E T a n d c h e ck t h e c o d e o f k ey s
t h a t a r e pr e s s e d . I f a n y o t h e r key i s p r e s s e d , t h e p r o g r a m c a n l o o p b a c k t o
r e q u e s t a n o t h e r i n p u t . T h is p r o g r a m d o e s j u s t t h a t :
1 0 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1 1 0 R E M S E L E C T I V E I N P U T R O U T I N E
1 2 0 E E M * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1 3 0 P O K E 1 9 8 , 0
1 4 0 G E T A * : I F A $ = " " T H E N 1 4 0
1 5 0 I F A S C ( A $ ) < 4 8 O R A S C < A * ) > 5 7 T H E N P R I N T " N O T A
N U M B E R "
1 5 5 I F A S C < A * ) < 4 8 O R A 5 C < A $ ) > 5 7 T H E N G O T O 1 3 0
1 6 0 P R I N T " Y O U P R E S S E D N U M B E R " A $
1 7 0 S T O P
R E A D Y .
Lin e 1 5 0 c he cks t h e A S C I I c o d e t o m a k e s u r e it l i e s b e tw e e n 4 8 ( 0 ) a n d 5 7
( 9 ) .
6 9
Page 82
Pro gr am mi n g f o r Ed u ca ti on on the C o m m o d o r e 6 4
A r o u t i n e lik e t h i s c a n a ls o m a k e a p r o g r a m e a si e r f o r t h e u s e r. O n e o f
t h e m o s t f r u s t r a t i n g t h in g s f o r a n i n e x p e r ie n c e d u s e r i s f o r e r r o r messa ge s
t o a p p e a r o n t h e s c re e n w h e n t h e y a r e h a l f - w a y t h r o u g h t h e p r o g r a m .
Shi eld in g t h e u s e r f r o m t h e o p e r a t i n g s y s te m i s a n i m p o r t a n t a r e a o f p r o
g r a m m i n g , f o r , even i f a p r o g r a m w o r k s p e r f e c t l y , it c a n b e sp o il e d b y la c k
o f f o r e s ig h t o n th e p a r t o f t h e p r o g r a m m e r .
F i r s t ly , t h e p r o g r a m n e e d s t o b e s e l f - e x p l a n a t o r y , as f a r as t h a t i s p o s
sib le. I f so m e o n e p u t s a c a s s e t te in a n d p re ss e s S H I F T a n d R U N / S T O P ,
i n s t r u c t i o n s o n use s h o u l d b e t h e f i r s t t h i n g t h a t a p p e a r s a f t e r t h e t i t l e . I f
t h e p r o g r a m i s e a sy a n d p l e a s a n t t o u s e , it i s u s u a ll y t e r m e d ‘ u s e r- f r i e n d l y ’ .
I f t h e p r o g r a m h a s se ver al o p t i o n s , it i s a g o o d i d e a t o m a k e it m e n u - d r i v e n
t o i nc re as e its f r i e n d li n e s s . T h i s m e a n s t h a t a lis t o f o p t i o n s a p p e a r s o n t h e
s c re e n, a n d t h e us e r c a n m a k e his s e le c ti o n f r o m t h e d i s p l a y e d m e n u , e g
P r e s s a n u m b e r t o c h o o s e :
1 . I n s t r u c t i o n s
2 . E a s y P r o b l e m s
3 . H a r d e r P r o b l e m s
4. D i f f i c u l t P r o b l e m s
I f a n y o t h e r ke y a p a r t f r o m 1 , 2 , 3 o r 4 i s p r e s s e d , t h e c o m p u t e r s h o u l d
i g n o re i t. T h is c a n b e a c h ie v e d b y u s in g a G E T r o u t i n e as e x p la i n e d e a r l ie r .
A n o t h e r a d v a n t a g e i s t h a t t h e u s e r d o e s n o t h a v e t o p re s s t h e R E T U R N
key .
I n a p r o g r a m r e q u e s t i n g t h e d a t e o f b i r t h , I N P U T c a n b e u s e d i n s t e a d o f
G E T , b u t t h e m a n n e r in w h ic h t h e d a t a i s e n t e r e d s h o u l d b e s h o w n b y a n
e xa m p l e , t h e n t h e i n p u t c h e c k e d b y t h e p r o g r a m .
1 0 0 0 R E M B I R T H D A T E S U B R O U T I N E
1 0 1 0 P R I N T ‘‘ E N T E R Y O U R D A T E O F B I R T H ”
1 0 2 0 P R I N T ‘‘ U S E T H E F O L L O W I N G O R D E R - ”
1 0 3 0 P R I N T ‘ *D ATE, M O N T H , Y E A R ”
1 0 4 0 P R I N T ‘‘ E . G . 4 T H M A R C H 1 9 5 6 W O U L D B E ”
1 0 5 0 P R I N T ” 4 < R E T U R N > ”
1 0 6 0 P R I N T ” 3 < R E T U R N > ”
1 0 7 0 P R I N T ” 1 9 5 6< R E T U R N > ”
1 0 8 0 P RINT* * D A T E - ” ;
1 0 9 0 I N P U T D A T E
1 1 0 0 I F D A T E < 1 O R D A T E > 3 1 T H E N 1 0 9 0
1 1 1 0 P R I N T * ‘ M O N T H -
1 1 2 0 I N P U T M O N T H
7 0
Page 83
C h a p te r 4 M a k i n g Frie nd s wit h y o u r K e y b o a r d
1 1 3 0 I F M O N T H < 1 O R M O N T H > 1 2 T H E N 1 1 2 0
1 1 4 0 P R I N T “ Y E A R -
1 1 5 0 I N P U T Y E A R
1 1 6 0 I F Y E A R < 1 8 8 0 O R Y E A R > 1 9 8 4 T H E N 1 1 5 0
T h e e x a m p l e su gge sts t h e e n t r y f o r m a t , so t h e u s e r k n o w s t h e c o r r e c t o r d e r
o f i n p u t , a n d a ls o t h a t h e i s e x p e c t e d t o e n t e r f ig u r e s a n d n o t w o r d s .
I f im p o s s ib l e d a t e s , s u c h as - 4 / 1 5 / 1 9 8 3 , a r e e n t e r e d , t h e y a r e o u t s i d e
t h e p e r m i t t e d r a n g e o f i n p u t s . I f l e t t e r s a r e e n t e r e d , eg A P R I L i n s t e a d o f 4,
t h e 6 4 g e n e r a te s a n e r r o r m es s a ge — R E D O F R O M S T A R T — so t h e i n p u t
l o o p i s r e p e a t e d o n c e m o r e . I f t h e R E T U R N key i s p r e s s e d w i t h n o t h i n g
e n t e r e d , t h e l o o p i s a ls o r e p e a t e d .
T h e wa y t o m a k e t h e r o u t i n e c h e c k t h a t o n l y f ig u r e s a r e e n t e r e d w o u l d
b e t o m a k e t h e i n p u t lines c o n t a i n s t r i n g , r a t h e r t h a n n u m e r i c , v a r i a b le s ,
a n d c h e ck t h e i r A S C I I c o d e s . T h i s w o u l d b e a u s e f u l exerc ise f o r y o u t o t r y .
I n t h is c h a p t e r , w e a r e i n c l u d i n g s o m e p r o g r a m s t h a t h e l p c h i l d r e n f i n d
t h e i r way r o u n d t h e k e y b o a r d . T h e y a ls o i n t r o d u c e id e a s t h a t y o u m a y f i n d
u s e f u l in y o u r o w n p r o g r a m s .
K e y b o a r d e n c o u r a g e s f a s t e n t r y o f all t h e c h a r a c t e r s o n t h e k e y b o a r d .
T h e i n s t r u c t i o n s a r e p r e s e n t e d as a s u b r o u t i n e a n d t h e T I M E f u n c t i o n in
t h e m a c h i n e s t a r t s w h e n t h e s p a c e b a r i s p r e s s e d . A l a r g e v e r s i o n o f t h e
c h a r a c t e r a p p e a r s o n t h e sc re e n a n d t h r e e a t t e m p t s a r e a ll o w e d t o f i n d t h e
c o r r e c t key.
I n t h e 6 4, t h e c h a r a c t e r d e f i n i t i o n s a r e s t o r e d a t m e m o r y l o c a t i o n 5 3 2 4 8
o n w a r d s . E a c h c h a r a c t e r o n t h e sc re e n c o n s i s t s o f e ig h t r o w s o f e ig h t p o s i
t i o n s , lik e a chess b o a r d . E a c h r o w i s r e p r e s e n t e d b y a b i n a r y n u m b e r . I f
y o u i m a g in e a b l a c k c h a r a c t e r o n a w h i t e b a c k g r o u n d , t h e n o n e s s t a n d f o r
b l a c k s , a n d z e ro s f o r w h i t e s , so a t o t a l l y f il le d - in c h a r a c t e r w o u l d c o n t a i n
2 5 5 in ea c h r o w , as t h e b i n a r y c o d e f o r 2 5 5 i s 1 1 1 1 1 1 1 1 .
O n so m e c o m p u t e r s , it w o u l d b e e a sy t o f i n d t h e c h a r a c t e r d e f i n i t i o n s b y
P E E K i n g t h e l o c a t i o n s w h e r e t h e y a r e s t o r e d . T h e 64 , h o w e v e r , uses a
s ys tem t h a t i s m o r e c o m p l i c a t e d , in o r d e r t h a t m o r e i s a v a i l a b l e t o t h e u s e r.
I t r e a d s its c h a r a c t e r s e t f r o m R O M w h i c h s h a r e s t h e s a m e a d d r e s s e s as
us e r m e m o r y a n d s o m e i n p u t / o u t p u t r o u t i n e s . E v e r y t im e t h e 64 n ee d s t o
d i s p l a y a c h a r a c t e r , a p o i n t e r i n a n o t h e r p a r t o f t h e m e m o r y se n d s i t t o t h e
c h a r a c t e r R O M . I f w e w a n t t o r e a d t h e d e f i n i t i o n s , o r i n d e e d t o c h a n g e t h e
set t o d i s p l a y o u r o w n d e f i n i t i o n s , t h e e a s i e s t t h i n g i s t o c o p y t h e e n t i r e
c h a r a c t e r se t i n t o u s e r R A M (w h i c h c a n b e a l t e r e d ) . T h e 64 m u s t a ls o h a v e
t h e p o i n t e r c h a n g e d so t h a t i t p o i n t s t o t h e ne w c h a r a c t e r s e t.
T h e f o ll o w i n g p r o g r a m c o p ie s t h e c h a r a c t e r s e t f r o m R O M i n t o R A M a t
l o c a t i o n 1 2 2 8 8 . I f t h is i s a ll t h a t i s d o n e , y o u r B A S I C p r o g r a m m a y o v e r
w r ite t h e new se t a t a l a t e r s ta g e . T h e 6 4 m u s t b e t o l d t h a t i t c a n n o t u s e t h is
s p a c e , so t h e p o i n t e r s t o s t r i n g v a r i a b l e s p a c e a n d t h e h i g h e s t a d d r e s s u s e d
by B A S I C h a v e t o b e c h a n g e d . T h e n t h e k e y s c a n i n t e r r u p t s h a v e t o b e
7 1
Page 84
P ro gr am m in g f o r E d u ca ti on on th e C o m m o d o r e 6 4
t u r n e d o f f a n d t h e 6 4 t o l d t o l o o k a t t h e c h a r a c t e r R O M r a t h e r t h a n R A M .
A t t h is p o i n t , all t h e n e c e s s a ry c h a r a c t e r s in t h e R O M c a n b e s c a n n e d a n d
t h e i r d e f i n i t i o n s P O K E d i n t o t h e i r new l o c a t i o n s in R A M .
I f y ou wer e t o h a l t t h e p r o g r a m a t t h i s p o i n t , y o u w o u l d f in d t h a t t h e
k e y b o a r d h a d ‘ d i e d ’ . E v e n t h e R U N / S T O P a n d R E S T O R E m e t h o d
w o u l d n o t r e t r ie v e y o u r p r o g r a m , as t h e k e y b o a r d i s n o t b e in g s c a n n e d .
W it h t h e c h a r a c t e r s in t h e i r new l o c a t i o n , t h e t h i n g t o d o i s f i r s t t o sw itc h in
t h e i n p u t / o u t p u t r o u t i n e s , t h e n t o s t a r t t h e k e y b o a r d s c a n r o u t i n e . No w
t h a t t h e c h a r a c t e r set i s in u s e r R A M , y o u c a n l o o k a t it ea sily, o r a l t e r it a s
n ec ess ary .
O nc e t h e c h a r a c t e r d e f i n i t i o n s a r e a v a i l a b l e , it i s p o s s ib l e t o P E E K t h e m ,
a n d use t h e co d e s t o p r o d u c e l a r g e v e r s i o n s o f t h e m o n t h e sc re e n.
T h e w ay t h i s i s a c h ie v e d i s b y s t o r i n g t h e d e f i n i t i o n s in a r r a y s t h a t h o l d
t h e c o d e f o r e a c h line as a b i n a r y n u m b e r ; so 1 7 0 i s s t o r e d as its b i n a r y
e q u i v a l e n t , 1 0 1 0 1 0 1 0 . T h i s n u m b e r i s n o w s c a n n e d . I f a 1 i s f o u n d , a soli d
b l o c k i s p r i n t e d ; i f a 0 i s f o u n d , a s p a ce i s p r i n t e d . T h i s r e s u l ts in a c h a r a c t e r
s i x t y - f o u r ti m e s n o r m a l a r e a b e in g p r i n t e d o n t h e s c re e n . T h e a c t u a l p r o
g r a m r u n s t h r o u g h t h e e n t i r e c h a r a c t e r set a n d p r i n t s t h e v a lu e h e ld i n e ach
l o c a t i o n so y o u c a n s e e h o w t h e c h a r a c t e r i s f o r m e d .
B i g L
1 0 0 0 R E M * * * L A R G E C H A R A C T E R P R O G R A M * * *
1 0 1 0 R E M
1 0 2 0 R E M * * * M O V E C H A R A C T E R S E T > R A M * * *
1 0 3 0 R E M
1 0 4 0 P R I N T C H R $ ( 1 4 2 )
1 0 5 0 P 0 K E 5 2 , 4 8
1 0 6 0 P 0 K E 5 6 , 4 8
1 0 7 0 C L R
1 0 8 0 P 0 K E 5 6 3 3 4 , P E E K < 5 6 3 3 4 ) A N D 2 5 4
1 0 9 0 P O K E 1 , P E E K < 1 ) A N D 2 5 1
1 1 0 0 F O R I = 0 T O 5 1 1
1 1 1 0 P O K E I + 1 2 2 8 8 , P E E K ( I + 5 3 2 4 8 )
1 1 2 0 N E X T
1 1 3 0 P O K E 1 , P E E K ( 1 ) 0 R 4
1 1 4 0 P 0 K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) O R 1
1 1 5 0 R E M
1 1 6 0 R E M * * * P R I N T L A R G E L E T T E R S * * *
1 1 7 0 R E M
1 1 8 0 Z = 1 2 2 8 8
1 1 9 0 P G K E 5 3 2 8 1 , 0
1 2 0 0 D I M B ( 8 ) s D I M C ( 8 , 8 )
1 2 2 0 F O R X = 0 T O 5 1 1 S T E P 8
1 2 3 0 P R I N T " L S H I F T / C L R / H O M E 1 "
7 2
Page 85
C h a p te r 4 M a k in g Friends with y o u r K e y b o a r d
1 2 4 0 F O R N = 0 T O 7
1 2 5 0 P R I N T Z + X + N , P E E K (Z + X + N )
1 2 6 0 B ( N ) = P E E K ( Z + N + X )
1 2 7 0 F O R J = 0 T O 7
1 2 8 0 C < N , J ) = I N T ( B ( N ) / 2 ' * < 7 - J ) )
1 2 9 0 B ( N ) = ( ( B ( N ) / 2 " ( 7 - J ) > - C < N , J ) ) * 2 s < 7 ~ J )
1 3 0 0 I F C < N , J ) = 1 T H E N P O K E ( 1 0 6 4 + N * 4 0 ) + 1 5 + J , 8 1 s P O K E
< 5 5 3 3 6 + N * 4 0 ) + 1 5 + J , 0
1 3 1 0 N E X T J
1 3 3 0 N E X T N
1 3 4 0 N E X T X
R E A D Y .
C o m m e n t a r y
Lin e 1 0 4 0 cle a rs t h e sc re e n . Li ne s 1 0 5 0 a n d 1 0 6 0 tell t h e 6 4 w h e r e t o s t o r e
s tri ng s a n d t h e B A SI C p r o g r a m so t h a t it w o n ’ t o v e r w r i t e t h e new c h a r
a c t e r se t.
Li ne 1 0 7 0 free s all a v a il a b l e m e m o r y s pa ce . L in e 1 0 8 0 t u r n s o f f t h e k e y
b o a r d s c an . Li ne 1 0 9 0 sele ct s t h e c h a r a c t e r R O M . Li n es 1 1 0 0 t o 1 1 2 0 c o p y
t h e c o n t e n t s o f t h e f i r s t s e c t i o n o f t h e c h a r a c t e r R O M i n t o R A M . Li n e 1 1 3 0
deselects t h e c h a r a c t e r R O M . L i n e 1 1 4 0 t u r n s o n t h e k e y b o a r d s c an . L in e
1 1 8 0 se ts Z e q u a l t o t h e s t a r t o f t h e l o c a t i o n o f t h e c o p ie d c h a r a c t e r set.
Li ne 1 1 9 0 se ts t h e b a c k g r o u n d c o l o u r t o g r e e n . L i n e 1 2 0 0 D I M e n s i o n s
sp a ce f o r t h e a r r a y s n e c e s s a ry t o h o l d l a r g e v e rs i o n s o f t h e c h a r a c t e r
d e f i n i t i o n s .
Li nes 1 2 2 0 - 1 3 4 0 c o n t a i n t h e l o o p t o g o t h r o u g h t h e e n t i r e 6 4 c o p ie d c h a r
a c te r s . Lines 1 2 4 0 - 1 3 3 0 c o n t a i n t h e l o o p t o d i s p l a y e a c h lin e o f t h e
c h a r a c t e r .
Lines 1 2 5 0 a n d 1 2 6 0 s t o r e t h e d e c im a l ( n o r m a l ) v a lu e o f e a c h lin e i n a
v a r i a b l e , B (N).
Lines 1 2 7 0 t o 1 3 1 0 c o n t a i n a r o u t i n e t o c o n v e r t t h e n u m b e r i n B (N) t o it s
b i n a r y e q u i v a l e n t . T h i s i s s t o r e d as a ser ies o f z e ro s a n d o n e s in a r r a y
C ( N , J ) .
I t c a n be seen, i f y o u r u n t h is p r o g r a m , t h a t it p r o v id e s a n i n t r o d u c t i o n t o
ho w a k e y b o a r d t r a i n e r p r o g r a m o p e r a t e s . I n t h e n e xt p r o g r a m , t h e c h a r
a c te rs a r e p r i n t e d in a l a r g e v e r s i o n o n t h e s c re e n. Th e s e a r e p r e s e n t e d t o t h e
7 3
Page 86
P rog ram mi n g f o r E d u ca ti on on th e C o m m o d o r e 6 4
us e r in a r a n d o m f a s h i o n , a n d t h e y h a v e t o i n p u t t h e c o r r e c t l e t t e r f r o m t h e
k e y b o a r d as f a s t as t h e y c a n . I f t h e y a r e s u c ce s s fu l, a n o t h e r l e t t e r a p p e a r s
a n d t h e t im e t a k e n i s a d d e d t o t h e i r t o t a l t im e .
K e y b o a r d
1 0 0 R E M * * * K E Y B O A R D T R A I N E R * * *
1 1 0 R E M
1 2 0 R E M * * * A . J . S . 4 / 1 1 / 8 3 * * *
1 3 0 R E M
1 4 0 R E M * * * * * * * * * * * * * * * * * * * * * * * * * *
1 5 0 R E M
1 9 0 G O T O 1 0 0 0 s R E M M O V E C H A R A C T E R S E T
2 0 0 G O S U B 3 0 0 0 : R E M I N S T R U C T I O N S
2 1 0 G O S U B 4 0 0 0 : R E M T E S T M O D U L E
2 2 0 G O S U B 5 0 0 0 : R E M S C O R E M O D U L E
2 3 0 G O T O 2 0 0
2 4 0 R E M
1 0 0 0 R E M L A R G E C H A R A C T E R P R O G R A M
1 0 1 0 R E M
1 0 2 0 R E M R E L O C A T E C H A R A C T E R S E T I N R A M
1 0 3 0 R E M
1 0 4 0 P R I N T C H R $ < 1 4 7 )
1 0 5 0 P O K E S 2 , 4 8
1 0 6 0 P 0 K E 5 6 , 4 8
1 0 7 0 C L R
1 0 8 0 P 0 K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) A N D 2 5 4
1 0 9 0 P O K E 1 , P E E K ( 1 ) A N D 2 5 1
1 1 0 0 F O R I = 0 T O 5 1 1
1 1 1 0 P O K E I + 1 2 2 8 8 , P E E K < I + 5 3 2 4 8 )
1 1 2 0 N E X T
1 1 3 0 P O K E 1 , P E E K ( 1 ) 0 R 4
1 1 4 0 P 0 K E 5 6 3 3 4 , P E E K ( 5 6 3 3 4 ) O R 1
1 1 5 0 G O T O 2 0 0
1 9 9 0 R E M
2 0 0 0 R E M R O U T I N E T O P R I N T L A R G E L E T T E R S
2 0 1 0 R E M
2 0 2 0 Z = 1 2 2 8 8
2 0 2 5 R = I N T ( R N D ( 0 ) * 2 6 ) + 1
2 0 6 0 P R I N T C H R $ < 1 4 7 )
2 0 7 0 F O R N = 0 T O 6
2 0 9 0 B < N ) - P E E K (Z + N + R * 8 )
2 1 0 0 F O R J = 0 T O 7
2 1 1 0 C ( N , J ) = I N T ( B < N ) / 2 ’ * ( 7 — J ) )
2 1 2 0 B ( N ) = < ( B ( N ) / 2 ’ ( 7 ~ J ) ) - C < N , J ) ) * 2 S ( 7 - J )
2 1 3 0 I F C < N , J > = 1 T H E N P O K E ( 1 0 6 4 + N * 4 0 ) + 1 5 + J , 8 1
2 1 4 0 I F C < N , J ) = 1 T H E N P O K E ( 5 5 3 3 6 + N * 4 0 ) + 1 5 + J , 0
7 4
Page 87
C h a p te r 4 M a k in g Friends with y o u r K e y b o a r d
2 1 5 0
2 1 6 0
2 1 7 0
3 0 0 0
3 0 1 0
3 0 2 0
3 0 3 0
3 0 4 0
3 0 5 0
3 0 6 0
3 0 7 0
3 0 8 0
3 0 9 0
3 1 0 0
3 1 1 0
3 1 2 0
3 1 3 0
3 1 4 0
3 1 5 0
3 1 6 0
3 1 7 0
4 0 0 0
4 0 1 0
4 0 2 0
4 0 3 0
4 0 4 0
4 0 5 0
4 0 6 0
4 0 7 0
4 0 8 0
4 0 9 0
4 1 0 0
4 1 1 0
4 1 2 0
4 1 3 0
4 1 4 0
4 1 5 0
4 1 6 0
4 1 7 0
5 0 0 0
5 0 1 0
5 0 2 0
5 0 3 0
5 0 4 0
5 0 5 0
5 0 6 0
5 0 7 0
5 0 8 0
5 0 9 0
N E X T J
N E X T N
R E T U R N
R E M
R E M * * * I N S T R U C T I O N S * * *
R E M
P R I N T C H R * ( 1 4 7 ) : P 0 K E 5 3 2 8 1 , 5 : P 0 K E 6 4 6 , 6
P R I N T
P R I N T " Y O U A R E A B O U T T O B E S H O W N "
P R I N T
P R I N T " 1 0 L E T T E R S A N D O T H E R S Y M B O L S "
P R I N T
P R I N T " T H A T A R E A L L O N T H E K E Y B O A R D "
P R I N T
P R I N T " F I N D T H E C O R R E C T K E Y A N D P R E S S "
P R I N T
P R I N T " I T A S Q U I C K L Y A S Y O U C A N "
F O R X = 1 T O 8: P R I N T : N E X T X
P R I N T " P R E S S T H E S P A C E B A R T O G O "
G E T Z * : I F Z S = " " T H E N 3 1 6 0
R E T U R N
R E M
R E M * * * T E S T M O D U L E * * *
R E M
T S = T I M E : S C = 0
F O R G = 1 T O 1 0
G O S U B 2 0 0 0
P 0 K E 7 B 2 , 5 : P 0 K E 7 8 1 , 2 0 : S Y S 6 5 5 2 0
P R I N T " T H E L E T T E R I S
- - - - - - - -
> " 5
P O K E 1 9 8 , 0
G E T Z * : I F Z $ = " " T H E N 4 0 9 0
P R I N T Z $ ;
I F A S C ( Z $ ) = R + 6 4 T H E N S C = S C + 1
I F A S C ( Z * ) = R + 6 4 T H E N P R I N T " Y E S "
I F A S C ( Z $ ) O R + 6 4 T H E N P R I N T " N O , " C H R * ( R + 6 4 )
F O R P A U S E = 1 T O 1 0 0 0 : N E X T
N E X T G
T T = I N T ( ( T I M E - T S ) / 6 0 )
R E T U R N
R E M
R E M * * * S C O R E M O D U L E * * *
R E M
P R I N T C H R * ( 1 4 7 )
P R I N T
P R I N T " Y O U S C O R E D " S C " C O R R E C T "
P R I N T
P R I N T " A N D T O O K " T T " S E C O N D S "
P R I N T
P R I N T " P R E S S S P A C E B A R T O G O A G A I N "
7 5
Page 88
Pro gr am m in g f o r Ed u ca ti o n on th e C o m m o d o r e 6 4
5 1 0 0 G E T Z $ : I F Z $ = , , M T H E N 5 1 0 0
5 2 0 0 R E T U R N
R E A D Y .
C o m m e n t a r y
Lines 1 9 0 - 2 3 0 c o n t a i n t h e c o n t r o l m o d u l e .
L i n e 2 3 0 l o o p s t h e p r o g r a m t h r o u g h t h e i n s t r u c t i o n s a n d t h e t e s t f o r as
m a n y tim es as i s n e c es s a ry .
I n o r d e r t h a t t h e c h a r a c t e r set c a n b e e x a m i n e d , it i s c o p ie d f r o m R O M in
t h e sa m e m a n n e r as t h a t u s e d in t h e l a s t p r o g r a m .
Lines 1 0 0 0 - 1 1 5 0 a r e r e s p o n s i b l e f o r t h e m o v in g . W h e n y o u R U N t h e p r o
g r a m , y o u w il l h a v e t o w a i t f o r a b o u t t e n s e c o n d s whi le t h i s i s a c h ie ve d .
T h e s u b r o u t i n e i s th e s a m e as t h e r o u t i n e in Bi gL, so r e f e r t o t h a t p r o g r a m
f o r m o r e d e t a i l e d n o t e s .
N o t e t h a t t h i s i s n o t a s u b r o u t i n e . I f G O S U B 1 0 0 0 i s u s e d i n lin e 1 9 0 , a n d
R E T U R N in line 1 1 5 0 , t h e p r o g r a m w il l s t o p wi th a n e r r o r m ess ag e in line
1 1 5 0 ( t h a t t h e r e i s a R E T U R N w i t h n o G O S U B ) . T h i s i s b e c a u s e t h e C L R in
line 1 0 7 0 r ese ts t h e s t a c k c o n t a i n i n g t h e R E T U R N a d d r e s s e s .
T h e r o u t i n e f r o m line 20 00 t o line 21 70 i s a ls o s im i la r t o t h a t i n Big L, a n d
i s us e d t o p r i n t a l a r g e v e r s i o n o f t h e sele c te d l e t t e r o n t h e s cre en .
Li ne 2 0 2 5 c h o o s e s t h is l e t t e r a t r a n d o m f r o m t h e d a t a .
Li nes 3 0 0 0 - 3 1 7 0 c o n t a i n t h e i n s t r u c t i o n s .
Lines 4 0 0 0 - 4 1 7 0 c o n t a i n t h e te s t m o d u l e .
L i n e 40 30 r e a d s t h e c u r r e n t i n t e r n a l c lo c k t im e i n t o v a r i a b l e T S , a n d s et s
t h e s c or e c o u n t e r , SC , t o z e r o .
Lin es 40 90 a n d 41 00 c he ck t h e k e y b o a r d f o r a n i n p u t , a n d lin es 4 1 1 0 - 4 1 3 0
ch eck th is i n p u t a g a i n s t t h e s ele cte d l e t t e r . I f it i s c o r r e c t , t h e s c o re i s i n c r e
m e n t e d a n d YES p r i n t e d .
Li ne 4 14 0 p r o v id e s a s h o r t p a u s e so t h a t t h e sc re e n c a n b e r e a d .
A f t e r t e n a t t e m p t s , line 41 60 i s u s e d t o c a l c u l a t e h o w m a n y ti c k s h a v e b e e n
p r o d u c e d b y t h e j i f f y c lo c k , a n d th is n u m b e r i s d iv id e d by 6 0 a n d r o u n d e d
o f f t o p r o d u c e t h e n u m b e r o f s e c o n d s t a k e n .
7 6
Page 89
C h a p te r 4 M a k i n g Frien ds wi th y o u r K e y b o a r d
Lines 5 0 0 0 - 5 2 0 0 c o n t a i n t h e s c or e m o d u l e w hi c h sim pl y clea rs t h e scre en
(in line 5 0 3 0 ) a n d p r i n t s t h e d e ta i ls o f t h e t e s t o n th e sc re e n .
M a s k i n g
In t h e l a s t p r o g r a m , a n d in o n e o r t w o o t h e r s , y o u m a y h a v e f o u n d a p a r t i
c u l a r f e a t u r e in a line t h a t s eem ed t o m a k e l i t t l e sen se. A t y p ic a l lin e m ig h t
be
P O K E 563 34, P E E K ( 5 6 3 3 4 )A N D 25 4
I t l o o k s as t h o u g h i t m e a n s ‘ P O K E a n u m b e r w i t h t h e n u m b e r a l r e a d y t h e r e
pl u s 2 54 ’. Th is i s n o t t r u e , h o w e v e r , as A N D i s a lo gi ca l o p e r a t o r , n o t t h e
s a m e as + .
L o g ic al o p e r a t o r s a r e f a i r l y ea sy t o u n d e r s t a n d w h e n t h e y a r e u s e d t o
c o m p a r e n u m b e r s .
1 0 I N P U T “ A = ” ;A
2 0 I N P U T “ B = ” ; B
3 0 I F A = 1 A N D B = 1 T H E N P R I N T “ Y E S ” : G O T O 5 0
4 0 P R I N T “ N O ”
5 0 S T O P
A N D T R U T H T A B L E
A B
0
0
0 1
1
1 1 1
0 i e F A L S E
0 i e
F A L S E
0 0 i e F A L S E
i e T R U E — “ Y E S ” p r i n t e d
T h i s p r o g r a m w o u l d p r i n t ‘ Y E S ’ i f b o t h c o n d i t i o n s wer e t r u e . I f e i t h e r o r
b o t h o f t h e m we re f a l s e , it w o u l d p r i n t ‘ N O ’ .
1 0 I N P U T “ A = ” ; A
2 0 I N P U T “ B = ” ; B
3 0 I F A = 1 O R B = 1 T H E N P R I N T ‘ Y E S ’ : G O T O 5 0
40 P R I N T “ N O ”
5 0 S T O P
7 7
Page 90
P ro gr am m in g f o r E d u ca ti o n on t h e C o m m o d o r e 64
O R T R U T H T A B L E
A B
0 0
0 1 1
1 0 1
1 1 1 i e
0
i e
F A L S E
i e T R U E
i e T R U E
T R U E
T h i s p r o g r a m w o u l d p r i n t ‘ Y E S ’ i f e i t h e r o f t h e t w o c o n d i t i o n s wer e t r u e
a n d t h e o t h e r w ere f a l s e , o r i f b o t h o f t h e c o n d i t i o n s w ere t r u e . I f b o t h t h e
c o n d i t i o n s we re f al s e , t h e n ‘ N O ’ w o u l d b e p r i n t e d .
W h e n lo gi c a l o p e r a t o r s a r e u s e d t o c o m p a r e n u m b e r s , wh ic h t h e y c a n in
t h e r a n g e - 3 2 7 6 8 t o 32 767 , t h e n t h e y c o m p a r e t h e wa y t h e n u m b e r s a r e
s t o r e d in t w o b y t es .
B y te s s t o r e n u m b e r s u s in g b i n a r y d i g i t s , ie u s in g o n l y o n e s a n d z e ro s .
D E C I M A L B I N A R Y
0 0
1 1
2 1 0
3 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 1 0 0 0
I f t w o n u m b e r s a r e c o m p a r e d u s in g A N D , t h e i n d i v i d u a l b i ts o f e a c h
n u m b e r a r e c o m p a r e d o n e b y o n e , a n d t h e r e s u l ts a r e t h e s a m e a s i n t h e
t r u t h t a b l e s a b o v e .
S u p p o s e t h e t w o n u m b e r s a r e 2 3 A N D 2 5 4 . 2 3 i s 0 0 0 1 0 1 1 1 in b i n a r y , a n d
25 4 i s 1 1 1 1 1 1 1 0 . P l a c i n g t h e n u m b e r s o n t o p o f e a c h o t h e r a n d u s in g A N D ,
w e ge t:
0 0 0 1 0 1 1 1
1111111 0
00 01 011 0
Y o u w il l n o t i c e , i n t h e r e s u l t l in e , t h e o n l y b i t t o h a v e a l t e r e d i s t h e l a s t o n e
o n t h e r i g h t . I f t h e t w o n u m b e r s t o b e c o m p a r e d a r e 1 9 O R 4 , t h e r e s u l t i s :
0 0 0 1 0 0 1 1
0 0 0 0 0 1 0 0
000101 11
7 8
Page 91
C h a p te r 4 M a k i n g Friends wit h y o u r K e y b o a r d
T h e t e c h n i q u e o f m a s k i n g re lies o n t h is e f f e c t , t o e n s u r e t h a t j u s t o n e b i t o f
a n u m b e r i s se t t o a o n e o r a z e r o . Al l t h e o t h e r b i n a r y d i g its r e m a i n t h e
sa m e .
In th e e x a m p l e s , it c a n be se en t h a t , t o e n s u r e t h a t t h e t h i r d b i t f r o m t h e
r ig h t i s s et t o o n e , t h e n u m b e r s h o u l d b e O R e d w i t h 4 (as 1 0 0 i s 4 in b i n a r y ) .
T o a l t e r t h e f o u r t h b i t f r o m t h e r i g h t , t h e n u m b e r w o u l d h a v e b e e n O R e d
wi th 8 (as 1 0 0 0 i s 8 in b i n a r y ) .
T o e n s u r e t h a t t h e l a s t b i t o n t h e r i g h t i s set t o z e r o , t h e n u m b e r s h o u l d b e
A N D e d w it h 2 5 5 - 1 , i e 2 54 . T h i s i s b e c a u s e t h e b i n a r y r ev e r s e o f 1 i s 2 5 4.
( Z e ro s i n s t e a d o f o n e s , a n d vic e v e r s a . )
O n e i s 0 0 0 0 0 0 0 1 a n d 2 5 4 i s 1 1 1 1 1 1 1 0 . T o a l t e r t h e f o u r t h b i t f r o m t h e
r i g h t , t h e n u m b e r s h o u l d b e O R e d w i t h 2 5 5 - 8 , i e 24 7. T h i s is be c a u s e t h e
b i n a r y r eve rs e o f 8 i s 247 . 8 i s 0000 1000 a n d 2 4 7 i s 1 1 1 1 0 1 1 1 .
W h y a ll t h is c o m p l e x it y t o a ch iev e s u c h a sma ll t h i n g , y o u m a y w o n d e r .
T h e r e a s o n i s t h a t , in o r d e r t o u se its m e m o r y c a r e f u l l y , s ev era l f u n c t i o n s in
t h e 6 4 a r e c o n t r o l l e d b y single b i ts i n a m e m o r y l o c a t i o n , r a t h e r t h a n b y t h e
w hol e b y t e . T h e r e a r e s ev era l e x a m p l es o f t h is m e t h o d b e in g u s e d in t h e
g r a p h i c s a n d s o u n d c h ip s . F o r i n s t a n c e , l o c a t i o n 5 3 2 6 9 c o n t r o l s w h e t h e r
t h e g r a p h i c c h a r a c t e r s c a lle d s p r i t e s a r e t u r n e d o n . T h e e ig h t b i ts o f t h a t
l o c a t i o n e a ch c o n t r o l o n e s p r i t e . I n a p r o g r a m , y o u m i g h t w a n t t o t u r n o n e
o n a n d le ave t h e o t h e r s u n a l t e r e d . T h e b e s t wa y t o d o t h i s i s b y O R in g
l o c a t i o n 5 3 2 6 9 ; e g t o t u r n o n t h e f i r s t s p r i t e , w i t h o u t a f f e c t i n g t h e o t h e r s ,
y o u w o u l d e n te r :
P O K E 53 269 ,P E E K ( 5 3 2 6 9 )O R 1
T o t u r n it o f f w i t h o u t a f f e c t i n g t h e o t h e r s y o u w o u l d use :
P O K E 53 269 ,P E E K ( 5 3 2 6 9 )A N D (2 5 5 - 1 )
7 9
Page 92
Page 93
C H A P T E R 5
Story T im e
C r e a t i v i t y — a r t i f i c i a l in te ll i g e n c e — w o r d s a t r a n d o m — S t o r y : a
p r o g r a m t o h e lp wi th c r e a t i v e w r i ti n g a n d a d j e c t i v e u s e — i n te r a c ti v e
us e o f c o m p u t e r s — G o s h : m o r e s t o r i e s .
C a n a c o m p u t e r b e c re a ti v e ? T o a n s w e r t h i s q u e s t i o n w o u l d t a k e t o o l o n g
in di scu ss in g t h e m e a n i n g o f c r e a t i v i t y a n d t h e f u t u r e p r o s p e c t s o f a r t i f i c i a l
in tel li ge nc e. A t t h e e n d , t h e r e m ig h t n o t b e a n y f i r m c o n c l u s i o n s . W h a t
w o u l d be a g re e d i s t h a t , gi v en s u f f i c i e n t i n f o r m a t i o n , c o m p u t e r s c o u l d
s h u f f l e t h i s i n f o r m a t i o n a n d d i s p l a y it in a ll p o s s ib l e wa y s, i n c l u d in g s om e
t h a t m ig h t a p p e a r c re a ti v e a n d o r i g i n a l .
F o r p a r e n t s a n d t e a c h e r s , t h e p r o b l e m w i t h c h i l d r e n ’ s c r e a t i v i t y i s o f t e n
o n e o f e n c o u r a g i n g t h e c h il d t o s t a r t w r i ti n g . O n c e t h e i n it ia l p a r a g r a p h h a s
be en w r i t t e n , t h e m a t e r i a l b e g in s t o flo w m o r e easily.
T h e fi r s t p r o g r a m d o e s n o t d o a n y t h i n g t h a t c o u l d n o t b e a c h ie v e d u s in g
pen cil a n d p a p e r , b u t it d o e s p r o d u c e a r e s u l t i n f a r le s s t i m e . V a r io u s
s u b je c t s a n d l o c a t i o n s a r e h e ld in D A T A lin es . I f t h e u s e r d o e s n o t lik e t h e
c o m b i n a t i o n s e le c te d , t h e p r o g r a m p r o d u c e s m o r e a t r a n d o m w h e n a key i s
p r e s s e d .
T h e R E A D s t a t e m e n t i s a v e ry u s e f u l f e a t u r e o f t h e B A S I C l a n g u a g e .
I n s t e a d o f e n t e r i n g all t h e d a t a d u r i n g t h e r u n n i n g o f a p r o g r a m , it c a n be
s t o r e d in D A T A l in e s , u s u a ll y p l a c e d a t t h e e n d o f t h e p r o g r a m . W h e n d a t a
i s r e q u i r e d , t h e s t a t e m e n t R E A D i s u s e d , f o ll o w e d b y a n u m e r i c o r s tr i n g
v a r i a b l e . W h e n t h e p r o g r a m i s R U N , a p o i n t e r m o v es a l o n g t h e D A T A
line s, e a c h t im e t h e y a r e c a ll e d . D u r i n g t h e c o u r s e o f t h e p r o g r a m it i s
p o s s ib le t o s e nd t h i s p o i n t e r b a c k t o t h e s t a r t o f t h e D A T A lines b y u s in g
t h e c o m m a n d R E S T O R E .
E n t e r t h is p r o g r a m i f y o u a r e n ’ t s u re a b o u t u s in g R E A D , D A T A a n d
R E S T O R E .
1 0 R E A D A
2 0 R E A D X $
3 0 R E A D B
40 R E S T O R E
5 0 R E A D C , Y $ , D
8 1
Page 94
Pro gr am mi n g f o r Ed u ca ti on on th e C o m m o d o r e 6 4
6 0 P R I N T A , X $ , B , C , Y $ , D
7 0 D A T A 1 , H E L L O , 3 7.5
So m e B A SI Cs a ll o w y o u t o R E S T O R E t o a p a r t i c u l a r p r o g r a m lin e , b u t in
C o m m o d o r e B A S I C y o u h a v e t o r e s o r t t o t r i c k s i f y o u w a n t t o u se d a t a
f r o m t h e m id d l e o f D A T A l in e s . F o r i n s t a n c e , t o r e a c h t h e f o u r t h piece o f
D A T A y o u c o u l d ha ve :
1 0 F O R L O O P = 1 T O 4
2 0 R E A D A
3 0 N E X T L O O P
40 P R I N T A
5 0 D A T A 1, 2,3
6 0 D A T A 4 , 5 , 6
D a t a c a n o c c u p y se ver al lin es , a n d o f t e n l o o k s n e a t e r i n l ist in g s p r e s e n t e d
i n t h is way . T h e 6 4 s e e s it as o n e b ig b l o c k o f d a t a . B e c a r e f u l y o u d o n ’ t
a t t e m p t t o R E A D w o r d s i n t o n u m e r i c v a r i a b l e s , o r y o u w ill ge t a n e r r o r
mess ag e.
S t o r y
I n t h e fo ll o w i n g p r o g r a m , t h e c hi ld i s r e q u e s t e d t o e n t e r a d je c ti v e s t o d e s
c rib e t h e s u b j e c t a n d t h e l o c a t i o n . O n c o m p l e t i o n , t h e p r o g r a m p r o d u c e s
t h e o p e n in g p a r a g r a p h o f a s t o r y w r i t t e n a r o u n d t h e d a t a t h a t h a s b e e n
e n t e r e d .
I n t e r m s o f p r o g r a m c o m p l e x it y , t h i s d o e s n o t r a n k v e ry h ig h ly , b u t it
do e s sh ow t h e wa y in w h ic h a p p a r e n t l y o r ig i n a l t e x t c a n b e g e n e r a t e d . I t
a ls o r e q u i r e s a l o t o f t h o u g h t o n t h e p a r t o f t h e c h il d t o e n t e r s u i t a b l e
d e s c r i p ti o n s t h a t f it t h e m o o d o f t h e o p e n i n g se n te n c e .
1 0 0 0 R E M * * * S T O R Y * * *
1 0 1 0 R E M
1 0 2 0 R E M * * * A J S 9 / 1 0 / 8 3 * * *
1 0 2 5 R E M
1 0 4 0 G O S U B 3 0 0 0 : R E M G E T W O R D S
1 0 5 0 G O S U B 4 0 0 0 : R E M P R I N T T E X T
1 0 6 0 G O T O 1 0 4 0 : R E M L O O P P R O G R A M
2 0 2 0 R E M
3 0 0 0 R E M
3 0 1 0 R E M * * * G E T W O R D S * * *
3 0 2 0 R E M
3 0 3 0 R E S T O R E .
3 0 4 0 F O R N = 1 T O I N T ( R N D ( 0 ) * 5 ) + 1
8 2
Page 95
C h a p te r 5 S to r y Time
3 0 5 0 R E A D S T A R T #
3 0 6 0 N E X T
3 0 7 0 R E S T O R E
3 0 8 0 F Q R N = 1 T O 5 + I N T ( R N D ( 0 ) * 2 0 ) + 1
3 0 9 0 R E A D P E R S #
3 1 0 0 N E X T
3 1 1 0 R E S T O R E
3 1 2 0 F O R N = 1 T O 2 5 + 1 N T ( R N D ( 0 ) * 2 0 ) + 1
3 1 3 0 R E A D P L A C E #
3 1 4 0 N E X T
3 9 9 0 R E T U R N
4 0 0 0 R E M
4 0 1 0 R E M * * * W R I T E I N T R O * * *
4 0 2 0 R E M
4 0 3 0 P R I N T C H R # ( 1 4 7 ) s P R I N T n * Y O U R S T O R Y * " s P R I N T
4 0 4 0 P R I N T S T A R T # ; " " ;
4 0 5 0 P R I N T P E R S #
4 0 6 0 P R I N T " W A S S E E N N E A R "
4 0 7 0 P R I N T P L A C E #
4 0 8 0 P R I N T
4 0 9 0 P R I N T " E N T E R 5 A D J E C T I V E S T H A T B E S T D E S C R I B E "
4 1 0 0 P R I N T P E R S #
4 1 1 0 F O R N = 1 T O 5
4 1 2 0 I N P U T P A D J # ( N )
4 1 3 0 N E X T Ns P R I N T
4 1 4 0 P R I N T " E N T E R 5 A D J E C T I V E S T H A T B E S T D E S C R I B E "
4 1 5 0 P R I N T P L A C E #
4 1 6 0 F O R N = 1 T O 5
4 1 7 0 I N P U T L A # ( N )
4 1 8 0 N E X T Ns P R I N T
4 1 9 0 P R I N T " P R E S S S P A C E B A R T O C O N T I N U E "
4 2 0 0 G E T Z # s I F Z # = " " T H E N 4 2 0 0
4 2 1 0 P R I N T C H R # ( 1 4 7 )
4 2 2 0 P R I N T S T A R T # ; " " ; P E R S #
4 2 3 0 P R I N T " W A S S E E N N E A R " P L A C E #
4 2 4 0 P R I N T " I F Y O U H A V E E V E R S E E N " P E R S #
4 2 5 0 P R I N T " Y O U W I L L K N O W T H E Y A R E " P A # ( D
4 2 6 0 P R I N T " A N D " P A # ( 2 )
4 2 7 0 P R I N T " T H I S O N E W A S A L S O R A T H E R " P A # ( 3 )
4 2 8 0 P R I N T " A N D D I D N ' T W A N T T O E N T E R "
4 2 8 5 P R I N T P L A C E #
4 2 9 0 P R I N T " W H E R E I T W A S " L A # < 1 ) " A N D " L A # ( 2 )
4 3 0 0 P R I N T " C E R T A I N L Y I T W A S N O P L A C E F O R "
4 3 1 0 P R I N T P E R S #
4 3 2 0 P R I N T " S O M E C R E A T U R E S E N J O Y P L A C E S T H A T A R E "
4 3 3 0 P R I N T L A # ( 3 ) " A N D " L A # ( 4 )
4 3 4 0 P R I N T " H O W E V E R , A N A D V E N T U R E H A S T O S T A R T "
4 3 5 0 P R I N T " S O M E W H E R E , S O S O O N T H E " P A # ( 5 )
4 3 6 0 P R I N T " F I G U R E O F " P E R S #
8 3
Page 96
Pro gr am mi n g f o r E d u ca ti o n on th e C o m m o d o r e 6 4
4 3 7 0 P R I N T " C O U L D B E S E E N A B O U T T O E N T E R "
4 3 8 0 P R I N T P L A C E * " W H I C H A P P E A R E D "
4 3 9 0 P R I N T " E V E N M O R E " L A * ( 5 ) " T H A N B E F O R E "
4 4 0 0 P R I N T S P R I N T
4 4 1 0 P R I N T " P R E S S S P A C E B A R T O G O A G A I N "
4 4 2 0 G E T 2 * s I F Z * = " " T H E N 4 4 2 0
4 9 9 0 R E T U R N
8 9 9 0 R E M
8 9 9 5 R E M * * * O P E N I N G S * * *
9 0 0 0 D A T A O N C E U P O N A T I M E , A L O N G T I M E A G O
9 0 1 0 D A T A I N L O N G A G E S P A S T , M A N Y Y E A R S A G O
9 0 2 0 D A T A A B O U T 2 0 0 Y E A R S A G O
9 0 2 5 R E M * * * P E O P L E * * *
9 0 3 0 D A T A A V E R Y O L D M A N , A Y O U N G G I R L
9 0 4 0 D A T A A S T R A N G E F I G U R E , A S H A M B L I N G V I S I O N
9 0 5 0 D A T A A B E A U T I F U L P R I N C E S S , A W I C K E D M A G I C I A N
9 0 6 0 D A T A A F I E R C E D R A G O N , A D A R K S T R A N G E R
9 0 7 0 D A T A A H A N D S O M E P R I N C E , A H O O D E D F I G U R E
9 0 8 0 D A T A A N E V I L W I T C H , A M Y S T E R I O U S V I S I T O R
9 0 9 0 D A T A A L O A T H S O M E M O N S T E R , A T E R R I F Y I N G S H A P E
9 1 0 0 D A T A A S L I M Y T O A D , A M A G I C S N A K E
9 1 1 0 D A T A A N E N O R M O U S W O R M , A R E P U L S I V E A N I M A L
9 1 2 0 D A T A A N E L E P H A N T , A M O U S E
9 1 3 0 R E M * * * P L A C E S * * *
9 1 4 0 D A T A A D A R K F O R E S T , A D E E P C A V E R N
9 1 5 0 D A T A A N O L D C A S T L E , A S H A D E D R A V I N E
9 1 6 0 D A T A A D E E P H O L E I N T H E G R O U N D , A H I D D E N M I N E
9 1 7 0 D A T A A D E S E R T I S L A N D , A T I N Y V I L L A G E
9 1 8 0 D A T A A H A U N T E D H O U S E , A N E E R I E M A N S I O N
9 1 9 0 D A T A A D A N G E R O U S M A R S H , A L A R G E C O U N T R Y H O U S E
9 2 0 0 D A T A A M Y S T I C S T O N E C I R C L E , A N A R A B I A N B A Z A A R
9 2 1 0 D A T A A S T E A M I N G J U N G L E , A D E S E R T E D T E M P L E
9 2 2 0 D A T A A L O S T C I T Y , A N E M P T Y T O W N
9 2 3 0 D A T A A B U R N I N G D E S E R T , A S T E E P - S I D E D C A N Y O N
R E A D Y .
C o m m e n t a r y
Lin es 1 0 4 0 t o 1 0 6 0 c o n t a i n t h e c o n t r o l m o d u l e . L i n e 1 0 6 0 l o o p s t h e p r o
g r a m b a c k t o t h e s t a r t f o r a new s t o r y .
Lin es 3 0 0 0 t o 39 9 0 c h o o s e w o r d s a t r a n d o m . L i n e 3 0 4 0 c h o o s e s a n i n t r o
d u c t i o n f r o m t h e f i r s t five p h r a s e s h e ld i n d a t a . L i n e 3 0 8 0 misse s t h e f i r s t
fiv e ite ms o f d a t a a n d c h o o s e s a c h a r a c t e r a t r a n d o m f r o m t h e n e x t 2 0
i te m s . L in e 31 2 0 mi sses t h e f i r s t 2 5 i te m s o f d a t a a n d c h o o s e s a p la c e a t
r a n d o m f r o m t h e l a s t 2 0 it e m s .
Lin es 40 0 0 t o 420 0 p r i n t t h e c h o s e n i n t r o d u c t i o n a n d r e q u e s t t h e i n p u t o f
s u it a b le ad je c ti v e s t o d e s c r i b e t h e c h a r a c t e r a n d t h e p l a c e .
8 4
Page 97
C h a p t e r s S t o r y T im e
L i n e 422 0 o n w a r d s p r i n t s a f r a m e w o r k o f t e x t i n w h i c h t h e a d je c ti v e s a r e
c o m b i n e d t o m a k e t h e f i r s t p a r a g r a p h o f a s t o r y .
Lin es 9000 o n w a r d s c o n t a i n t h e d a t a l in e s . T h e d a t a m a y b e c h a n g e d p r o
v id ed t h e n u m b e r o f i te m s i n e a c h s e c t i o n r e m a i n s t h e s a m e .
G o s h
A f t e r t h e l a s t p r o g r a m , t h e t im e h a s c o m e f o r a s e ri o u s p r o g r a m t o d e m o n
s t r a t e t h e p o t e n t i a l o f t h e c o m p u t e r f o r c r e a t i n g o r i g i n a l m a s t e r p i e c e s .
U n f o r t u n a t e l y , n o t h i n g o f s u c h h i g h c a l i b r e wa s a v a il a b l e !
W e c o u l d a t t e m p t t o di sg u is e t h i s p r o g r a m i n e d u c a t i o n a l l a n g u a g e , t o
m a k e it seem hi g h ly m o t i v a t i n g a n d w o n d e r f u l a t i n c r e a s i n g c o g n it iv e
skills. W h e n it c o m e s d o w n t o i t , h o w e v e r , i t ’ s r e a l ly j u s t a l o t o f f u n .
G o s h i s a c o m p u t e r i s e d v e r s i o n o f C o n s e q u e n c e s , a n d e x p e ct s i n p u t s o f
p e o p l e , s a yi ng s , p la c e s a n d r e s u l t s . I t c o n t a i n s s o m e i te m s i n d a t a , a n d
w h a t it l a c k s i n e d u c a t i o n a l t e r m s s h o u l d b e m a d e u p f o r b y t h e a m u s e m e n t
it c a us e s .
1 0 0 0 R E M B O S H - P A T H A L L , J A M ' 8 4
1 0 1 0 R E M
1 0 2 0 G O S U B
1 0 3 0
1 0 4 0
1 0 5 0
1 0 6 0
1 0 7 0
1 0 8 0
1 0 9 0
1 1 0 0
G O S U B
G O S U B
G O S U B
G O S U B
G O S U B
G O S U B
G O S U B
G O S U B 2 4 3 0
1 1 5 0
1 2 5 0
1 3 9 0
1 5 3 0
1 6 7 0
1 8 1 0
1 9 5 0
2 0 9 0
m
■ R E M
•
•
R E M
s
5
R E M P L A C E S
:
0
0 R E M H E R R E P L Y
0
0 R E M
0
s
I N I T I A L I S A T I O N
M A L E N A M E S
R E M F E M A L E N A M E S
R E M
H I S S P E E C H
T H E C O N S E Q U E N C E
R E M C O M B I N E A T R A N D t
R E M
P A U S E
1 1 1 0 G O T O 1 0 9 0
1 1 2 0 END
1 1 3 0 REM
1 1 4 0 RE M I N I T I A L I S A T I O N
1 1 5 0 D I M MT < 1 5 ) s D I M F T ( 1 5 )
1 1 6 0 D I M P T < 1 5 ) : D I M S T < 1 5 )
1 1 7 0 D I M R T < 1 5 ) : D I M C T ( 1 5 )
1 1 8 0 R E M W H I T E S C R E E N
1 1 9 0 P O K E 53 280, 1 : P O K E 53 281, 1
1 2 0 0 RE M BL UE TE XT
1 2 1 0 P R I N T C H R T ( 3 1 )
1 2 2 0 R E T U R N
8 5
Page 98
P ro gr am m in g f o r E d u ca ti o n on t h e C o m m o d o r e 6 4
1 2 3 0 R E M
1 2 4 0 R E M M A L E N A M E S
1 2 5 0 P R I N T M C S H I F T / C L . R / H O M E 1 "
1 2 6 0 X = 7 : Y = 5 : G O S U B 2 4 7 0
1 2 7 0 P R I N T " T Y P E I N F I V E B O Y ' S N A M E S "
1 2 8 0 F O R I = 1 T O 5
1 2 9 0 Y = 5 + I * 2 : G O S U B 2 4 7 0
1 3 0 0 G O S U B 2 5 2 0
1 3 1 0 M T ( I > = A T
1 3 2 0 N E X T I
1 3 3 0 F O R I = 6 T O 15
1 3 4 0 R E A D A T ; M T ( I ) = A T
1 3 5 0 N E X T I
1 3 6 0 R E T U R N
1 3 7 0 R E M
1 3 8 0 R E M F E M A L E N A M E S
1 3 9 0 P R I N T " "
1 4 0 0 Y = 5 ; G O S U B 2 4 7 0
1 4 1 0 P R I N T " T Y P E I N F I V E G I R L ' S N A M E S "
1 4 2 0 F O R I = 1 T O 5
1 4 3 0 Y = 5 + 1 * 2 : G O S U B 2 4 7 0
1 4 4 0 G O S U B 2 5 2 0
1 4 5 0 F T ( I ) = A T
1 4 6 0 N E X T I
1 4 7 0 F O R I « 6 T O 1 5
1 4 8 0 R E A D A T : F T ( I ) = A T -
1 4 9 0 N E X T I
1 5 0 0 R E T U R N
1 5 1 0 R E M
1 5 2 0 R E M P L A C E S
1 5 3 0 P R I N T " C S H I F T / C L R / H O M E I "
1 5 4 0 Y = 5 : G O S U B 2 4 7 0
1 5 5 0 P R I N T " T Y P E I N F I V E P L A C E S "
1 5 6 0 F O R I = 1 T O 5
1 5 7 0 Y = 5 + I * 2 : G O S U B 2 4 7 0
1 5 8 0 G O S U B 2 5 2 0
1 5 9 0 P T ( I ) = A T
1 6 0 0 N E X T I
1 6 1 0 F O R I = 6 T O 1 5
1 6 2 0 R E A D A T : P T ( I ) = A T
1 6 3 0 N E X T I
1 6 4 0 R E T U R N
1 6 5 0 R E M
1 6 6 0 R E M H I S S P E E C H
8 6
Page 99
C h a p te r 5 S t o r y Time
1 6 7 0 P R I N T " I ! S H I F T / C L R / H O M E I "
1 6 8 0 Y - 5 : G O S U B 2 4 7 0
1 6 9 0 P R I N T " T Y P E I N F I V E T H I N G S H E S A Y S "
1 7 0 0 F O R I = 1 T O 5
1 7 1 0 Y « 5 + I * 2 : G O S U B 2 4 7 0
1 7 2 0 G O S U B 2 5 2 0
1 7 3 0 S T ( I ) = A T
. 1 . 7 4 0 N E X T I
1 7 5 0 F O R I = 6 T O 15
1 7 6 0 R E A D A T : S T ( I ) = A T
1 7 7 0 N E X T I
1 7 8 0 R E T U R N
1 7 9 0 R E M
1 8 0 0 R E M H E R R E P L Y
1 8 1 0 P R I N T " C S H I F T / C L R / H O M E ] "
1 8 2 0 Y « 5 s G O S U B 2 4 7 0
1 8 3 0 P R I N T " T Y P E I N F I V E R E P L I E S M A D E "
1 8 4 0 F O R I = 1 T O 5
. 1 . 8 5 0 Y = 5 + 1 * 2 ; G O S U B 2 4 7 0
1 8 6 0 G O S U B 2 5 2 0
1 8 7 0 R T < I ) = A T
1 8 8 0 N E X T I
1 8 9 0 F O R I = 6 T O 1 5
1 9 0 0 R E A D A T ; R T ( I ) = A T
1 9 1 0 N E X T I
1 9 2 0 R E T U R N
1 9 3 0 R E M
1 9 4 0 R E M T H E C O N S E Q U E N C E
1 9 5 0 P R I N T " C S H I F T / C L R / H O M E 3 "
1 9 6 0 Y = 5 : G O S U B 2 4 7 0
1 9 7 0 P R I N T " T Y P E . I N F I V E C O N S E Q U E N C E S "
1 9 8 0 F O R I = 1 T O 5
1 9 9 0 Y = 5 + 1 * 2 : G O S U B 2 4 7 0
2 0 0 0 G O S U B 2 5 2 0
2 0 1 0 C T < I ) = A T
2 0 2 0 N E X T I
2 0 3 0 F O R I = 6 T O 1 5
2 0 4 0 R E A D A T : C T < I ) = A T
2 0 5 0 N E X T I
2 0 6 0 R E T U R N
2 0 7 0 R E M
2 0 8 0 R E M C O M B I N E A T R A N D O M
2 0 9 0 P R I N T " C S H I F T / C L R / H O M E 3 "
2 1 0 0 G O S U B 2 3 9 0
8 7
Page 100
P ro gr am m in g f o r E du ca ti o n on th e C o m m o d o r e 6 4
2 1 1 0 Y - • 7 s G O S U B 2 4 7 0
2 1 2 0 P R I N T M T C N )
2 1 3 0 Y = 8 ; G O S U B 2 4 7 0
2 1 4 0 P R I N T " M E T "
2 1 5 0 G O S U B 2 3 9 0
2 1 6 0 Y = * 9 : G O S U B 2 4 7 0
2 1 7 0 P R I N T F T ( N
2 1 8 0 G O S U B 2 3 9 0
2 1 9 0 Y ” 10 s G O S U B 2 4 7 0
2 2 0 0 P R I N T P T C N )
2 2 1 0 Y - 1 1 ; G O S U B 2 4 7 0
2 2 2 0 P R I N T " H E S A I D T O H E R : "
2 2 3 0 G O S U B 2 3 9 0
2 2 4 0 Y = 1 2 s G O S U B 2 4 7 0
2 2 5 0 P R I N T S T C N )
2 2 6 0 Y - 1 3 : G O S U B 2 4 7 0
2 2 7 0 P R I N T " S H E R E P L I E D : "
2 2 8 0 G O S U B 2 3 9 0
2 2 9 0 Y = = 14 : G O S U B 2 4 7 0
2 3 0 0 P R I N T E T C N )
2 3 1 0 Y • = = • 1 5 s G O S U B 2 4 7 0
2 3 2 0 P R I N T " A N D T H E C O N S E Q U E N C E W A S "
2 3 3 0 G O S U B 2 3 9 0
2 3 4 0 Y = 16 : G O S U B 2 4 7 0
2 3 5 0 P R I N T C T C N )
2 3 6 0 R E T U R N
2 3 7 0 R E M
2 3 8 0 R E M P R O D U C E R A N D O M N U M B E R
2 3 9 0 N = I N T C R M D C 1 ) * 1 5 ) + 1
2 4 0 0 R E T U R N
2 4 1 0 R E M
2 4 2 0 R E M P A U S E
2 4 3 0 F O R I = 1 T O 6 0 0 0 s N E X T I
2 4 4 0 R E T U R N
2 4 5 0 R E M
2 4 6 0 R E M P R I N T T A B R O U T I N E
2 4 7 0 P O K E 7 8 2 , X s P O K E 7 8 1 , Y
2 4 8 0 S Y S 6 5 5 2 0
2 4 9 0 R E T U R N
2 5 0 0 R E M
2 5 1 0 R E M C H E C K I N P U T F O R L E N G T H
2 5 2 0 G O S U B 2 4 7 0
2 5 3 0 P R I N T "
2 5 4 0 P R I N T "
8 8