Games for your msx

Page 1



GAMES FOR YOUR MSX By Graham Carter



GAMES FOR YOUR MSX By Graham Carter

Virgin Books


First published in Great Britain in 1985 by Virgin Books Ltd, 328 Kensal Road, London W lO 5X]. CopyrightŠ 1985 Interface/Virgin Books ISBN 0 86369 092 0 All rights reserved. No part of this book may be reproduced in any form or by any means without prior permission from the publisher. Printed and bound in Great Britain by Richard Clay (The Chaucer Press) Ltd, Suffolk. Production services by Book Production Consultants, Cambridge. Illustrations and artwork by Sue Walliker. Typeset by Keyline Graphics. Distributed by Arrow Books.


1

ll l l l l l l l ll :

GAMES FOR YOUR MSX

: l l l l lll lll ll

TO SUE AND STEVE POWELL


1

1 1 1 1 1 1 1 1 1 1 1:

GAMES FOR YOUR MSX

: 1 1 1 1 1 1 1 1 1 11 1

TIM HARTNELL-THE SERIES EDITOR

Tim Hartnell is the most widely-published computer author in the world. Founder of the National ZX Users' Club, and founding editor of ZX Computing magazine, Tim has been involved over the years in a wide variety of computer activities. His published works include The Personal Computer Guide (Virgin Books) and The Giant Book of Computer Games (Fontana). G�CARTER-THE AUTHOR

Graham Carter is a 20- year -old student in his final year of a B/TEC National Diploma course in Computer Studies. He is hoping to go to University to continue his studies in this field to degree level. He has b een working with computers for over four years. His other interests include music and photography. SUE WALLIKER-THE ILLUSTRATOR

Sue Walliker is a freelance illustrator. ACKNOWLEDGEMENTS

I would especially like to thank Andrew Ogilvie and

Carol Vincent for the original programs they supplied for use in this book, and for the help they gave me during its preparation. I would also like to thank Paul Precious, Simon Gould, Scott Vinc ent, Clive Gifford, Damon Pillinger and Danny Olesh for their program ideas.


1 11 1 1 1 11 11 1:

: 1 1 1 1 1 1 1 1 1 11

GAMES FOR YOUR MSX

Contents Editor'sIntroduction...

ll

Author'sIntroduction ProgramNotes

13

........................................

. . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .

.....................

15

MotorcycleStuntman .

17

Mastercode...............

22

Noughts& Crosses .. .

.

..................................

26 30

Bazooka! .................. . MusicProgram

34

Hangman. .

37

Breakball.... .................................................................. . DartsScorer ............................ .

44

. ................................................................... 47

Minefield................................... .

51

Calendar .................... .

55

·······················

57

Nim............................ .

63

21

.

.. ....

.................. ...... 66

Inferno ....................... . Allsorts. . . . . . ................... ................... ....................

70

NightFighter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StockMarket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

WaveForm .

................................

72 75

. ............... ..................................... 79

TelephoneBook .. .... GraphicsDemonstration

........................................

...........

.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

...................

81

........................... .................................... ...................

Graphics .. . . . . . . . ..... . . . . . . . . . . . . . . . . .

..

. . .. . . . . . . . . . . . . . . . .

...

82

.. . . . . . . . . . . . . . .

84

Time'sEye.................................... ................................... ................. . .

85

3DHat

87

Eye.

...............................................................................................

How toWriteBetterPrograms........ .......................... . . Glossary.. Bibliography

89 93

... 99 ............ 115



I

11111111111:

GAMES FOR YOUR MSX

: 1 1 1 1 1 1 1 1 1 111

Editor's Introduction Typing in a computer program is like opening an unknown door. You do not know until you actually open the door - or, in our case, run the program - what experience is waiting for you. Of course, the sign on the door has given you some indication, but nothing can equal first-hand experience. You do not know precisely what experiences are waiting for you in the great programs in this book. Of course, if the introduction says you're entering a space game, it's very likely the program won't play 'Guess My Number' when you get it up and running. But the listing rarely hints at the computer's game-playing strategy, ,or the screen display, or the fun that is waiting for you. This book has a number of unknown doors - doors leading into outer space and into the fiendish worlds of computer intelligence, wizards and Adventure. We've provided the doors . . . and the keys. All you have to do to turn the lock is type in the program, and run it. Whatever you find behind each door, I guarantee you won't be disappointed. Tim Hartnell January 1 985

ll



1

lllllllllll:

GAMES FOR YOUR MSX

: 1 1 1 1 1 1 1 1 1 1 11

Author's Introduction The programs in this book will work on any of the new range of MSX computers. Many of them use the ad足 vanced colour and graphics facilities offered by MSX BASIC to add interest and realism to the games. They are a mixture of arcade games, strategy games and gambling games. Contained within the listings are many REM state足 ments to explain the purpose of each block of code; by reading through the programs you may see routines which you will want to incorporate in your own pro 足 grams. In particular, the 'Mastercode' and 'Hangman' games contain useful string handling routines for validat足 ing user inputs. I have tried to make the most of the commands available on the MSX machines when writing these programs, and to demonstrate just how quickly the machine works. I hope you enjoy typing the programs in and playing them - once you have RUN a program a few times, don't hesitate to change it if you think it can be improved upon. Graham Carter January 1 985

13



1

1 1 1 1 1 1 11ttR

GAMES FOR YOUR MSX

: 1 1 1 1 1 1 1 1 1 11 1

Program Notes These programs should be typed in exactly as they appear in this book They have been specially printed so that the listings reproduced here are identical to the way they should look on your television screen. Some of the listings contain special graphics charac足 ters. There is a diagram in the manual supplied with your machine which shows where these graphics characters are on the keyboard, and which keys you must press to obtain them.

15



I

11111111111:

MOTOR CYCLE STUNr MAN

: 1 1 1 1 1 1 1 1 1 11 !

MOTORCYCLE STUNT MAN In this game, it's on with your crash helmet and away you go. Your object is to jump over a line of buses, which change in number randomly every game. Press any key to start, and watch your speed increase at the top of the screen. When you think that you have sufficient speed to clear the line of buses, release the bike's brakes by pressing the ' 1 ' key and see your bike fly over the ramps. This game uses accurate formulae for thrust and velocity. If you want the speed to increase at a lower rate, just change the loop in line 380 a number greater than 15 will make the speed increase more slowly, while a number less than 1 5 will make the speed increase more rapidly. -

17


I

1 11 1 1 1 1 1 1 1 1 :

: 1 11 1 1 1 1 1 1 11 1

G AMES F OR YOUR MSX

10

REM

*********************

20

REM

* Mo t o r c y c l e

Stunt man *

30

REM

* S·

V i n c en t

and

*

40

REM

*G .

C ar t e r ,

1 98 4

*

*********************

50

REM

60

SCREEN

70

KE Y

80

COLOR

1 4, 1 , 1

90

W I DT H

38

0

OFF

1 00

REM

1 10 1 20

REM * * * * * * * * * * * * * * P R I N T T A B < 1 0 ) ; " M o t orc y c l e

* I n s t r u c t i on s * Stunt ma

n" ,..., 11

1 40 nd

LOCATE

1 50

P R I NT

t h at 1 60 f

0 , 4 : PR I NT " P r e s s y ou r s p eed "

watc h

" i n c rease .

an y

ke y

W h en

y ou

t h i nk

c l ear

the

l i ne

a

y ou r " PR I NT

" b i ke

wi l l

o

b us e s , "

1 70 se

PR I NT

" p ress

the

'1'

ke y

to

re l e a

the"

1 80

P R I NT

1 90

P R I N T : PR I NT

" b i ke's

b r akes . "

" Pr e s s

an y

ke y

to

t i n ue . " 200

I< $ = I N�< E Y $

210

IF

220

SCREEN

K $= " "

THEN

230

COLOR

9 , 1 , 1

240

GOSUB

1 1 10

250

X =RND < -T I ME >

200

1 : W I D TH

30

260

B U S = R N D < 1 > : BU S= I N T < B U S * 1 7 ) +2

270

SCREEN

280

WID T H

30 760

290

GOSUB

300

REM

310

M=0

320

LOCATE

*M

1

is

s p eed *

1 1 , 1 : PR I NT

18

"0

M .P .H . "

c on


I

11111111111:

: llllllllllll

MOTOR CY CLE STUNTMAN

330

IF

340

REM

INK E Y $ = " " *+

THEN

350

REM

*****************************

sp eed

330

unt i l

1

k ey

360

K $ =INKE Y $

3 70

R = R N D < 1 > : M = M + 5 +INT < R * 6>

380

FOR

390

IF

X= 1

TO

1 5 : NE X T

M > 1 70 THEN

400

L O C ATE

410

IF

X

M = 1 70

1 1 , 1 : PR INT

K$< > " 1 "

THE N

M ; "

420

MP=M Z = R N D < 1 > : Z = I NT < Z * 1 1 > M = M + < Z-5 ) - 4 0

450 460

M . P.H "

360

430 440

p re s s e d *

J = 9 + INTCM / 7 . 5 +.5 ) M< - 5 THE N J = 6

IF

4 70

REM

* P l ot

480

REM

**********************

490

FOR

N= 1

500

PUT

SPRITE

510

NE XT

520 530

PUT PUT

c yc l e

TO

on

s c reen *

4 0 , < < B * N> + 7 , 7 4 > , 1 3 , 0

N SP RITE S P R ITE

540

IF

550

FOR

N = 7 TO SPRITE

0 , < 47 , 67 ) , 1 3 , 0 0 , ( 5 5 , 60 ) , 1 3,0

J=6 THEN

J

580

560

PUT

5 70

NE X T N

0 , < < N * 8> + 7 , 60 ) , 1 3 , 0

580

PUT

SPRITE

0 , < ( ( J + 1 > * 8> +7 , 6 7 ) , 1 3 ,

PUT

SPHITE

0 , < < ( .J + 2 ) * 8> + 7 , 7 4 ) , 1 3 ,

0 590 0 600

IF J < > BU S + 7 T H E N 8 9 0

610

REM

* P l ot

620

REM

*********************

630

FOR

N = J + 3 TO

640

PUT

S P R ITE

6 �i 0

NE X T N

660

FOR

6 70

L O CATE

X=1

680

CLS

690

L O C ATE

TO

b i ke ' s

l an d i n g *

31

0 , < <N * B> +7,74 ) , 1 3 , 0 1 00 0 : NE X T

3 1 , 1 0 : P RINT 1 1 , 4 : PR INT

19

"

X "

" Great

ju m p ! "


i

11111111111: 700

LOCATE

US ; " 710 ; ,,

2.,6 : PR I NT

b uses •

F' H •

720

FOR

730

GOTO

" Y ou

c l eared

" ;B

at "

L OCA T E

M

: 11 11 11 11 1 111

X GAMES FOR YOUR MS

6 ., 8 : PR I NT

"a

s p eed

of

" ;MP

,,

X= l

TO

2 0 0 0 : NE X T

X

260

740

REM

* Se t

750

R EM

***************

up

sc reen *

760

CLS

770

LOCATE

0 ., 1 1 : PR I NT

S T R I NG $ ( 29 ., " r"' " )

780

LOCATE

5 ., 1 0 : P R I NT

" ..···

: PR I NT

..

-·-

·

" : LOCATE

6 .,9

"

790

FOR

800

LOCATE

N= 7

810

NE X T

820

LOCATE

TO

BUS+6

N ., 1 0 : P R I NT

"A "

N " \ " : LOCATE

BUS + 8 ., 1 0 : P R I NT " . .-. "

BUS + 7 ., 9 : P R I NT 830

REM

* Put

840

R EM

****************************

b ike

on

l ef t

8 50

PUT

SPR I TE

860

R E TURN

870

REM

*D i dn ' t

R EM

****************

890

F OR

F= 1

900

L OCAT E

2 , 1 8 : PR I NT 9 1 0 NE X T F 920

FOR

930

CLS

ma k e

it*

10

.] + 2 ., 1 0 : PR I NT "

X=1

"

" : LOCATE

TO

1 00 0 : NE X T

X

940

REM

* C l ear

Spr i t e

PUT

SPR I T E

0, < 0 ., 20 8 > ,0,0

960

IF REM

980 st

J < BUS + 7 * Too

LOCATE and

THEN

sc r e e n *

1 04 0

f ast *

3 ., 4 : PR I NT

" Y ou

wen t

4 ., 6 : F'R I NT

" m i ssed

t oo

fa

you "

990

LOCATE

i ng

ramp . "

1 00 0

.]+

"

950 9 70

s c reen *

0 ., < 7 ., 78 > ., 1 3 ., 0

880

TO

of

LOCATE

7 ., 8 : PR I NT

p eed . "

20

" Try

a

the

l an d

s l ower

s


I

11111111111: 1010

F O R- X = 1

1 020

GOTO

*Too

1 030

R EM

LOCATE

1 050

and

TO

1 50 0 : NE X T

X

260

1 040 l ow

: l l l l ll l l l ll l

MOTOR CY CLE STUNT MAN

s l ow *

1 , 4 : F'R I NT 1 ':!fOLlr 1

LOCATE

11b i k e

3 , 8 : F'R I NT

11 T r y

1 50 0 : NE X T

1 07 0 1 08 0

F OR X = 1 T O G O TO 2 6 0

1 09 0

REM

* De fi n e

1 1 00

R EM

*****************

1 1 10

R $ = . . .. N= 1

TO

t oo

wen t

5 , 6 : PR I NT

e - o f f . .. 1 0 6 0 L OC A T E n ew b i k e . . .

. . Y ou

is

a

ag a i n

wr i t on

X

g rap h i c s *

8

1 1 20

FOR

1 1 30

READ

1 1 40

R $ = R $ +C H R $ < VA L < D $+ "/." ) )

[1$ N

1 1 50

NE X T

1 1 60

S F' R I TE $ < 0 > = R $

1 1 70

R E T UR N

1 1 80

DAT A

1 1 90

END

32 , 96 , 80 , 1 1 0 , 50 , 8 2 , 1 8 1 , 66

21

s

a


I

lllllllllll:

GAMES FOR YOUR MSX

: l lll l l l l l l l l

MASTER CODE This is the game where yo-:.1 must guess a sec ret code which has been generated by the computer. Full instructions are included in the program. There are some useful validation routines in lines 620-820 which you may wish to expe riment with in the programs you write yourself.

10 REM **Mastercode Program** 20 REM *G . P . Carter, 1984* 30 REM *Instructions* 40 KEY OFF:SCREEN 0:WIDTH 39 �i0 CLS 60 70

PRINT TAB ( 1 5 ) ; "Mastercode" PRINT TAB ( 1 5 ) ; "******* ** * 11

80 PRINT:PRINT 90 PRINT "In this game, the computer thinks of a" 100 PRINT ••four digit number-· which yo 11 u must The code is made u 110 PRINT "guess. p from the11 120 PRINT 11digits 0-9., and each digit is used • ' 130 140

PF:INT PRINT

110nce only."

1�i0 PRINT "Enter-· your' guess by typing in a four" 160 PRIN'T "digit number-· with no space s in between" 170 PRINT "the digits; then press 'F:E TURN 180 PRINT"The computer will then give I

11

you clues��

22


I

1 1 1 1 1 1 1 1 1 1 1: 1 90

PR I NT

was

to

''a s

to

h ow

c l ose

200

PR I NT

P R I N T : PR I N T : P R I N T

g uess

" sec ret

c od e . " " Press

;R E T UR N'

c o n t i n ue . "

220

I NP U T

230

CLS

240

PR I NT

250

PR I NT

the 260 j.n

y ou r

the"

210 to

: 1 1 1 1 1 1 1 11 1 1 1

MASTER CODE

A$

" The

P R I NT t he

270

WH I T E

sc ore

rep r e sen t s

d igits

wh i c h

were

n u mb er " " of

used

c od e "

PR I NT

" b ut

were

in

the

wrong

p os i

" T he

BLACK

sc ore

r e p r-·esen t s

d ig its

wh i c h

were

t i on s . " 280

PR I NT

290

P R I NT

the

n umber "

300 PR I NT " of e t a n d were " 31 0 320

F' R I N T

PR I NT

i l l

t ell

340

PR I NT

to

3:i0 360 to

the

c o r r· e c t

" At

the

end,

p os i t i on . "

PR I N T

330

d

" in

c or r e

the

c om p u t e r

w

'.:iou " " h ow

man y

g uesses

"the

an s w e r . "

y ou

neede

f i nd " PR I NT

P R I N T : PR I NT : F'F� I N T

" Pr e s s

'R E T U R N'

c o n t i n ue . "

370

I N PU T

380

REM

A$

390

REM * * * * * * * * * * * * * * * * * * * *

* Creat e

sec ret

c od e *

400

DIM A <4>

410

FOR

420

B=RND

4 30

X= R N D ( 1 ) : X= I NT < 9 * X ) + 1

E = l.

T O 4· < - T I ME >

440

REM

* Chec k

4 50

REM

* * ** * * * * * * * * * * * * * * * * * * * * * * * *

460

FOR

J= l

470

IF

TO

X=A(J )

dig its E THEN

400

23

are

d i f f e re n t *


I

1 1 1 1 1 1 1 1 1 1 1: NE X T

A<E > = X

500

NE X T G=0

: 1 1 1 1 1 1 11 1 11 1

.]

480 4 90 �i 1 0

GAMES FOR YOUR MSX

E

52 0

REM

*G

530

REM

* S t art

540 550

REM CLS

************

5 60

P R I NT

c ou n t s

g ue s se s *

g a me *

" G u e s s : " ; T A B< 1 0 > ; . . Wh i t e : " ; T

A B<20 > ; " B l ac k : .. 570 58 0 re

. . _____ ., ; T A B < 1 0 ) ;

PR I NT

( 20 ) ;

.. _____ ..

LOCATE

l l _____

1 , 2 1 : P R I NT

11 E n t e r

1 , 2 2 : P R I NT

11 8$

a

.. ; T AB

4

f i gu

dig its

o n ly

g u e s s . ..

�590

LOCATE

11

600

LOCATE

1 ,2 2 : I NP U T

610

LOCATE

1 , 2 0 : PR I NT

620

IF

11

11 630

LEN ( B$ ) =4

LOCATE P l ease

THEN

650 PR I NT 11 4

1 , 20 : en t er' a g a i n . . .

64 0

GOTO

650

REM

* Chec k

�i90

660

REM

************************

670

Z =V AL<B$ )

680

IF

690

LOCATE

Z < >0

0-9

on l y ;

i nput

THE N

is

710

1 ,2 0 : P R I N T en t e r

n um e r i c *

11 E n t r y

must

be

ag a i n . "

700

GOTO

710

LOCATE

59 0

720

REM

* Ar e

730

REM

*****************************

740

FOR

8= 1

750

FOR

T=S+ l

7 60

IF

1 , 22 : PR I NT 11 n os TO

in

g uess

d i f f e r en t ? *

4 TO

4

M I D$ ( B $ , S , 1 > = M I D $(B$ , T , 1 >

F= 1 770

..

NE X T

T

24

THEN


I

1 1 1 1 1 1 1 1 1 1 1: 780

NEXT

790

IF

800

LOCATE

t

be

: 1 1 1 1 11 1 1 1 1 11

MASTERCOD E

S

F=0

THE N

830

1 .,20 : F'R I NT

11A l l

di g i t s

mus

d i f f e ren t . ��

810

F=0

820

GOTO

830

L OC A T E

840

REM

* Se a r c h

850

REM

**************************

860

R=0 : C=0 : G=G+l

580 1 ,G + 2 :

870

FOR

880

X= A S C(B$ ) - 4 8

890

IF

900

FOR

D= 1

X=A < D > .J= 1

910

IF

920

NEXT

930

TO

P R I NT

f or

THEN

C=C+ 1

4 T HE N

.]

& WH I T E *

4

TO

X= A(J )

B$

BLACK

R=R+l

B $ =M I D$(8$,2 , < L E N(B$ ) ) ) D

940

N EXT

950

IF

C=4

960 REM

THE N

*If

al l

1 04 0 4

are

b l ac k

go

to

end

* 97 0

REM

*****************************

* b l ac k

& w h i te s c o r e s *

980

REM

* Pr i n t

990

R EM

****************************

1 0 00

LOCATE

1 0.,G + 1 : P R I NT

1010

LOCATE

2 0., G + 1 : P RINT

1 030

GOTO

1020 F'R I N·r

580

1 04 0 L O C A T E t h e c ode i n 1 050 END

1

11

.,

G+:i: P F � I I\IT

; G ; 11

g oe s

25

..

11

R-C

C

1 1 You

g uessed


I

11111111111:

GAMES F OR YOUR MSX

: 1 1 1 1 1 1 1 1 1 1 1!

NOUGHTS & CROSSES This game, by Andrew Ogilvie, allows two people to play 'Noughts and Crosses' on the television screen. The computer gives a display of the board and will tell you when either player has won. Full instructions for playing the game are included in the program.

26


I

1 11 11 1 1 1 1 1 1 : 10 20

REM REM

: 1 1 1 1 1 1 1 1 1 11 1

NOUGHTS & CROSSES

**************** * ******** * N o u g h t s. & C r o s s e s *

30

REM

*

Da t e :

40

REM

*

A n d rew

50

REM

*************************

60

REM REM

*

80

DIM

90

REM

A <9 > , A $ ( 9) * P ro g r a m S t a r t

1 10 120 1 30 140

KE Y

Arra y s

CLS W I DT H

39

A=0 REM

*

FOR

I=l

Z er o i se TO

Arra y s

170

A< I > = 0 : A $ ( I ) = " NE X T

"

I

1 90

REM

200

LOCATE

1 6,0 : P R I N T

210

LOCATE

2 ., 2 : P R I N T

and

240 s i de

*

Pr i n t

Crosses , LOCATE

tel l

y ou

I n s t ruc t i on s

f or

" *

*

OXO

" Th i s

*"

is

b oa r d LOCATE the

2 , 4 : P R I NT is

" of

y ou

2 , 5 : P R I NT

" as

on

has

won .

the

LOCATE

3 ., 7 : P R I NT

" l l2l3 "

LOCATE

3 , 8 : PR I NT

" ----- " " 4l5l6 " " ----- "

270

LOCATE

3 ., 9 : P R I NT

280

LOCATE

3 , 1 0 : PR I N T 3 ., 11 : P R I NT

290

LOCATE

300

L O C A T E 10 ., 1 l : P R I N T

l ef t

" 7l8l9 " " Just

en t er

th

1 -9 . "

310

L O C A T E 11 ., 10 : PR I N T

320

C0= 0

11

wi l l

sc reen . "

250

p os i t i on

I

n um b e r e d "

260

e

Noug h t s

t wo "

2 , 3 : P R I NT " p l a y er s . wh en e i t h er "

LOCATE

of

*

9

180

The

*

C O L O R 15 ., 4 ., 4

15 0

230

*

OFF

160

220

* *

Og i l v i e

70

1 00

D i me n s i on

07 / 1 1 / 84 J .

3 3 0 L O C A T E 1.,2 0 : PR I NT

27

" X

g oes

" Pr e s s

f i rs t .

< RETURN >


I

11111111111: to

: 1 1 1 1 1 1 11 1 11 1

GAMES FOR YOUR MSX

c on t i n u e . " ;

34 0

I NP U T

350

PL$= " X " : V 1 = 1 : W2=3

A$ : C L S

360

LOCATE

37 0

REM

*

1 6 , 0 : F'R I NT E n t er

380

LOCATE

390

P R I NT

go

"*

OXO

* "

*

2 ., 2 S P C < 1 5)

400

LOCATE

410

P R I NT

2 ., 2

420

A $ = I NKE Y $ : I F

" P l a y er

" ; PL$ ; " A $ = " ''

y ou r

THEN

go :

" ;

420

4 3 0 A = VA L<A$ ) 440 er

IF

A=0

1 -9

THEN

LOCATE

o n l y . " : GO T D

450

IF

460

C O = C O +l

A< l

OR

470

REM

A >9

* Ch e c k

to

2 ., 4 : PR I NT

" En t

37 0 A: I : GO T O

THEN see

if

p l ac e

440 t a k en

* 480

IF

A <A > < >0

" Can ' t

go *

THEN

LOCATE

t h ere! " : GO T O

490

REM

500

A:t<A > =P L $

Pr i n t

510

A<A > = V l

520

LOCATE

; •• : .. ; A$ ( 3)

g ame

2 , 4 : P R I NT

370

b oard

*

28.,8 : F'R I NT

A$ ( 1 ) ; " : " ; A$ ( 2) "------��

530

LOCATE

28 ., 9 : PR I NT

540

LOCATE

28., 1 0 : PR I NT

A �: <4 > ; " : " ; A $ ( 5

) ; " : " ; A$ ( 6 > 550

LOCATE

28., 1 1 : PR I N T

.. ________ ..

560

LOCATE

2 8 ., 1 2 : P R I N T

A $ ( 7 ) ; " l " ; A$ ( 8

) ; " : " ; A $< 9) 570

REM

580

IF

A< 1 > + A(2)+A<3 > = W 2

*

Check

f or

win

* THEN

720

590

IF

A<4 > + A <5 > +A<6 > = W 2 -T H E N

720

600

IF

A<7 > + A <8 > +A<9 > = W 2

THEN

720

610

IF

A < 1 > + A< 4 > +A<7 > = W 2

THEN

720

62� I F

A <2 > +A<5 > +A<B > = W 2

THEN

720

630

A<3 > + A <6 > + A <9 > = W 2

THEN

720

IF

640

IF

A< 1 > + A ( 5 ) +A<9 > = W 2

THEN

720

650

IF

A <3 > + A ( 5 ) + A<7 > =W 2

THEN

720

28


I

NOUGHTS & CROSSES

1 1 1 1 1 1 1 1 1 1 1: 660

IF

670

REM

*

No

680

REM

*

Swap

690

IF

OTO

710

C0=9

THEN

Vl=l

800

win n in g

l in e

p l a yers

THEN

: 11 11 1 1 1 1 1 1 11 *

*

V 1 =5 : PL $= "0" : W 2 = 1 5 : G

700

V 1 = 1 : PL $ = " X " : W 2 = 3

710

GO T O

720

REM

730

LOCATE

740

P R I NT

7 50

LOCATE

760

I NP U T

770

IF

780

P R I NT

370 *

P l a y er

h as

won

*

2 , 14 1 1P l a y er

" ; PL$ ; " h as

won! "

2 ., 1 6 11An o t h er

g o <Y >

L E F T $ <A$ , 1 > = " Y 1 1 ..

11 ; A$

THEN

**************

90

Bye

-

Bye

*

*************" 790

GO T O

800

REM

840 *

810

The

LOCATE d r a w! . .

820

P R I NT

830

GOT O

840

END

g a me

is

2 ., 1 2 : PR I NT

750

29

a

d raw

"T h e

*

g ame

is

a


1

11111111111 :

GAME S FOR YOUR MSX

: 11111111111!

BAZOOKA! You lie in wait behind a pile of sandbags, with your anti­ tank gun loaded and ready for use. An enemy tank appears on the horizon, but there is a large wall in your line of fire. You raise the turret of your gun and fire! The shell arcs over the wall and penetrates the tank' s armour, turning it into a mass of mangled metal. There is little time for praise, however, as another tank comes into VleW. In this game you must judge the angle and velocity for the shell to clear the wall and hit the tank. The shell's course is plotted according to accurate formulae as it hurtles towards the tank. •

30


I

11111111111 : 10 20

REM REM

************ * B azoo k a ! *

30

REM REM

* �������� * * G . Cart er , *

40 50

REM

* S·

60

REM

*

70

REM

************

80

KE Y

OFF

90

COLOR

1 00

:111111111111

BAZOOKA!

V i n c en t * 1 98 3 / 84

*

2 , 15 , 15

CLS

1 10

REM

* I n i t i a l i se

1 20

REM

**********************

v ar i ab l e s *

1 30

B = R ND <-T I ME >

1.4 0

TR Y =0

1 50 1 60

A $ = S T R I N G $ (3 2 ., .. 1 1 ) W A L L = R ND< l > : WA L L = I N T < 1 8 * WA L L > +5

1 70

HGT = RND< l > : HG T = I NT <6 * HGT > + 3

1 80

T N K = W A L L + 2 + I N T <R ND< 1 > * <2 7 - W AL L ) )

1 90

REM

* Pr i n t

200

REM

************

tank *

210

LOCATE

T N K , 1 9 : P R I NT ��-- . .. : LO C A T E 1 1 / ++ \ 1 1 : L O C A T E T N K , 2 1 : P R I

T N K , 20 : F'R I N T NT 1 1 \00/ 1 1 220

REM

* Pr i n t

230

REM

************

240

FOR

A= 1

250

LOCATE

260

NEXT

270

REM

280 R E M 290 300

HGT

WALL , 22-A : PR I NT

1 1 :A,C1 1

A * Pr i nt

B a zo o k a *

***************

LOCATE

1 : F'R I N T

TO

wa l l *

1 , 2 0 : P R I NT

. . _,, : L O C A T E

0 ,2

" . ) ..

LOCATE

3 , 8 : PR I NT

" En t er

ang l e

of

p r o j e c t i on . . 31 0

I NP U T

320

IF

330

LOCATE

340

ANG

A NG < 1

OR

ANG >90

LOCATE

1 , 2 0 : P R I NT " 0 , 8 : PR I NT A$

350

LOCATE

0 , 9 : PR I NT

360

REM

* De c i d e

on

THEN 3 1 0 11

A$

shape

31

of

b ar r e l *


I

11111111111:

:11111111111 1

MSX GAMES FOR YOUR

***************************

370

REM

380

IF

ANG > 1 0

T HE N

390

IF

A NG >33

T HEN

X =3

400

IF

ANG > 5 5

T HE N

X =4

410

IF

A NG > 7 7

T HEN

X =5

420

REM

* Pr i n t

**************

X =2

b ar r e l *

430

REM

440

LOCATE

1 , 20

4 50

IF

X=l

T HE N

��-��

P R INT

ELSE

IF

X=

THEN P R INT ��-•" E L S E I F X =3 T H EN P R 11 INT .. .. .. E L S E P R INT .. . 4 6 0 L O C A T E 6 , 8 : P R INT .. E n t er s h e l l v e l

2

o c i t y .. VEL

4 70

INPU T

480

IF

4 90

TR Y =TR Y + 1

4 6 0.

T HEN

VEL < 1 0

500

V E L = VE L / 4

510

LOCATE

520 530

REM

0 , 8 : P R INT A $ * Ca l c u l a t e p a s .

REM

***************************

54 0

ANG = ANG * 3 . 1 4 1 59 / 1 80

550

H R = CO S <ANG > * V E L

56 0

R E V = SIN<ANG > * V E L

570

V=0 : W=0 : T=0

580

Y = 2 +<HR * T >

590

X = 1 8 - INT

600

IF

X <0

T HE N

LOCATE

610

IF

X <0

T HE N

690

of

m i ss i l e *

<RE V * T - 4 . 9 * <T * T > > W , V : PR INT

11

6 2 0 IF Y >3 1 T HE N 8 0 0 630 IF X > 2 1 T HE N X = 2 1 6 4 0 R E M * Pr i n t m i ss i l e * ***************

650

REM

660

LOCATE

670

LOCATE

680

V = X : W= Y

690

T=T+ . 2

700

REM

7 1 0 REM 720

IF

Y , X : PRINT W , V : PR I NT

* Ca l c .

w h ere

" * 11 11 1 1

m i ss i l e

l an d s *

*************************** X >20

T HE N

750

32

11


I

11111111111 : 730

IF

Y >= W A L L - 1

=2 1 -HGT

THEN

740

GOTO

750

LOCATE

760

IF

770 he

AND

Y < = W A L L+ l

AND

X>

750

�i80 W,V : P R I NT

X > 20

LOCATE

THEN

"

"

790

5,8 : P R I N T

" Oops !

y ou

hit

THEN

890

t

wa l l "

780

GOTO

790

IF

800

LOCATE

820

Y >= T N K

AND

Y< = T N K + 4 " 11

W,V : PR I N T

810

LOCATE

9 ., 8 : P R I N T

820

LOCATE

4 ., 1 0 : PR I N T

try 840

ag a i n " Z $ = I N KEY$: I F Z $= 1 1 1 1 T H E N

850

LOC A T E

1 ., 1 9 : F'R I NT

860

LOC A T E

0,8 : P R I N T

8 30

R I NT 870

:111111111111

BAZOOKA!

1 1 You m i ssed i t " 1 1 H i t an y k e y t o

830 "

"

A$ : LO C A T E

0., 1 0 : P

A$ LOC A TE 0 ,9 : P RINT

880 GOTO

A$

290

890

FOR

9 012t

LO C A T E T N I<+l. ,20 :PH I N T

N= 1

TO

T N K + l ,20 : P R I NT 910

NE X T

920

CL.S

N

15

.,

.��

930 LOC A T E 4,8 : F'R INT a t t o ok y OU1 1 940

LOC A TE

9�i0

IF

" Great

1 2 , 1 0:P R I N T

I NT

T R Y= 1 " g oes. 1 1

96121

EN D

T HEN

PR I NT

33

.. .

11 : LO C A TE

sh o t

T RY; 1 1 90 . "

-

th

EL S E

PR


I

lllllllllll:

GAMES FOR YO UR MSX

: l lllllll l l l1

MUSIC PROGRAM One of the best features of MSX machines is the music processor which allows you to play tunes in three-part . harmony. This program demonstrates just how good the sound facilities are. As it is very repetitive to type in this listing, it is helpful to program one of the keys at the top of the keyboard to cut down on the amount of typing when entering this program. To do this, type: KEY l , "PLAY "+CHR$(34). Then, each time you press key F l , the start of a line of code will appear on the screen for you to complete. If you use the 'AUTO' command as well, the computer will provide line numbers automatically.

34


I

1 1 1 1 1 1 1 1 11 1 : 1 0 REM 20 REM 30 40 50

: 1 1 1 1 1 1 1 1 11]

MUSIC PROGRAM

Jo-Jo J'Mu s i c P r og r a m Jo

REM REM REM

60 70 80

Jo�� � � �� � ���� ��Jo J'Gr a h a m C a r t erJo Jo�Jo P L A Y 11 t 1 2 0 11 , 11 t 1 20 11 , 11 t 1 20 11 P L A Y 11V 1 1Zlo5 1 4 11 , 11V8o4 1 4 11 , 11V8 o2 1 4 11 P L A Y 11 e - o4 b - g 11 , 11 g e - o3b - 11 , 11 e - 1 2b - 11

9 0 P L A Y 11 f # o5 1 2 d 11 , . . o4 d o5 1 8 c o4 1 8b - a a - 11 , 110 1 1 4 b - o4 1 8 a - g g - f 11 1 00

PLAY

1 10

PLA Y

1 20

PLA Y

110�i l 4 11 , 110 4 1 4 11 , 1102 1 4 11 11 e - o4 b - g 11 , 11 g e--·o3b - 11 , . . e - 1 2b - 11 11 f # o5 1 2 d 11 , 1104 d o5 1 8c o4 1 8b - a a ­

. . , . . o 1 1 4b - o4 1 Ba - g g - f 11 1 3 0 P L A Y 11 l 4 c o4 b - o5 d 11 , . . 1 4 g l 2 d 11 , . . D2 1 4 e - b - o3 g . . 1 4 0 P L A Y 11Co4 b - g 11 , . . 1 4 e - d d - " , .. o2 e - b - o3 e- ..

1 �i 0

P L A Y.

1 60

PLAY

1 70

PLA Y

11 1 2 e - . 11 " o3 b --g a - . . , 11 o2 1 2 a - . 11 ., 11 g 11 , 11 o4 c c # d 11 , 11 b - 11 11 l 4 b -·o5 c d 11 , 11 e - 1 2 e - . . , 1'l4go3 1 2

PLA Y

. . f e - e .. , 11 1 4 b - b - a " , " 1 4 o2 g o3 g o2

PLA Y 1 4o3d - e 11

1104 a - . o5 1 8c o4 a - g 11 , 11 R 4 c d - 11 , 11 f

b - 11 1 80 g - 11 1 90

11 1 2 f . . . , .. r 4 c c 11 , . . o2 f o3d e - 11 11 l 4 b - ao�i l 8 d o4 b - a 11 , 11 r 4 d e - 11 , 110 2 1 0 PLA Y 11 2 1 2 g o3 1 4 f # 2 2 0 P L A Y 11 1 2 g . . . , .. g d - c 11 , 11 o2 1 4 g o3 f e 11 200

PLAY

230

PLAY

240

PLAY

1 2 f 11

. . t 1 1!:i 11 , . . t 1 1 5 " , 11 t 1 1 5 11 11 l 8o5 c d l 2 f 11 , " a --o4 d c " , 11 o2 a - o3

11 t 2 5 5 " , " t 2 5 !:i 11 11 t 1 1 5 11 , . . t 1 1 5 " 260 2 7 0 P L A Y 1104 1 8 f a - o5 1 2 c 2 1 4 b -·o3 f a - 11 2 8 0 P L A Y 11 t 2 5 5 . . , .. t 2 5 5 11 2 50

PLA Y PLAY

290

P L.A Y

, 11 t 2 5 5 11 , . . t ll. 5 11 .. , 1104 e - a - f # 11 , 110

, .. t 2 55 11 11 t 1 20 11 , 11 t 1 2 0 11 , 11 t l. 2 1Z111

35


I

11111111111 :

GAMES FOR YO UR MSX

: 111111111111

1114 11, 1114 11, 1114 11 PL A Y 11e-o4b-g 11," ge"·"o3b- 11 ., 11e-12b PL A Y "f#o512d'' , 11o4do�518co418b-aa­ " ., "o114b-·o418a-gg-·f 11 330 PL A Y 1114e-o4b-g 11.,11l4gfe-", 11o214e­ o3gd·-11 300 310 320

PLA Y

-· "

340 P L A Y "fo512c 11,"e--· lBb-a-gf", 1102a-·o 312e-" 350 P L A Y "14c:o4ge","l4edo3b-","o214co 3ec" 360 PLA Y 11cb-o�ic 11, 1103go4d-e 11,"o2b-o3g e

n

370 PL A Y 11o412a ", 11o3ao4e-d 11, 11o212f 11 380 P L A Y "a-· .. " ,"a·-e-d" ,"oll2vl0b- ." 390 PL A Y "18ga-l4b-b--", 11l8e-dl4d-d- 11, "o214v8e-l8b-o3e-fg" 400 PL A Y "o�512c ." , 11Cgf 11, 11l2a- . 11 4l.0 PL A Y 11l8de-·l4ff 11, 11fgg 11, 1' 14gl8o3dg •

ab" 420 431Zt f • 11

PL A Y 11l2g •11, 11D5ed-c 11,"o414cfe 11 PL A Y "l4e-co4a- 1',"o4a-a-e-", 110312

440 PL A Y "fo5co4d", "ce-o3a-'', 1102l4b--o 3fo2f-" 450 PL A Y "v1111e-", ••v7o418e-fgb-o514c e- '1 , 11e-b-b ·-e·-·" 460 END

36


111111111111:

HANGMAN

:11111111111l

HANGMAN This program, written by Carol Vincent, is a version of the popular word game. All the words are stored in DATA statements at the end of the program. You may add some words of your own by entering them as more DATA, and changing the '22' in line 300 to the number of words you intend using. Full instructions are included in the program. This game uses string handling functions to good effect, and also demonstrates some ways of checking whether a user input is valid or not. You may like to use similar routines in your own programs. It is very important that the words in the DATA statements consist entirely of capital letters - enter the words exactly as they appear in this listing. Also, before playing the game, please ensure that the 'CAPS LOCK' key is pressed as this program will not accept any inputs containing lower -case letters. Please note that none of the words in this program contain the same letter twice. If you add words of your own, please ensure' that they only contain a particular letter once.

· ·t;· . . ....l \

..

37

··'--'• ....

.�

.


I

11111111111 :

: 111111111111

GAMES FOR YOUR MSX

10

REM

*****************************

20

REM

*

30 40

REM REM

* *

F e b ru a r y V i n c en t

Han g man

*

�������

*

1 98 4

b�

*

Grah am

C a r t er

50

REM

Carol

60

REM

*****************************

70 *

REM

* NB .

80 *

REM

******************************

90

I<EY O F F

1 00

W I DTH

1 10

CLS

Mak e

sure

1 20

LOCATE LOCATE

1 5 , 2 : P R I NT 1 5 , 3 : P R I NT

LOCATE

0 , 6 : P R I NT

1 40

h an g man .

1 50

P R I NT

1 60 rd

CAPS

L OC K

is

on

39

1 30 of

&

11 h ave

P R I NT

y ou 1 1

Al l

11 H a n g m a n 11 11 = = = = = = = 1 1 . . Th i s

to do

is

is

a

g ue s s

g ame

the

wo

c h os e n . .

1 70

P R I NT

1 80

P R I NT

are

11 b y

the

c om p u t er

1 90 L O C A T E 0 , 1 3 : P R I NT t o c on t i n u e . . . 200

L $ = I NK EY$ : I F

210

CLS

220

REM

* Le t t er s *

230 REM

*********

240 250

b e f or e

y ou

h u n g ! ..

L $ = . .. .

.. P r e s s T HEN

an y

k ey

200

X $ = " A B CD E F G H I .J.<LMNO P Q R S T U V W X Y Z . . R$= " "

260

V=9

270

REM

* Ch oos i n g

280

REM

*************************

w or d

290

Z = RND < - T I ME >

300

W = I NT < RND < 0 > * 2 2 ) + 1

310

FOR

320

READ

1=1 A$

330

NE X T

I

TO

W

38

at

r a n d om *


I

l l l l l llll l l :

: l l l l l l l l l l l1

HANGMAN

* C ou n t i n g

h yp h en s *

f or

340

REM

350

REM

**********************

360

FOR

U= l

370

R$=R$+ " - "

380

NE X T

390

REM

L E N < A$ )

U * I n s t r u c t i on s * ************** 7 , 2 : P R I NT 1 1 0K .,

400 R E M

LOCATE

410

m ay s t a

you

n ow � "

rt

9

430

ha

you

g uesses " P R I NT : PR I NT

T A B < 2 > ; " H ere

l e t - " ; T A B < 2 7 ) ; " He r e 440 PR I NT ; 1 1 Wor d s o 450

" R e m e m b er

4 ., 3 : P R I N T

L O CA T E

420 ve

TO

PR I NT

" t er s f ar " 1 1 yet

you

are

the

the "

is

h ave

n ot " ; T AB < 2 7 )

used ..

4 6 121 P R I N T 4 7 121 P R I N T

X $ ; T AB < 2 7 > ; h yp h e n s *

4 8 121 R E M

* Pr i n t i n g

4 9 121 R E M

* * * *.* * * * * * * * * * * * * *

::i 00

PR I N T

5 1 121

IF

R$ THEN

A$=R$

* En t er i n g

5 2 121 R E M

**************** 1 1En t er the

530

REM

::i40

P RIN T : PR I N T

550

I NP U T

IF

l e t t er

Y �t

* Ch e c k f o r N o . of l e t t ers * **************************

5 6 121 R E M 570 REM 580

1 54 121 g uess *

L EN < Y $ ) =1 T H E N

65 121

5 9 121 P R I N T 61210

P R I NT

1 1 0n e

610

P R I NT

..

62 0

FOR

630

CLS

Z= 1

64 121 G OTO 650

let t e r

on l y 1 1

***************" TO

Z

10 0 0 : NE X T

390

Q=ASC ( Y $ ) i n p ut

is

a

l et t er *

6 6 121 R E M

* Chec k

670 R E M

*************************

68 0

IF

Q (65

OR

Q)9 0

39

THEN

1 680

n

;


cffff1111111 :

GAMES FOR YOUR

�111111111111

MSX

ch a r .

i n p ut

in

w or d *

690

REM

*F i nd

700

REM

**************************

710 72 0

F = I N S T R < A$ , Y $ ) I F F=0 THEN 830

730

8= 1

74 0

P=F l i ne

in

c h ar .

of

-'s *

75 0

REM

* Put

760

REM

**************************

770

FOR

K= 1

780

R $ = L E F T $ ( R $ , P - 1 > + Y $+M I D$ ( R $ , P + 1 , <

TO

30

L E N < R$ ) ) ) 790 800

P= I NSTR < AS , Y $ ) S=P- 1 IF

820

NE X T

830

F $ = X :l: X $= 1 1 11

840

THEN

P=0

810

K=3 1

K

f rom

l et t er

a l p h ab e t *

850

REM

* Erase

860

REM

****************************

8 70

FOR

1=1

880

IF

TO

L E N�F $ )

I = I NSTR < FS , Y $ ) THEN X $= X $+M I D$ < F S , I , 1 >

ELSE

11

I

890 9 00

NE X T IF

F=0

910

IF

A$=R$

THEN

950

THEN

1 5 40

p l a y er

won?*

920

REM

* Has

930

R EM

***************** 390

940

GOTO

950

V=V- 1

960

PR I NT

t.ll

X S = X $+ 1 1

11

Y ou

h a ve

1 1 ;V;

p art

of

11

c h an c es

l ef

h a n g ma n *

970

REM

* Pr i nt

980

REM

***********************

990

R=9-V

O N R G O S U B 1 0 3 0 , 1 070 , 1 1 60 , 1 2 20 , 1 260 , 1 300 , 1 350 , 1 390 , 1 4 40 1 0 1 0 GOTO 390 1 0 00

1 020

END

1 030

REM

* F i rst

p art

40

of

h an g *


I

1 1 1 1 1 1 1 1 1 1 1: 1 04 0

REM

1 05 0

LOCATE

1 06 0

R ETURN

: 11 1 11 1 1 1 1 111

HANGMAN

******************** 1 0 , 1 9 : P R I NT p art

" " ----------·

1 070

REM

* Se c o n d

1 08 0

REM

************************

1 09 0

LOCATE

2 0 , 1 9 : PR I NT

1 1 00

LOCATE

2 0 , 1 8 : P R I NT

1 1 10

LOCATE

2 0 , 1 7 : PR I NT

1 1 20

L O C A TE

2 0 , 1 6 : P R I NT

1 1 30

LOCATE

2 0 , 1 5 : P R I NT

1 1 40

LOCATE

2 0 , 1 4 : PR I N T

1 1 50

RETURN

11

11

11

11

..

11

11

..

11

11

11

11

1 1 60

REM

* T h i rd

REM

***********************

1 1 80

LOCATE R ETURN

of

h an g m a n *

1 1 70 1 1 90

p ar t

of

1 3 , 1 3 : PR I NT

1 200

REM

* Part

1 210

REM

***********

1 220

LOCATE

1 230

RETURN

1 240 1 250

REM REM

1 26 0

LOCATE

1 27 0

R ETURN

1 3 , 1 4 : PR I N T

1 3 , 1 5 : PR I NT

1 28 0

REM

* Part

1 290

REM

**********

1 300

LOCATE

1 2 , 1 5 : PR I NT

LOCATE

1 4 , 1 5 : PR I NT

1 320

RETURN

1 33 0

REM

* Pa r t

1 340

REM

************

1 350

LOCATE

1 3 , 1 6 : PR I NT

1 360

RETURN REM

* Part

1 380

REM

************

1 390

LOCATE

1 2 , 1 7 : P R I NT 1 4 , 1 7 : PR I NT

LOCATE

1 4 20

REM

* Last

I 11 I

11

0 11

"\"

" I"

seven *

1 370

R E T UR N

11

six *

1310

1 400

�� -------��

f ou r *

* P a r t f iv e * ***********

1410

h a n g ma n *

11 I 11 I

eig h t *

p ar t *

41

"I " "\"


I

11111111111:

GAMES FOR YOUR

1 430

REM

1 44 0

CLS

1 450

FOR

1 460

CLS

1 470

LOCATE

: 1 11 1 1 1 1 1 1 11 1

MSX

*********** J= 1

TO

4

8 , 9 : P R I NT

" **************

**********" 1 4 80 e

LOCATE

b e en

1 490

B , 1 0 : P R I NT

" So r r � �ou

hav

8 , 1 1 : F'R I NT

" *************

h un g "

LOCATE

***********" 1 50 0

NE X T

.]

1510

P R I NT : PR I NT

1 52 0

FOR

Z=1

1 530

GOTO

1 �i 4 0

CLS

1 55 0

LOCATE

TO

" The

word

1 00 0 : NE X T

was

" ; A$

Z

1 590 6 , 3 : P R I NT

" **************

6 , 4 : P R I NT

"W

6 , 5 : P R I NT

"**************

*****" 1 5 60 0

N

LOCATE

E

L

L

D

E"

1 570

LOCATE

*****" 1 580 FOR

Z= 1

1 590

CLS

1 600

LOCATE

a n ot h er

TO

1 00 0 : NE X T

6 , 9 : PR I NT

Z

" Wo u l d

�ou

l ike

g o? "

1610

I NP U T

1 62 0

IF

T$

1 63 0

CLS

1 640

LOCATE

T$= " Y "

OR

T$= " Y ES "

1 4 , 2 0 : PR I NT

T HE N 2 0

" OK ,

Thank

�o

u" 1 650

FOR

1 66 0

CLS

1 670 1 680

GOTO CLS

1 690

LOCATE

l e t t er s 1 700

Z=1

TO

100 0 : NE X T

1 020 6 , 1 1 : F'R I NT

LOCATE FOR

" P l ea s e

e n t er

on l � " 6 , 1 2 : F'R I NT

************" 1710

Z

F'= 1

TO

2000

42

" *************


l l l llll l l l l :

I

: l l l l l l l l l l l1

HANGMAN

1720 NEXT P 1 730

CLS

1 740

GOTO

1 750

DATA T A B L E .. 1 760 DATA

410 1 1 F'R I V AT E 1 1 , 1 1 B R E A K 1 1 , 1 1 H O U S E 1 1 , 1 1

1 1 T Y F'E 1 1 ' 11 M O U T H 1 1 ., " D I AR Y 1 1 ' 1 1 C O M F' U T E R 1 1 , . . P E R S O N " ., " R U GB Y " , " T O D A Y . . 1 7 7 0 D A T A 1 1 F'E NC I L 1 1 ., 1 1 R A D I O " ' " GA R D E N " ' 1 1 .JU M P E R .. 1 780

DATA

" H I S T OR Y " , " T E R M I NA L " , " SU G A R

" , " NU M B E R .. , " CA N O E " 1 7 9 0 D A T A " S O C K " ., " MO N E Y 1 1 ., 1 1 MS X 1 1

..

•..

.. �\1 .

,,\J,,. -

...(1,.,,

.,Jt.... ... . -4,, ........ . .

... lth•

,� ........... . .

· · ·. . . .

43

.. ,

. ,,,

.

.

.ltuutlt •


I

11111111111 :

GAMES F OR YOUR

: l l l l l l l l l l ll

MSX

BREAKBALL This 'Bouncing Ball' game contains all the instructions in the program. Please note that the cursor keys on the right side of the computer must not be held down, but should be pressed repeatedly to move the bat.

• 1 0 REM 2 0 R EM

***************************** * Break b a l l *

30

REM

*G .

40

REM

*****************************

50

GOSUB

60

REM

70

LOCATE

80

REM

90 I F 1 1 : E= 3 1 00

P .

C a r t er ,

1 9 84 *

320

* Pr i n t

bal l *

A ., B : P R I NT

* Ch eck E<3

IF

Nov e m b er

ll • ll

p o s i t i on

T HE N L O C A T E

E >34

of

b at *

E ., 1 9 : P R I NT

T HE N L O C A T E

11

E ., 1 9 : PR I NT

11

" : E=34 1 10

REM

1 20

A l =A : B 1 =B

* Mo v e

bal l *

1 30

A 1 =A 1 + C : B 1 = B 1 + D

1 40

REM

1 50

IF

A 1 <2

1 60

IF

81 <2

AND

-[I

I

1 70

E+ l =A IF

E + 2 < >A 1 80

* Bo u n ce OR OR OR

81>18

ba l l

if

n ece s s a r y *

T HE N C = - C : B E E P

A 1 >34

8 1 ) 1 8 AND E=A 81 > 1 8

AND

AND

E < >A

T H EN 2 7 0

F $ = I NK E Y $

44

E+2=A

AND

OR

81 >18

T H EN

E+ 1 < >A

D=

AND


I

11111111111 : F$= 11 11

1 90

IF

200

F=ASC ( F$ )

210 NT

11

IF

NT

11

T H EN 2 4 0

F = 2 8 T HEN E 1 =E : L O C A T E E , 1 9 : PR I 1 1 : E =E 1 + 2 : L O C A T E E , 1 9 : PR I NT ��­

-�� : GO T O 220

: 111111111111

BREAKBALL

IF

70 F = 2 9 T HE N E 1 = E : LO C A T E E , 1 9 : PR I 11 : E= E 1 -2 : LO C A T E E , 1 9 : PR I NT ��­

-�� : GO T O

70

230

REM

* Er a s e

240

LOCATE

2 �.:10

A =A 1 : B= B 1 GOTO

270

FOR

280

LOCATE

290

G OS U B

X=1

GOTO

310

STOP

11

11

70

2 60

300

bal l *

A , B : P R I NT

70

320

REM

* I n i t i a l i sa t i on *

330

REM

****************

340

I<E Y

O F F : CL S : CO L OR

350

REM

* I ns t r u c t i ons *

REM

P R I NT

390

..t r..trJrJI" JI"JI"JI"Jr rJ

..

P R I NT : P R I NT : PR I NT

400

P R I NT

roy

al l "

410

P R I NT

he

4 , 14 , 14

************** T A B < 1 4 ) ; 1 1 B r e a k b a l l 11 11 PR I NT 1 AB ( 1 4 ) ; 11

3 60 370 380

X

1 00 0 : NE X T 11 11

TO

A , B : P R I NT 750

" In

th i s

11 t h e

g ame

br i ck s

must

y ou

at

the

t op

dest of

t

s c r e en "

420

P R I NT

"by

b ou nc i ng

a

bal l

a g a i ns t

t h em . " 4 30

P R I NT

440

P R I NT

e

l ef t

450

P R I NT

hol d 4 60 4 70

the

b at ,

use

th

" r i ght

c u r s or

k eys .

Do not

the"

PR I NT

t h em

" T o c ont ro l

and "

" k ey s

d ow n

-

y ou

must

p re s s

rep - "

P R I NT

" eat ed l y

t o mak e

45

t he

b at

mo


I

11111111111 :

:111111111111

MSX GAMES FOR YOUR

ve . " 480 ge

P R I N T : F'R I NT of

490 111

the

" Do n ' t

P R I NT

" or

y ou r

5 0 0 P R I NT : PR I NT t i n ue . " 510

bat

IF

COLOR

540

REM

* Pr i n t

bor d e r

550

FOR

A=0

36

5 60

LOCATE

A , 0 : PR I NT

�i7 0

LOCATE

A , 2 0 : PR I NT

!::i80

NE X T

F $= " "

an y

d i s a p p ea r k ey

to

c on

FOR

LOCATE

A=0

61 0

LOCATE

62 0

NE X T

510

TO

aroun d

sc reen *

"-" "-"

630

REM

LOCATE

65 0

F' R I N T

660

LOCATE

67 0

F'R I N T

68 0

LOCATE

TO

* Pr i n t

I I I I I I I I I"

111"

" br i c k s " *

1 , 1

" IIIIIIIIIIIIIIIIIIIIIIIIII 1 ,2 11

I I I I I I I I 1., PR I NT

20

0 , A : P R I NT 3 6 , A : F' R I NT "I"

A

64 0

I I

THEN

A

590

t I

ed

1 1 , 1 , 1 : CLS

600

I

the

F $ = I NI<E Y $

530

I

over

wi l l

" Press

520

690

go

sc reen "

IIIIIIIIIIIIIIIIIIIIIIIIII

1 ,3 11

I I I I I I I I I I I I I I I I I I I I I I I I I I

I I I If

700

REM

* I n i t i a l i se

710

REM

**********************

720

C = l : D= l : E = 1 5

730

LOCATE

v ar i ab l e s *

..

..

740

E , 1 9 : F'R I N T A = R N D < - T I ME >

750

REM

* St a r t

7 60

REM

*************************

770

A = R N D < 1 > : A= I N T < A * 1 0 ) + 5

p o s i t i on

-

f or

780

B = R N D < l > : B = I NT < B * 5 ) + 5

790

R E T UR N

46

ba l l *


I

11111111111 :

DAR TS SCORER

: 11111111111 1

DARTS SCORER This program by Andrew Ogilvie is for darts players. It will take your mind off the scores and help you concen足 trate on your game. All you have to do is type in the number you are starting from, and enter your score after each go. The computer will perform the necessary calculations and tell you which player has won the game.

47


I

1 1111111111 : 10

REM

****************

20

REM REM REM

*

30 40

: 11 111111111 1

X GAMES FOR YOUR MS

Dart s

Sc orer

*

����� ����� ��

* * A n d rew

* Og i l v i e *

50

REM

****************

60

KE Y

OFF

70

COLOR

80

CLS

90

I NP U T 1 1 E n t er p l a y er 1 ' s n a m e 1 1 ; N 1 $ I NP U T 1 1 E n t er p l a y er 2 ' s n a m e 1 1 ; N 2 $

1 00 1 10

5 ., 1 ., 1

PR I NT

1 2 0 I NP U T 1 1 En t er m 1 1 !I· T

the

1 30

PR I NT

1 40

PR I NT 11 T h a n k - you 11

1 50

FOR

1 60

CLS

1 70

LOCATE

ween

1=1

TO 6 ., 0

s c ore

5 0 0 : NE X T

to

p lay

f ro

mat c h

be t

I

: F'R I NT 1 1 D a r t s

"

1 80

L O C A T E 1 4 ., 1

1 90

P R I NT

: PR I NT

N 1 $ ; 11

200

LOCATE

1 0 ., 4 : PR I NT

N1$

210

LOCATE

20 ., 4 : PR I N T

N2$

220

LOCATE

230

LOCATE

1 0 , 6 : P R I NT 20 , 6 : F' R I N T

T

240

T 2 = T : G= 1

250

REM

* En t er

2 60

REM

**************

270

IF

G= l

THEN

300

280

IF

G=2

THEN

410

290

GOTO

and

1 1 ; N2 $

T

Sc ores *

250

300

REM

* P l a y er

310

REM

***************

l 's

320

LOCATE

0 ., 2 0 : PR I NT

0 ., 2 0 : PR I NT " E n t er 1 330

P 1 =P 1 + 1

340

IF

go*

P1=10

THEN

s c o r-- e

S P C < 30 ) : L O C A T E ( 1 )

" ; : I NPUT

S= 1 0 : P 1 = - 1 : GOSUB

0

48

G

53


I

11111111111 : 350

T=T-8 1

3 60

IF

: 11111111111 1

DARTS SCORER

T <0

OR

T= l

THEN

T = T +8 1 : 80 T O

39

0 370

LOCATE

380

IF

1 0 , P 1 +7 : PR I NT THEN 590

T=0

390

8=2

400

80TO

410

REM

2 �i 0 * P l a yer

4 2 0 REM

T

2's

go*

***************

4 3 0 L O C A T E 0 , 2 0 : PR I NT S P C < 30 ) : L O C A T E 0 , 2 0 : PR I N T " En t er s c o r e ( 2 ) " ; 440

I NP U T

450

P 2 = P2 + 1

G2

4 60

IF

P2= 1 0

THEN

S=20 : P2=- 1 : 80SUB

53

0 470

T 2 = T 2 -8 2

480

IF

0

T2<0

OR

T2= 1

THEN

T 2 = T 2 + 8 2 : 80 T

510

490

LOCATE

500 · I F

20 , P2+7 : PR I NT T 2 = 0 T H E N 660

510

8= 1

520

GOTO

T2

250

530

REM

* C l ear

540

REM

********************** I=1

550

F OR

5 60

LOCATE

570

NE X T

580

RETURN

590 600

REM REM

TO

p art

of

sc reen *

12

S , I +6 : PR I NT

SPC < 6 >

I * P l a y er 1 h a s won * ******************

610

CLS

620

PR I NT

630 LOCATE 0 , 5 : PR I NT N 1 $ = " •• ; N2 $ ; " by " ; T 2 ; " p o i n t s " 64 0

PR I NT

650

GOTO

660

REM

* P l a y er

670

REM

******************

680

CLS

710 2

has

49

won *

h as

be a t e n


I

1111 1 111111 :

MSX GAMES FOR YOUR

690 L O C A T E 0 , 5 : P R I NT N 2 $ ; 1 1 11 ; 1\1 1 $ ; 1 1 b y 1 1 ; T ; 1 1 p o i n t s . . . 700

GOTO

710

REM

* An ot h e r

720

REM

**************

IF

GOTO

7 60

KE Y

770

END

be a t en

g ame *

5 , 8 : P R I N T " An o t h er

D$ D$= " N 11

750

has

710

7 30 L O C A T E n ) 11 ; : I N F' U T 740

:11111 111 1 1 1 1

THEN

7 60

20 ON

50

g ame

( y/


I

11111111111 :

MINEFIELD

:lllllllllll l

MINEFIELD You must try to escape from the minefield in this game, written with the help of Simon Gould. Use the cursor keys to move carefully around the screen, but take note of the warmng s1gns. At the beginning of the game you must enter the number of mines that will be planted in the minefield. Any number less than 35 can be used. If you tread on a mine you will be blown up, and the locations of the other mines will be displayed. This game features a timer and an on-screen score.

-----

51

--


I

I i 111111111 :

: 11111111111 1

MSX GAMES F OR YOUR

10

REM

****************************

20

REM

*

30 40

REM REM

* S i mon *

50

REM

60 R E M 7 0 REM 80 K E Y

*

M i n ef i e l d Grah am i 984

Gou l d �

Cart er* *

**************************** * I n s t r u c t i on s * ************** OFF

CLS

90 1 00

A $ = I NI<E Y $

1 10

LOCATE

1 4 , 0 : P R I NT

1 20

LOCATE

1 4 ., 1 : PR I N T

1 30

LOCATE

0 ., 4 : P R I N T " Y o u a m i ne- "

must

tr�

a

t i me

l imit

PR I NT

1 50

PR I N T

1 60

PR I N T

1 70

P R I NT

to

w i th in

n ot e

1 90

PR I NT PR I NT

210

PR I NT

220

he 230 240

" Use

c ursor

the

c on t ro l

k e�

" aroun d

the

bu t

t ak

sc reen ,

of "

200 wi 1 1

" un i t s . "

move " P R I NT

1 80 e

"f ield

1 00 "

of

s

to

f r om

esc ape 1 40

" M i n ef i e l d "

" r.- •·u. u.-r.- .-u.. ,... ,... . .

" t he 11 l f

warn i n g � ou

t read

s i gn . " on

a

m i ne

P R I NT

" od e

t il e

and

l o c a t i on s

t

P R I N T 11 m i n e s w i l l be r e v e a l e d . " P R I N T : PR I N T " P r e s s a n � k e y t o c o n A $ = I NK E Y $ A$= " "

THEN

2 �i 0

260

IF

270

REM

* I n i t i a l i se

280

REM

**********************

290

SC=0

300

A $= " o 11

310

of

ot her "

t i n ue . " 250

it

e}·� p 1 - "

CLS

52

Var i ab l es *


1 11 1 1 1 1 11 11 1 : · 320

PR I NT

" Nu m b er

330

I NP U T

MNS

340

IF

350

FOR

:11111111111 1

MINEFIE LD

M NS < 2 P=0

OR TO

of

m i nes

MNS >35

< 2- 35 ) "

THEN

310

500

360

NE X T

370

DIM

M < MN S , 2 >

F'

380

FOR

N= l

390

RD=RND < 1 > : M < N , 1 > = I NT < RD * 20 ) + 1

TO

MNS

400

R D = R N D < 1 > : M < N , 2 > = I NT < R D * 3 2 )

410

NE X T

420

REM

* Pr i n t

430

REM

***************

440

CLS

450

L O C AT E

N D i sp l a y *

0 ., 2 1 : P R I N T

.. T i mer=

S c o r e = " ; SC 460 470

T=0 : X = 1 9 Y =R N D < l > : Y = I NT < Y * 28 )

480

LOCATE

490

T=T+ 1

500

LOCATE

510

IF

Y - 1 , X - 2 : PR I NT 6 ., 2 1 : PR I N T

T = 1 00

520

GOSUB

530

A = X : B= Y

THEN

A$

T

780

670

540

REM

* Ac c e p t

550

REM

****************************

!:i6 0 �i 7 0

B $ = I NKE Y $ I F B$= " .. THEN

�i8 0

I P=ASC < B$ )

590

IF

I P=3 1

AND

X <23

600

IF

I P=30

AND

X >3

610

IF

I P= 2 8

AND

Y < 30

620

IF

I P= 2 9

AND

Y >0

6 30

REM

640

REM

* Er a se

i nput

f rom

k e y b oard *

4 80

l ast

THEN THEN THEN THEN

X=X+ 1 X=X- 1 Y=Y+ 1 Y=Y - 1

p os i t i on *

6!:i0

********************* L O C A T E B - 1 ., A - 2 : PR I N T 1 1

6 60

GOTO

670

L O C A "f E

680

IF

11

480

X =3

11

1 1 , 0 : PR I NT AND Y > 1 1 AND

53

EX I T 1 1 Y < 20

THEN

8 70


I

11111111111 : 690

N= l

700

IF

X >= 2 0 11

l : PR I N T

..

T HE N

7 10

Y C= M < N , l ) - Y

720

XC=M < N , 2 > - X I F ABS < X C > < 3

730

L OCA T E

X = X - l : L O CA T E

AND

1 1 , 0 : PR I N T

74 0

IF

7 �i0

N=N+ l

X C= 0

760

IF

770

GOTO

780

L OCA T E

:1111 1111111 1

MSX GAMES FOR YOUR

AND

N = M NS

ABS

Y-l , X+

.< YC > < 3

THEN

" W A RN I N G "

Y C= 0

T HE N

T HE N

780

R E T UR N

7 10 1 1 : L OCA T E Y - 1 , X - 2 : PR I NT . . " " : L OCA T E Y + 1 , X : PR I N T

Y , X -2 : PR I N T 11

11

790

REM

* D i s p l ay p o s i t i o n s

800

REM

***************************

810

FOR

N= 1

820

LOCA T E

830

NE X T

840

FOR

850

NE X T

860

RUN

TO

of

m i nes*

MNS

M < N , 1 ) , M < N , 2 ) : PR I N T

11 * " ;

N P= l

TO

1 0 00

P

870

SC= SC+ 100

880

L OCA T E

�i , 10 : PR I N T

" M i s s i on

�i , 12 : PR I N T

" St an d

Suc c es

sf u l " 890 he

LOCA T E n e �·� t

900

FOR

9 10

GOTO

f i e 1 d •• P= l

TO

10 00 : N E X T

440

54

P

b y f or

t


I

11111111111 :

:lllllllllll l

CAL ENDAR

CALENDAR Do you know the actual day of the week when you were born? If not, this program will tell you. It prints a calendar for any month in any year, and will tell you when your birthday, or any other anniversary, will fall in the years to come. REM REM REM

10 20 30

************** * Ca l e n d a r * * ����������� � *

40 REM

*D .

P i l l i n g er *

50

REM

*D .

O l esh

60

REM

**************

70

CLS

80

PR I NT

90

PR I NT

1 00

*

" C a 1 en d ar "

OR

M< 1

M>12

1 10

IF

1 20

PR I NT

•• E n t er

1 30

I NP U T

Y

1 40

PR I N T

l �i 0

PR I NT

1 6 121

PR I NT

1 70

G O S LJB

1 80

D=DD

1 90

M=M+ l IF

210

GOSUB

, • • - - - - -· - - - . .

1 00

THEN

� ear "

1 1 M on t h " ; M ; 1 1 •

Y ear " ; Y

360

M>12

200

,

mon t h "

, , " En t er I NP U T M

THEN

M= l : Y = Y + l

350

DD < D

220

IF

230

N=29 : I F

THEN

DD=DD+7 OR

M=5

M=7

OR

M = l lll

240

N=N+ l ELSE I F M < >3 THEN PR I NT 11 Sun Mon Tue Wed T h u

2 �i 0

P=4 * D

2

THEN

t 11

X=l

260

FOR

270

PR I NT

TO

N

T AB < P > ; X ;

55

OR

M= 1

N=N+2 F r· i

Sa


I

l ll l l l l l l ll :

X GAMES FOR YOUR MS

280

P= < P +4 )

290

IF

300

NE X T

310

P R I NT

320

I NP U T

AND

POS < 3 > >26

:11111111111 1

P<21 T HE N

PR I NT

X , , ,

11 Press

ENTER

to

go

on

..

A 70

330

GOTO

340

MM=M-2 : Y Y = Y M M >0

350

IF

360

MM=MM+ 1 2

T HE N

370

Y Y=YY-1

380

C = I N T < Y / 1 00 )

400

390

Y Y = Y Y - 1 00 * C

400

D D = 1 + I NT < 2 . 6 * MM - . 1 9 ) + Y Y + I N T < Y Y / 4 )

+ I NT ( C / 4 ) - 2 * C 410

D D = D D - 7 * I N T < DD / 7 )

420

RETURN

56


I

21

11111111111 :

:11111111111 1

21 This is an MSX version of the classic card game. You and the computer take turns in trying to get a score as close to 2 1 as possible without exceeding that figure. This version of the game will recognise a five-card trick. The computer is a difficult, but not unbeatable, opponent who weighs up the situation carefully before making a decision. This game is very friendly to play, with all the instructions contained in the program.

10 20 30 40 50

REM REM REM REM REM

******** * 21 * * � * ******** * S c ot t V i n c e n t

60

REM

***************************** OFF

70

KE Y

80

CLS

90

COLOR

Graham

C a r t er *

9 , 15 , 15 * St art

g am e *

1 00

REM

1 10 1 20

REM * * * * * * * * * * * * P $ = ' ' *..._••_...•._........_.......

1 30

PR I NT

1 40

B=0

1 �i 0

C=0

1 60

PR I NT

" P l e a se

1 70

I NP U T

N$

1 80

COLOR

7 , 1 , 1

1 90

CLS

....... . .

F' $

en t er

y ou r

n ame "

N$

200

P R I N T : P R I N T : P R I NT

210

REM

* De c i d e

220

REM

***********************

230

P R I N T : PR I N T

to

see

who

g oe s

g oes

who I

''

wi l l

f i rs t . "

57

f i rst * t os s

a

coin


I

11111111111 : 240

PR I NT

11

Do

y ou

want

h eads

or

tai l

( H / T ) 11

s? 2 �i 0

: 111111111111

GAMES FOR YOUR MSX

A$= I NKE Y $

2 6 0 I F N O T ( A$ = " h " O R 1 1 O R A $ = ' ' T 11 ) T H E N 2 5 0

A$= " t 11

270

PR I NT

280

D = R N D < - T I ME >

290

X =R N D < l > : X = I N T < X * 2 >

300

IF

OR

A$= 11 H

ELSE

B$= 11 T

T A B < 1 0 ) ; A$

X =0

THEN

B$= 11 Head s 11

a i l s 11 310

P R I NT

320

A= l

330

IF

X =0

AND

B$ ; 1 1 .,

X=l

AND

( A$= 11 h "

( A$ = 1 1 t 1 1

340

IF

I NT

" Y ou

A=0

350

FOR

360

X=0

" ;

THEN

OR

P R I NT

" I

P= l

1 1 ; N $ ; 11 • 1 1 T O 1 00 0 : NE X T

g ames*

win

370

Y =0

380

REM

*10

390

REM

**********

400

FOR

F= 1

410

P R I N T : F' R I N T

me

OR

TO

A$= " H 11 )

A $ = 1 1 T 11 )

THEN

w i n 11

OR

A=0

ELSE

PR

f or

ga

P

10 " Press

an y

k ey

" ;F

420

l $ = I NK E Y $

430

IF

l $= '' 11

440

IF

A=0

THEN

450

IF

A= l

OR

460

IF

A= 1

AND

4 70

IF

Y =0

THEN

THEN

420

GOSUB

A=0

AND

1 0 70 X >0

THEN

GOSUB

650 Y < >0

THEN

480

IF

X =0

THEN

Y=l

490

IF

X >Y

THEN

B=B+ 1

X<Y

T HE N

C=C+ 1

500

IF

510

P R I NT : F' R I N T

520

PR I NT

530

A = A + < A= 1 > - < A =0 )

54 0

NE X T

550

FOR

GOSUB

" Comp uter :

1 1 ; N$ ; 1 1 : "

TAB ( 5 ) ; B ; TAB ( 1 1 ) ; C F

P= 1

TO

1 070

X= 1

500 : N E X T

58

P


I

: 11111111111 1

21

11111111111 :

g am e *

of

560

REM

* En d

570

REM

*************

580

P R I NT : P R I N T

5 90

IF

b eat

1 1

.. A n o t h e r

g ame?

P R I N T : PR I N T

61 0

I NP U T

620

OR A $ = 1 1 Y 1 1 T H E N P R I NT : P R I N T 1 1 B y e t h e n . . .

630

wi

< YIN

A$

A $ = 1 1 y 11

640

S T OP

650

P R I NT : PR I NT

RUN

h ave t ur n

" Y our c ard s an y k e y to

Press

d ea l t .

wi l l " I

PR I NT

ELSE

600 ) 11

IF

y ou

" Ma y b e

t i me . "

neN t

y ou

t h at . "

e n j o y ed

t i me . "

n e >� t

me

beat

" I

PR I NT

THEN

B >C

b ee n t h em

o v e r . .. 660

l $= I NK E Y $ THEN

I $= " 11

670

IF

680

GOSUB

660

1 54 121

P= 1

TO

690

FOR

700

IF

7 1 121

P R I NT : PR I N T

7 2 121

Y =Q

GOSUB 11

7 3 121

L= 1

7 4 121

F OR

7 5 121

IF

Q= l

THEN

GOSUB

L=3

THEN

CLS

P= 1

TO

P : CLS

1 00 : NE X T

THEN

Q= 1

II

1 59 0 ; Q : PR I NT

P : GOSUB

1 00 : NE X T

760

IF

770

P R I NT : PR I NT : P R I N T

780

LET

790

L=L+ l

800

PR I NT

1 54 0

1 5 9 121 11

" ;Q

Y = Y +Q c ard s .

T A B ( 1 0 ) ; L ; 11

Tot a l = ..

;Y trick ,

c ard

b ust

or

ok ? *

8 1 121

REM

*5

820

REM

*************************** AND

Y <=2 1

830

IF

L=5

840

IF

Y >2 1

THEN

980

850

IF

Y =2 1

T HE N

1 121 2 121

860

PR I NT

T A B < 1 0 ) ; .. T w i s t

T/S) " 8 7 121

THEN

A $ = I NK E Y $

59

940

or

S t i c k '?


I

11111111111 : 880 "

IF

OR

NOT

< A$= " t "

A $ = 1 1 8 11 )

890

PR I NT

900

FOR

910

IF

920

CLS

930

R E T UR N

: 111111111111

UR MSX GAMES F OR YO

THEN

OR

A$= " T "

OR

A$= 11 s

870

T A B < 1 0 ) ; A$

P= 1

TO

A $ = .. t "

P= 1

1 00 : N E X T OR

TO

A$= 11 T 11

940

F OR

9 �i 0

PR I NT

.. Y ou

h ave

1 00 : NE X T a

Th i s

c an

on l y

be

P THEN

740

P : CLS

f i v e - c ard b e a t en

tr i ck

by

Pon t

oon . .. 960

Y =22

970

RETURN

980

FOR

990

PR I NT

P = 1 T O 1 000 : NE X T P : C L S . . S o r r y - y ou h a v e b u s t .

I

w i n . .. 1 00 0

Y =0

1010

RET URN

1 020

CLS

1 030

PR I NT

ed

" We l l

d on e

THEN

Y =23

1 040 1 05 0

Y =2 1 I F L=2

1 06 0

R E T UR N

1 070

P R I N T : PR I NT

al

me

t wo

y ou

h ave

" Press

an y

key

s c or

1 080

I $ = I NK E Y $ : I F GOSUB

1 1 00

CLS

1 1 10

IF

1 1 20

PR I NT

1 1 30

X=Q M= 1

1 1 50

GOSUB

1 1 60

IF

1 00 : N E X T IF

1 1 80

PR I NT

M=3

1 1 90

X = X +Q

! $= " "

THEN

GOSUB

TAB < 1 0 ) 11

T HE N

1 08 0

1 6 70 " ;Q

1 �i4 0

Q= 1

1 1 70

de

1 540

Q= 1

1 1 40

to

c ar d s . . .

1 09 0

0

-

2 1 . 11

T HE N

GOSUB

THEN

CLS

1 6 70 : FOR

P TAB < 1 0 ) ; ..

60

.. ; Q

P= 1

T


I

11111111111 :

: 111111111111

21

1 200

M=M+ 1

1210

P R I NT

T A B ( 1 0 > ; M ; 11 .. Press

u

c ard s .

Tota l =

;X

1 220

P R I NT

1 230

I $= I NK E Y $ : I F

1 240

REM

*5

1 250

REM

***************************

c ard AND

an y

k e y . 11

I $ = 11 "

THEN

1 230

tr i ck ,

b ust

or

1 260

IF

M=5

1 27 0

IF

X >2 1

THEN

X <=2 1 1 420

X =2 1

THEN

1 460

1 280

IF

1 29 0

D = R N D < - T I ME >

1 300

IF

EN

THEN

ok ? *

1 35 0

X > 1 4 + I N T < RN D < 0 > * 3 >

AND

A=0

TH

AND

R N D < IZI >

1510 D = R N D < - T I ME >

1310 1 32 0 > .3

IF

X > 1 4 + I N T < RN D < 0 > * 3 >

THEN

1510

1 330

FOR

T

t h i nk

11 !

P= 1

1 340

GOTO

1 3�5 0

CLS

1 36 0 11

PR I NT

1 370

IF

p on t oo n

TO

I

1 00 : NE X T

P : P R I NT : PR I N

t w i st . 1 1

wi l l

1 1 50

A=0 to

11 I

h ave

THEN beat

a

f i v e - c ar d

PR I NT

" Y ou

t r i ck .

must

g et

me . "

1 380 I F A= l AND Y =2 2 THEN P R I NT " Y o u s t i l l b e a t m e t h ou g h , a s y ou g ot P o n t oon . " 1 390 I F A= 1 b ea t s y ou . 1 400

X =2 2

1410

R ETURN

1 4 20

CLS

1 430

PR I NT

1 44 0

X =0

1 450

RE TURN

1 46 0

CLS

1 470

P R I NT

1 48 0

X =2 1

1 490

IF

M=2

AND Y < 22 I w i n . ..

THEN

P R I NT

11 !

h ave

b ust .

Y ou

" I

h a ve

sc ored

21 "

THEN

X =2 3

61

" Th at

w i n . ..


I

11111111111 : 1 !:i 0 0

R E T UR N

1 �i 1 0

CLS

1 520

PR I NT

1 530

RETURN

1 54 0

D = R N D < - T I ME >

1 55 0

Q= I NT < RN D < 0 > * 1 3 ) + 1 IF

1 570

FOR

1 580

R E T UR N IF

P R I NT : P R I N T be

A $ = I NK E Y $

1 620

IF

OR

l ow ?

THEN

P R I NT : P R I N T A $ I F A $ = 1 1 h , . OR A $ = " H ..

1 650

F OR

1 66 0

RET URN

P= l

THEN P

1 00 0 : NE X T

TO

X <= 1 0

OR

THEN

IF

X >= 7

1 68 0

I F

X <7

1 690 1 70 0

P R I N T " I h a v e an a c e . . . I F Q= 1 THEN P R I NT " I w i l l

t l ow . " gh . " 1710 1 720 l ow 1 730

ELSE

THEN

X >10

PR I NT

A$= "

11 1

G�= 1 1

Q= 1 1

1 670

OR

OR

1610

1 640

1 630

wan

y ou 1

< H/L ) 1

O R A$= " H "

< A$ = " h "

NOT

A $= " L " )

Do

ac e .

" An or

h i gh

1610

1"

1 7 20

THEN

Y >10

P

1 00 0 : NE X T

1 600

to

Q= 1 0

THEN TO

P= 1

1 590 it

st i c k . "

wi l l

" I

Q)10

1 560

t

: 11111111111 1

X GAMES FOR YOUR MS

Q= l

wi l l

mak e

i

it

hi

bet t er

be

mak e

R E T UR N P R I NT or

y ou

" An

ace .

wi l l

It

b ust . "

R E T UR N

62

h ad


I

1 1 1 1 1 1 1 1 1 11 :

NIM

:1 1 1 1 1 1 1 1 1 1 1 1

NIM This is the classic game in which you try to force the computer to take the last of a number of barrels. The number of barrels you start off with is printed at the top of the screen. The number of barrels will change from one game to the next.

63


I

11111111111 :

: 111111111111

MSX GAMES FOR YOUR

10

REM

***************

20

REM

*

30 40

REM REM

* *D .

Nim

* *

P i l l i n g er , *

50

REM

*

D .

O l esh

60

REM

*

G .

C a r t er

&

* *

70

REM

***************

80

REM

* I n i t i a l i se

90

REM

V a r i ab l e s *

1 00

********************** B = R N D < - T I ME >

1 10

CLS

1 20 1 30

X = I NT < RN D < 1 > * 2 5 ) + 5

B $ = 11 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n

nnnnnnnnn" 1 40

REM

1 50

REM

********

1 60

KE Y

OFF

* T i t l es *

1 70

LOCATE

1 80

FOR

1 90

NE X T

200

REM

* St art

210

REM

************

220 11

LOCATE

TO

20 : FOR

W : P R I NT : NE X T

230

IF

240

LOCATE

TO

10

T

L E F T $ ( B $ ., X ) ; 1 1

3 ., 3 : PR I NT T HE N

1 ., 1 0 : PR I N T 11

l ef t

LOCATE

1 1 N i m . . ., ., " - - - 1 1 W= 1

g am e *

R ND < 1 > < . 5

b arre l s 250

0 ., 2 1 : P R I NT

T= 1

320 1 1 T h e re 1 1 How

1 ., 5 : I NP U T

are 11 ; X ; 11

man y

do

y ou

t ak e 11 ; TK 260

IF

TK< l

280

IF

X=l

290

LOCATE

270

X = X -T K

OR

TK >3

THEN

THEN

250

440 are 1 1 ; X ; 1 1

b arre l s

1 ., 1 0 : PR I N T .. l ef t

300

REM

* D ec i d e

310

REM

*************************

320

TK=3

330

IF

X =2

OR

h ow

X =5

OR

TK= l

64

" T h ere

man y

X=6

to

OR

t ak e *

X=9

THEN


I

lllllllllll :

: lllllllllll 1

NIM

34 0

IF

X =3

OR

350

IF

X =4

THEN

X=7

THEN

TK=3

11 1

360

LOCATE

370

X = X -T K

380

LOCATE

1 , 1 0 : PH I N T

" T h e r' e " ;

390

IF

THEN

P R I NT

"

is

I NT

..

400

IF

PR I NT

11

b a rre 1 " ; E L S E

PR I NT

X=1

are " ; X ; X= 1

410

PR I NT IF

.,

X=1

430

GOTO

4 40

FOR

450

LOCATE

1

T HE N

b ar r e l s 1 1 ;

11

420

***1

1 , 8 : PR I NT

TK=2

460

GOTO F OR

480 * 11

LOCATE

490

FOR CLS

510

GOTO

..

t ak e " ; TK

; X ; ELSE

PR

11

470

250 W= l

4 70

�i0 0

l ef t THEN

wi l l

TO

700 : NE X T W 11 * * * *

Y ou

700 : NE X T W 11 * * * *

I

20 , 1 : PR I NT

Win

*

490 W= 1

TO

2 0 , 1 : P R I NT

L= 1

TO

1 00 0 : NE X T

1 20

• 65

L

Win

***


I

11111111111 :

GAMES FOR YOUR

MSX

:11111111111!

INFERNO A 30-storey skyscraper is on fire and you, as Fire Chief, must save the 10 people who are still trapped in the burning building. As they jump from the windows, you must catch them in your blanket. To move the blanket, press the cursor controls on the right side of the computer.

66 --

-- --


I

11111111111 :

:1111111111 1 1

INFE RNO

10 20

REM REM

************************ * I n f er n o *

30 40

REM REM

*S . *

50

REM REM

************************ * I n i t i a l i se v ar i ab l e s *

70

REM

**********************

80

P = 0 : S= P

60

V i n c en t & G . 1 98 4

C ar t e r * *

9 0 F = 1 : 8= 9 1 00 E = 1 0 : C L S 1 10 1 20

REM REM

* Pr i n t s c r e e n * ************** OFF

1 30

KE Y

1 40

COLOR

1 50

LOCATE

1 60

FOR

10 , 1 , 1

X =3

1 70

LOCATE

1 80

NE X T

1 90

LOCATE

200

FOR

S T R I N G $ < 36 , 1 1 ,... 1 1 >

0 , 2 1 : P R I NT TO

20

1 , X : P R I NT

11 1 1 I I 1 1 11

X TO

_

/ 11

210

LOCATE

20 : NE X T T G , F : P R I NT 1 1 :.i! 1 1

220

LOCATE

E - 1 , 20 : PR I NT

230

REM

* Ch e c k

240

REM

25 0

I $ = I NK E Y $ : I F

*********************** l $ = 1 1 11 T HE N 2 6 0

IF

T= l

11 \

E - 1 , 2 0 : P R I NT

ASC ( l $ ) =28

T HE N

260

IF

270

l $ = I N K E Y �: : I F

IF

E >3 1

f or

THEN

ASC < I $ ) =29 E< 10

key

IF

290

I NTERVAL

THEN

300

ON

310

LOCATE

E=3 1 I $= 11 11

320

F =F + l

330 340

I F F > l B THEN H = R N D < - T I ME >

THEN

E=E- 1 . 5

E= 1 0

ON

I NT E R V AL = !

11

ELSE

E=E+ 1 . 5

THEN

280

11

p res sed *

GOSUB

G , F : PR I NT

11

370

350

G = G + I N T < RN D < 0 > * 4 > - 1

360

IF

G< 10

THEN

G= 1 0

370

IF

F=2 1

THEN

390

380

GOTO

1 90

67

11

850

280

ELSE


I

11111111111 : 390

P = F' + 1 G=E

G=E- 1

400

IF

410

REM

* De a d ! * *******

420

REM

430

LOCATE

440

FOR

4 �i 0

OR

THEN

460

LOCATE

1 6 , 1 7 : PR I NT

LOCATE

1 2 , 9 : PR I NT

of . . ; F'

480

F OR

490

IF

T= 1

TO

P= 1 0

500

C L S : GO T O

510

REM

* Caug h t *

520

REM

********

530

S=S+ l

540

F OR

550

LOCATE

Q= 1

560 570

NE X T GOTO

16 , 17

S F' C ( 6 ) : NE X T R 1 1 S c ore = " ; S ; " o u

1 000 : NE X T

THEN

530

1 1 81 1

G , 2 1 : PR I NT

R = 1 T O 90 : L OC A T E 11 P R I N T 1 1 Sp l a t !

470 t

: 11111111111 1

MSX GAMES FOR YOUR

T

600

90

TO

50

1 4 , 7 : PR I NT

" We l l

c a u g h t ! ..

Q 470

580

REM

* En d

590

REM

*************

600

CLS

610

FOR

620

PR I NT

630

NE X T

640

FOR

of

g a me *

X=1

TO 2 1 1 S T R I N G $ ( 36 , " * 1 )

X K=7

TO

13

6 5 0 L OC A T E 4 , K : P R I N T 660 NE X T K

SPC < 2 8 )

670

" Y our

e

L OC A T E

is

680

LOCATE

mat ed 690 n e �·� t

5 , 8 : PR I NT

f i na l

sc ar

" ;S 5 , 1 0 : P R I NT

" Y ou

wi l l

" y ou

do

be

de

un l ess "

LOCATE

5 , 1 1 : PR I NT

b et t er

t i me . ••

700

GOTO

710

FOR

720

LOCATE

" : LOCATE

750 K= 1

TO

60

0 , 1 0 : PR I N T . . We l l 0 , 1 0 : P R I N T SPC < 1 5 )

68

d on e !


I

11111111111 : 730

GOSUB

740

NE X T

750

F OR

760

RUN

: 11111111111 1

INFERNO

790 K

T= 1

TO t op

2 5 0 0 : NE X T of

old

T

770

REM

* On

780

REM

**********************

Smok e y *

790

PLA Y

11 t 1 6 0 1 1

800

PLA Y

" o4 1 4 c t 25 5 1 6 4 r t 1 6 0 1 4 c e g o5 1 2c

. o4 a . " 810

PLA Y

1 1 1 2 r l 4 f t 25 5 1 6 4 r t 1 60 1 4 1 1

820

PLAY

11 f g a l 2 g . g . g "

830

PLA Y

1 1 1 4 c t 2 5 5 1 6 4 r t 1 6 0 1 4c e g l 2g . d . l

4 d d e f ed l 2c . c . c 11 840

RETURN

850

COLOR

9 , 1 , 1

860

COLOR

1 1 , 1 , 1

870

R E T UR N

69


I

11111111111 :

MSX GAMES FOR YOUR

: 11111111111 1

ALLSORTS This program is an example of a computer sort known as the Bubble Sort, because the lighter elements of the array bubble up to the top. This version was written by Andrew Ogilvie, and it can be amended in a number of ways. To sort a list in descending order, change the '<' in line 260 to a '>'. If you want to sort a list of numbers instead of strings, just delete all the dollar signs ($) in the program listing.

l ilt REM 2 JZI REM 30 REM 4 121 REM ��0 REM

***************** * So r' t i n g P r o g r a m * * ���������������* * An d r e w O g i l v i e * *****************

70


I

l l l l l.l l l l l l : 6121

DIM

7121

W I DTH

80

KEY

90

CLS

1 00 1 10

N $ < 1 121 121 > 40

OFF TAB < 7 > ; " Sort i n g Prog ram " ,... ,... ,... ,... ,... ,... ,... ,... ,... 1 1 11

P R I NT

F' R I 1\1 T T A B ( 7 )

'""' .... ..., '"·' '""' '""'

·

!I

P R I N T : P R I N T : I N P U T 11 E n t e r o f i t em s t o s o rt 11 ; N

1 20 r

: l l l l lllll l l1

ALLSORTS

1 30

IF

I NT < N > < > N

1 40

IF

N<0

1 50

PR I NT

1 60

FOR

1 70

P R I N T " I t em

lBIZI

OR

I=l

I NP U T

TO

N

N$ ( I )

No

1 90

NE X T

200

CLS

210

F' R I NT " P l e a se

11

I

2 2 121

REM

* So r t *

230

REM

******

THEN

N > 1 00

TO

wa i t ,

11

1 20

"

2 4 121

FOR

I=1

FOR

J= I + 1

260

IF

270

K $ = N $ < I ) : N $ < I ) = N $ ( .J )

N

N$ < I > < N$ ( J )

THEN

290

280

N $ ( .] ) = K $ NE X T

3 0 121

REM

* F i n i shed

310

REM

******************

CL. S FOR

34 0

1=1

3 �5 121

NE X T

360

PR I NT

370 380

I

TO

390

GOTO KEY

410

END

Sort i n g *

N

I ; T A B ( �i ) ; N $ < I )

I N P U T 11 See I F D $ = 1 1 n 11

4 0 121

I

J : NE X T

F' R I N T

th i nk i ng

N- 1 TO

2 9 121

320

;

I 'm

250

330

n um b e

1 20

T HE N 11 ; I ;

the

l i st OR

aga i n

D $ = 11 N 11

310 ON

71

( y /n ) T HE N

" ; D$

4 00


I

11111111111 :

GAMES FOR YOUR

MSX

: 11111111111 !

NIGHT FIGHTER Warning . . . warning . . . Incoming aliens have threat足 ened to destroy the earth. How long can you delay their almost inevitable victory? You have only a flickering (and somewhat faulty) radar screen to warn you of their approach. To make matters worse, each time you manage to destroy an attack wave, the next wave increases its speed. Use the joystick to control your weapon. You are able to adjust the enemy attack speed; a level of 200 is incredibly easy, while one of 1 5 (or less) will take all your skill to control.

72


1 111111 11111: 10

REM

***************

20

REM

*N i ght

30

REM

* ������������� *

40

REM

*D .

F i g h t er *

P i l l i n g er *

50 REM

*

D .

O l es h

*

REM

*

G .

C a r t er

*

60

: 11111111111 1

NIGHT FIGHTER

70

REM

***************

80

KE Y

OFF

90

CLS Var i ab l es *

1 00

REM

* I n i t i a l i se

1 10

REM

**********************

1 20 1 30

Z = R N D < - T I ME > I NP U T 11 L ev e l

1 40

A=0

" ; LEV

1 50

B = I NT

< RND < 1 > * 1 0 ) +5

1 60

D= I NT

< RN D < 1 > * 1 5 > + 8

1 70

C=32

1 80

Y=10

1 90

REM

* Re a d

200

REM

************

210

R D = S T I C l< ( 1 ) : F = S T R I G ( 1 ) I F RD= l THEN Y = Y - 1

220

IF

LDCATE

250

CLS IF

270 11

L OC A T E

280

SOUND

SOUND

3 , Y : PR I N T

F < >- 1

260

Y=Y+1

THEN

RD=5

230 240

i nput *

THEN

" ? ••

320

4 , Y : PR I N T

" - -- - - - - - - - - - - - - -

0 , 20 : S O U N D 7 , 6 3 : S O U N D 1 2 , 30 : SOUND 1 3 , 9 490

290

IF

Y =B

THEN

GOSUB

300

IF

Y =D

THEN

G O S U B 500

310

IF

B=30

320

PC=PC+ l : I F

D=30

AND

8 , 16 :

THEN

P C < = LE V

450

THEN

1 90

E L SE

F' C = 0 330

IF

B < 30

THEN

B = B + I NT < RN D < 1 > * 3 + 1 )

340

IF

D < 30

THEN

D=D+ I NT < RND < 1 > * 3- 1 )

350

C=C- 1

360

CLS

73


I

11111111111:

GAMES FOR YOUR

: 1 1 1 1 1 1 1 1 1 11 1

MSX

370

IF

B < 30

THEN

L OC A T E

C , B : F' R I NT

380

IF

D < 30

THEN

LOCATE

C , D : F' R I N T

390

IF

C >2

400

REM

*End

410

REM

*************

420

PR I NT

" Th e

W or l d

h as

P R I NT

" Th e

N i ght

F i g h t er

11

=" THEN of

"? : Jl -

r? :

1 90 Game * b een

Demo l i s

hed " 430 "

h ad

" ;A ;

a t t em p t s . "

440

STOP

450

A=A+ 1 GL= 1

TO

5 : NE X T

460

F OR

470

L E V = L E V -L E V / 3

480

GOTO

490

SOUND

: SO U N D 500

1 50 6 , 3 1 : SO U N D

7 , 54 : SOUND

12 , 10

1 3 , 9 : B= 30 : RE T U R N 6 , 3 1 : S O U N D 7 , 5 4 : SO U N D 1 3 , 9 : D=30 : RETURN

SOUND

: SO U N D

GL

74

12 , 10


I

11111111111 :

STOC K MARKET

:11111111111 1

STOCK MARKET In this program written by Paul Precious you can buy and sell shares in four concerns. The game is for two people, with the computer calculating the value of the shares and also telling you which of the players has won.

75

]


I

lllllllllll:

MSX GAMES FOR YOUR

: l l l l l ll l l l l l

10

REM

* St oc k

20 30

REM REM

* B y P . P r e c i ou s & G . C a r t er * ****************************

40 50

DIM

A ( 1 2 > , P ( 4 ) , N$ < 2 >

REM

* Se t

60

REM

*********************

70

COLOR

80

I<E Y

90

CLS

1 00 1 10

Mark et *

up

t it le

sc r e e n *

12 , 15 , 12

OFF

LOCATE LOCATE

9 ., 6 : P R I N T 9 ., 7 : PR I N T

S T R I NG $ ( 1 4 ., " £ " ) " £ S t o c k M ar k e t £ " S T R I NG $ ( 1 4 ., " £ " )

1 20

LOCATE

9 ., 8 : PR I NT

1 30

LOCATE

0 ., 1 5 : I NP U T

rst

p l a y er ' s

1 40

I NP U T

s

" Wh at

1 50

I NP U T

" Ho w

f or IF

1 70

LOCATE

i s

the

muc h

N N > = 1 00 0

p l ease

sec o n d

do

THEN

f i

p l a y er '

y ou

want

to

pl

t oo

lo

1 90

0 ., 1 9 : PR I NT e n t er

" Th at

is

aga i n . "

1 80

GOTO

1 90

FOR

200

A < I > = 1 00 : P < I > = 1 00 0

210

NE X T

220

REM

230 REM

the

£ " ; NN

1 60 w ;

is

" ; N$ ( 1 )

" ; N$ ( 2 )

n am e

ay

" Wh a t

n ame

1 50 I=1

TO

4

I * I n i t i a l i se

v a r i ab l e s *

********************** < - T I ME >

240

B=RND

2 �i 0

FOR

260

H = R N D < 1 > : H= I N T < 4 * H > + 1

270

IF

H= 1

THEN

280

IF

H=2

THEN

A$= " D i amon d s "

290

IF

H=3

THEN

A $ = " We a p o n s " A $ = 1 1 B r i t i sh Te l e c om 11

.]= 1

TO

2

300 I F H=4 THEN 3 1 0 I<= I N T ( .J * 4 + H )

A $ = " P l an es "

320

REM

* D i sp l a y

330

REM

****************

sc reen *

340

CLS

350

LOCATE

0 ., 4 : PR I NT

76

11 Stoc k

M a r k e t " ., .]


I

11111111111 : 11 ; N$ <

; 11 > 11 ; 11

.] >

F' R I NT : F'R I NT

360

apons

D i amon d s

1 1 £ 11 ; A < 1 > ; TA B ( 7 ) ; 11

We

P R I NT : PR I N T

11 1

.

£ 11 ; A < 2 > ; T £ .. ; A < 4 )

£ 11 ; A < 3 > ; T A B < 2 6 > ; 11

AB < 1 7 > ; 11 380

11 F' l a n e s

B . Te l ec om 11

P R I NT

370

: 111111111111

STOCK MARKET

. ; A ( 5 ) ; T AB < 7 > ; A ( 6 )

; T A B < 1 7 ) ; A < 7 > ; T AB ( 26 ) ; A < 8 > P R I NT : PR I N T

390

11 ; A ( 9 ) ; T AB < 7 > ; A < 1 0

11 2

> ; T A B < 1 7 > ; A < 1 1 > ; T A B < 26 > ; A < 1 2 > Y =A < l > * A < 9 > +A < 2 > * A < 1 0 ) + A < 3 > * A < 1 1 )

400

+A < 4 > * A < 1 2 > X =A < 1 > * A < 5 > +A < 2 > * A < 6 > + A ( 3 > * A < 7 > +A

410

< 4 > *A < 8 > L OC A T E

420 s :

0 , 1 2 : P R I NT

" V a l ue o f

Sh are

£. 11 ;

430

IF

THEN

PR I NT

X

440

P R I NT : PR I N T

11 Cash

on

J= 1

P R I NT

ELSE

Y

£. " ; P ( .J

h an d

) IF

450 ; 11

has

460

P R I N T : PR I N T

THEN

P < J > >NN

w on . 11 : G O T O

P R I NT : F'R I N T

N$ ( J )

740 " ; A $ ; 11

Bu

B $ = 11 S E L L 1 1 )

TH

.. Ho l d i ng s

.

y / Se l l ? .. 0 , 1 7 : I NF' U T

B$

470

LOCATE

480

IF

B$= " N 11

490 500

IF IF

B$= .. Z " THEN 740 N O T ( B$ = 1 1 B U Y 1 1 O R

EN

THEN

460

530

IF

B $ ; . . h ow N B$= 11 S 11 THEN

540

IF

P < J > <A < H > *N

550

GOSUB

560

GOTO

510 520

PR I NT I NP U T

570 REM 580 REM 590 600 ave

680

man y

THEN

..

;

590 500

700 680

* Ca n y ou a f f or d i t ? * ********************

N < =A < K > T H E N 6 5 0 A < K > = 0 T H E N P R I NT an y t o se l l . 11 : LOCATE IF IF

0

77

11 Y ou

d on ' t

0 , 1 5 : GOTO

h 46


I

11111111111 : 610

" That

PR I NT

: 11111111111 1

X GAMES FOR YOUR MS

t oo

is

en t er

man y ;

ag

a i n . .. 620

L OC A T E

630

REM

0 , 1 5 : GO T O

460

* C a s h , n o . , v a l u e o f s h a re s * ****************************

640

REM

6 50

N=-N

660

GOSUB

670

IF

680

NE XT

J

690

GOTO

250

700

P < J > = I N T < P < J > -A < H > * N >

710

A < K > = I NT < A < K > +N >

720

F = R N D ( 1 > : A < H > = I NT ( < A < H > + I NT < F * 50 >

700 A <H> =10

THEN

A <H> < 10

- 1 0 > * N/ 4 ) 730

RETURN

740 Z$

PR I NT : I NPUT

750

IF

Z $= " Y "

" An o t h e r

T HE N

RUN

78

g am e

ELSE

< YIN> " ;

END


I

11111111111 :

TE LEPHONE BOOK

: 11111111111 1

TELEPHONE BOOK One of the most powerful features of the BASIC language is its ability to read stored data using READ, DATA and RESTORE commands. To demonstrate how this works, Andrew Ogilvie has written a program to store a personal telephone directory. You must type in your data at the end of the program, using line numbers starting at 3 10. When the program is run, you simply type in the surname of the person you wish to call, and their name and number are displayed on the screen.

79


I

1111111 I I l l : 10

REM

****************

20 30 40 50

REM REM REM REM

* T e l ep h on e B o o k * ����������� ��� * * * An d r e w O g i l v i e * ****************

60

REM

70

CLS

80

LOCATE

90

P R I N T : PR I NT I NP U T . , En t er

1 00 n ow

the

tel .

surn ame y ou n u mb e r f or :

1 10

RESTORE REM

* Se a r c h

1 30

REM

*****************

1 40

READ

1 50

f or

1 60

IF

GOTO

N$=S$

1 80

CLS

1 90

REM

200

REM

THEN

2 40

1 80

1 40 * Pr i n t

d at a *

210 220

P R I NT

230

P R I NT . , T e l .

240

P R I NT : P R I NT : P R I NT

250

P R I NT " An ot h er

260

I NP U T

270

IF

D$ D$= 11 n "

280

IF

S $ = " en d "

y

n ot

No .

OR

" ; N$

: " ; T$ go

( y/n )

D$= ., N " THEN

l i s t ed . " : G O T O

GOTO

k

P R I NT : P R I NT . , S o r r

THEN

************ P R I NT " N a m e : 1 1 ; I $ ; " .

290

to

d at a *

l i st ed . " : GOTO

1 70

w i sh " ; S$

N$ , I S , T$

N $ = . , en d "

IF n ot

Book 11

7 , 0 : P R I NT " T e l ep h o n e

1 20

y ,

: 111111111111

X GAMES FOR YOUR MS

" ;

THEN

300

P R I NT : PR I N T " Sorr 230

20

300

END

310

DATA

0 g i l v i e , A , 4 1 5- 9 2 6 5 6

320

DATA

C a r t er , G , 8 7 3 - 93 2 1 p o l i c e , t h e , 99 9

330

D ATA

340

D A T A h os p i t a l , t h e , B9 7 - 4 6 5 4

350

DATA

e n d , of , d a t a

80


I

11111111111:

GRAPHICS DE MONSTRATIO N

:11111111111 !

GRAPHICS DEMONSTRATION The following programs demonstrate some of the most spectacular features of MSX machines - their colour graphics.

81


I

11111111111:

GAMES FOR YOUR

: 1 1 1 1 11 1 1 1 11 1

MSX

WAVE FORM This program illustrates the power of the LINE command in the high resolution graphics mode and is possibly the best one in this section. The program is very fast, and the effect is quite hypnotic. Wave form's shape is determined randomly, so it will differ from run to run. 10 20 30

REM REM REM

************** * Wave Form * * ���������� *

40

REM

* D . P i l l i n g er , *

50

REM

*D .

O l esh

60

REM

*G .

Carter

70

REM

**************

80

F OR

X= l

90

COLOR

TO

&

* *

1 000 : NE X T

X

1 , 1 , 1

1 00

CLS

1 10

SCREEN

1 20

X = I NT < RND < 1 0 > * 255 )

2

1 30

Y = I NT < RND < 1 0 > * 1 7 5 >

1 40

L = I N T < RN D < 1 0 > * 2 5 5 )

1 50

M = I NT < RN D < 1 0 > * 1 7 5 >

1 60

U= 1 5 : V=7

1 70

DEF

1 80

GOSUB

1 90

FOR

Q=2

TO

16

200

F OR

8= 1

TO

1 50

210

N U M = N U 1'1 - 1 .

F NR < X > = I N T < RN D < l > * X >

220

IF

230

L I NE

360

NUM=0

THEN

GOSUB

360

( X , Y ) - < L ., M > , Q

240

IF

I NK E Y $ = "

250

IF

X +A >255

OR

X +A < 0

T HE N

260

IF

Y +B > 1 75

OR

Y +B <0

THEN

B=-B

270

IF

L+C >255

OR

L+C <0

T HE N

C=-C

280

IF

M+D > 1 75

OR

M+C <0

THEN

D=-D

"

T HE N

82

370 A=-A


I

11111111111:

:11111111111 1

WAVE FORM

290

X = X +A : Y = Y + B

300

L=L+C : M=M+D

310

NE X T

320

FOR

330

CLS

G VV= l

TO

340

NE X T

3 �5 0

IF

360

A=FNR < U > -V

370

B=FNR < U > -V

300 : NE � T

VV

Q

I NKE Y $ = "

380

C = F NR < U > - V

390

D = F NR < U > - V

"

THEN

400

NUM=FNR < 20 ) + 1 0

410

RETURN

83

370


I

11111111111 :

GAMES FOR YOUR

MSX

: 11111111111 1

GRAPHICS This graphics program illustrates the computer's speed and accuracy, and makes good use of the high resolution graphics in Mode 2. You might like to add a variable for colour, and make up a loop to make the pattern appear in different colours. 10

REM

***************

20

REM

*

30

REM

*

40

REM

*D .

Graph i c s

*

����� -- -

*

P i l l i n g er ., *

&

50

REM

*

D .

O l esh

60

REM

*

G .

C a r t er .

***************

70

REM

80

CLS

90

COLOR

1 00

* *

1 , 1 ., 1 2

SCREEN

1 10

FOR

1 20

L I NE

1 40

L I NE

I=1

TO

1 75

S T EP

4

/( 0 ., I > < 2 5 �� - I ., I -· I > ., 3 1 3 0 L I NE < I , 0 > - < I + < 2 5 5 - I > ., 0+ I > ., 3

3 1 50

L. I N E

-�

< 25 5 - I ., 1 7 !:i ) - < I - 2 5 5 - I ., 1 75 - I ) .,

< I ., 1 7 5 > - < I + 2 !:i 5 - I ., 1 7 5 - I > , 3

1 60

NE X T

I

1 70

GOTO

1 70

84


1

11 1 1 1 11 1 11 1 :

TIME 'S EYE

:1 1 1 1 1 1 1 1 1 1 1 !

TIME'S EYE Before drawing the picture, the program calculates the point positions. It puts them in an array and then plots the graph.

85


I

11111111111:

MSX GAMES FOR YOUR

10

REM

***************

20

REM

*

T i me ' s

Eye

*

30

REM REM

*

����������

*

40

P i l l i n g er , * * D . O l esh &

*D .

50

REM

*

60

REM

*

70

REM

***************

80

COLOR

90

SCREEN

1 00

: 11 1 1 1 1 1 1 1 1 1 1

G .

Cart er .

*

1 , 1 , 1 2

A < 36 > , B ( 36 >

DIM

1 10

L = 1 2 0 : .J = 8 0

1 20

FOR

H= 1

TO

5

1 30

FOR

N= 1

TO

36

1 40

K=N / 1 8 * 3 . 1 4 1 5927#

1 50

A < N > = 1 28 + L * S I N < K >

1 60

B < N > = 8 8 + .J * CO S ( K )

1 70

PSET

1 80

NE X T

<A <N> ,B <N> ) ,3 N N= 1

1 90

FOR

200

M=N+ 1 2

210

IF

220

TO

36

L I NE

M = M- 36 <A (N) ,B (N> > - <A <M> ,B <M> > ,6

230

NE X T

N

240

L = L / 2 : .J = .J / 2

M > 36

250

NE X T

H

260

GOTO

2 60

THEN

86


I

1 1 1 1 11 1 1 1 1 1 :

J D HAT

: l l l l l l l l ll l l

3D HAT This program draws a three-dimensional Mexican hat on the screen. It takes a while to complete, but the wait is worth it.

87


I

11111111111 :

UR MSX GAMES FOR YO

10 20

REM REM

************** * 3D HAT *

30

REM

*

40

REM

* D . P i l l i n g er , *

����� �

*

50

REM

*D .

60

REM

**************

70

CLS

80

DEF

90

PR I NT

: 111111111111

O l esh

*

FNA < Z > =3 2 * S I N < Z / 6 ) .. Reso l ut i on

1 00

I NP U T

1 10

SCREEN

1 20

CLS

1 30

F OR

1 40

.] = 0 : K = 1

< 1 - 1 0 ) .. .

R 2

X = - 1 00

TO

1 00

1 50

V = R * I N T < S QR ( ( 1 0A 4 > - X * X > / R )

1 60

FOR

1 70

¥ - V T O -V S T E P - R Z = I NT < 80 + F N A < S Q R < X * X + Y * Y > > - . 7 071

Y > 1 80

I F

1 90

.J = Z

Z <J

THEN

1 90

200

PSET < X + 1 1 0 , Z )

210

K=0

220

NE X T

Y

230

NE X T

X

240

GOTO

240

88


I

1 1 1 1 1 1 1 1 1 11 :

EYE

: 1 1 1 1 1 1 11 1 1 1 1

EYE This pregram shows how arrays can be used to store data which will be used to create a graphic display. The pattern produced is like a devil's eye. As the hole shrinks, the speed increases and the wheel develops.

89


I

11111111111:

GAMES FOR YOUR

10

REM

**************

20

REM

*

30

REM

*

40

REM

* D . P i l l i n g er , *

: 1 11 1 11 1 1 1 1 1 1

*

Eye

*

&

*

50

REM

*

D.

O l esh

60

REM

*

G .

Cart er .

**************

70

REM

80

SCREEN

90

COLOR

1 00

MSX

*

2 1 ,7 ,7

CLS

1 10

DIM

A < 12> ,B < 12>

1 20

FOR

N= l

1 30

K =N / 6 * 3 . 1 4 1 59 2 7 #

1 40

A < N > = 1 2 8 + 8 IZI * S I N < K > : B < N > = 8 8 + 8 0 * COS

TO

12

<K> 1 50

PSET < A < N > , B < N > >

1 60

NE X T

1 70

F OR

N= 1

TO

12

1 80

FOR

M= l

TO

12

N

1 9 0 L I NE < A < N > , B < N > > - < A < M > , B < M > > M

200

NE X T

210

NE X T

N

220

GOTO

220

90




I

1 11111111111:

WRITING PROGRAMS

;111111111111'

How To Write Better Programs Compiled by Tim Hartnell

It ' s all very well spending your time typing in programs like those in this book, but there is sure to come a time when you decide you ' d like to develop some games pro­ grams of your own . In this section of the book , I ' d like to discuss a few ideas which may help you write g?mes which you' ll both enj oy developing and - more impor­ tantly - you and your friends will enj oy playing . HAVE A CLEAR GOAL I N MIND

Although in many (perhaps most) cases, your computer program will take on a life of its own as you write it , developing away from the concept you had in mind when you started programming, it is important at the outset to have a pretty good idea of what your game will involve . This is not as obvious a suggestion as you might think . Of course , you ' ll know if you' re developing a ' chase the ghosts around the maze as you eat the power pills' pro­ gram that you are going to need a different sort of pro­ gram layout to one which places you inside a H aunted Oak, peopled with gremlins and halflings . But you have to go beyond the basic ' ' I ' m going to write me an Ad ven­ ture ' ' stage to work out such things as (a) what the object of the game will be; (b) what the screen display will look like ; (c) what variables, and variable names, you ' ll need ;

93


I

11111111111:

MSX GAMES FOR YOUR

:11111111111 1

(d) the nature of the player input ; (e) how ' winning' or ' los足 ing ' will be determined ; and so o n . Let ' s lo o k a t these o n e b y one . THE OBJECT OF THE GAME

This can usually be stated very succinctly : " To find the lost treasure of the Aztecs" ; " To destroy as many asteroids as possible before running out of ships' ' ; or ' ' To play a game of chess ' ' . But even though this stage of the game production can be accomplished very quickly, it should not be overlooked. Get this statement - which might be j ust a sentence , or may run to a paragraph length or more , if there is more than one ' screen ' to be worked through , with a different scenario for each screen - down in writing . Y o u may well discard the original aim as the program develops , and it looks like the direction it is taking is bet足 ter than the one you first thought of. Despite this , it is im足 portant to have something concrete to aim at , to stop you wasting hour after hour doodling aimlessly . THE SCREEN DISPLAY

I ' ve found that making a sketch , or sketche s , of what the display will look like once the program is up and running, is of tremendous benefit . Once you have your drawing, and it doesn ' t matter how rough it is so long as it shows all the important things you want on the screen , and their relative positions and size , you ' ll discover the program concept is likely to crystalize . As well as seeing immediately how you will write parts of the code to achieve the game ' s aim, you ' ll get an idea of whether or not the game is even worth writing in the form you had considered . Perhaps the game will be too complex if you leave everything on the screen you were intending to ; or maybe most of the screen will be wasted space , so that a more complicated game scenario should be devised .

94


'1 11111111111:

WRITING PROGRAMS

: 1 1 1 11 1 1 1 1 1 1 1 1

I ' ve discovered that sketching the proposed screen display before starting to program is particularly useful , especially when creating arcade and simulation games . Y o u get a n indication o f the variables you ' ll need, the user-defined graphics , the kind of player inputs which will be most conducive to good player interaction, and so on . Simulation games , as you probably know, are those in which the computer models an external reality - such as running a cake shop, a war , or an airport - and allows you to experience (after a fashion) what it would be like to take part in such an activity in real life . Simulation games are not particularly difficult to write - in terms of needing clever coding - but instead demand a methodical , pain足 staking approach to the program . In my book Th e ZX Spectrum Explored (Sinclair Browne , 1 982) , there is a program with the unlikely name of ' Workin ' for the Man ' , in which you are running a fac足 tory , staffed with a highly-erratic workforc e, involved in the manufacture of some mythical product called ' The Zibby ' . The player gets a factory report two or three times a wee k , and from this report has to decide how many staff he or she will hire or (attempt to) fire , how many Zibbies will be the production target for the week , and so on. This report is the key to the program , and when f wrote the game , I started by making a sketch of how the screen would loo k . It was a bit like this : FACTORY REPORT : WEEK 5 Capital in hand is $2 , 65 7 . 92 Your stores hold 1 2 Zibbies worth $ 1 69 . 68 They sell for $ 1 4 . 1 4 each and cost $ 7 . 4 1 each to make Workforce is 7 people Their wages are $4 1 each and the wage bill this week is $287

95


I

11111111111:

X GAMES FOR YOUR MS

:11111111111

Each person can make l 0 Zibbies a wee k , a total output of 70 Once I had this sketch drawn up , I was ready to go . As you can see , it gives a very good indication of the variables which will be needed . For a start , I know I ' ll have to control the number of the wee k, the capital , the contents of the stores (and their value) and so on . I found that once I ' d completed the screen display sketch , the rest of the program was relatively easy to write . Doing a sketch in this way gives you an instant guide to the main variables you ' ll nee d . USE HELPFUL VARIABLE NAMES

I also tend to use variable names which relate in some way to that which they are representing , as it saves hav足 ing to keep a list of the variables which have been assign足 ed, and what they ' ve been assigned to . For example , I could use WK for week , CH for capital in hand , MZ for the cost of making each Zibby and SZ for the selling price. If Z was the number of Zibbies , I would know that the total value of Zibbies I had was Z (the number of them) multiplied by SZ (their selling price) and it cost me Z multiplied by MZ (their price of manufacture) to make them. My profit , if I sold them all , would then be Z*SZ minus Z*M Z . If you follow a similar ide a , you ' ll find i t i s much easier to keep track of what is happening in your program than might otherwise be the case . THE NATURE OF THE PLAYER INPUT

It ' s important to make games easy and fun to play . It ' s not good having the best Asteroids-derivative program in the world if players have trouble hitting the fire button because you ' ve placed it right next door to the ' rotate ' control . Many programs which provide ' up ' , ' down ' , ' right ' and

96


1 1 1 11 11 1 1 1 1 11 :

WRITING PROGRAMS

: 1 1 1 11 1 11 1 11 1 '

' left' controls , automatically use arrow or cursor keys , even though these might be most inconvenient for the player to use . Have a look at your keyboard , and see if you can find better ones. I often use " Z " and " M " for pro足 grams which need j ust left and right movement , with the space bar for fire . These keys seem logical to me , and no player time is wasted in learning them, or trying to remember them when the game is underway . In a similar way , I tend to use ' ' A ' ' (for up) and ' ' Z ' ' (for down) for the left hand, and the " greater than " and " less than " keys for left and right (pointing out to the player that the < and > symbols point in the relevant directions) . Use INKEY$ or GET$ whenever you can , to prevent the player from having to use the RETURN or ENTER keys to get the program underwa y. HOW THE GAME WILL END

The way the game will be won and lost needs to be defin足 ed, and clear to the player. Do you need to blast all the aliens to win , and will you lose automatically if one alien lands, and you ' ve still got ships left , or only if you have no ships left . In a two-player game , is the loser the first player to lose three lives , or seven pieces , or does the game only end when the differen ce between the two scores is three or seven or whatever . Work this out , and make i t very clear t o the player. Whether the goal of the game is to clear the left-hand side of the screen of the Screaming Widgies, or to clock up a fortune of $ 7 . 3 billion, it must be both clear to the player, and possible t o achieve . A ' win condition' which can never be achieved on the higher levels of play is most unsatisfactory . No matter how difficult it is to do , you are only defrauding players if you set goals whose achieve足 ment is not possible within the constrictions you ' ve put in足 to the game . I hope these five points may give you a few ideas on how you can go ahead and write programs which will be relatively easy to write , and which will be satisfying for you and your friends to play .

97



I

1 1 11 1 1 1 1 1 1 11 :

GLOSSARY

: 111 1 11111111!

GLOSSARY A Accumulator - the place within the computer in which

arithmetic computations are performed and where the results of these computations are stored . the series of steps the computer follows to solve a particular problem .

Algorithm

-

Alphanumeric - this term is usually used in relation to a

keyboard , as in ' it is an alphanumeric keyboard ' , which means that the keyboard has letters as well as numbers . It is also used to refer to the ' character set ' of the computer. The character set comprises the numbers and letters the computer can print on the screen . ALU (Arithmetic/Logic Unit) - the part o f the computer

which does arithmetic (such as addition , subtraction) and where decisions are made . AND - a Boo lean logic operation that the computer uses

in its decision-making process. It is based on Boolean algebra , a system developed by mathematician George Boole ( 1 8 1 5-64) . In Boolean algebra the variables of an expression represent a logical operation such as OR and NOR . ASCII - stands for American Standard Code for

I n for m a t i o n E x c h ange , the m o st widely u s ed e n c o d i n g s y s t e m fo r E n g l i s h l a n g u a g e 路 alphanumerics . There are 1 28 upper and lower case letters , digits and some special characters. ASCII converts the symbols and control instructions into seven-bit binary combinations. Assembler - a program which converts other programs

written in assembly language into machine code (which the computer can understand directly) .

99


I

11111111111:

X GAMES FOR YOUR MS

: 11 1 11 11 11 1 1

Assembly language is a low level programming language which uses easily memorised combinations of two or three letters to represent a particular instruction which the assembler then converts so the machine can understand it . Examples of these are A D D ( ad d) , and S U B ( subtract) . A co m pute r programmed i n assembly language tends t o work more quickly than one programmed in a higher level language such as BASIC .

B - an acronym for Beginners All-Purpose Symbolic Instruction Code . It is the most widely used computer language in the microcomputer field . Although it has been criticised by many people , it has the virtue of being very easy to learn . A great number of BASIC statements resemble ordinary English .

BASIC

Baud - named after Baudot , a pioneer of telegraphic

communications. Baud measures the rate oftransfer of information and is approximately equal to one bit per second . BCD - an abbreviation for Binary Coded Decimal . Benchmark - a test against which certain functions of the

computer can be measured . There are a number of so足 called ' standard Benchmark tests' , but generally these only test speed. This is rarely the aspect of a microcomputer that is most of interest to the potential buyer . Binary - a numbering system that uses only zeros and ones. Bit - an abbreviation for Binary Digit . This is the smallest

unit of information a computer circuit can recognise . Boolean Algebra - the system of algebra developed by

mathematician G eorge Boole which uses algebraic notation to express logical relationships (see AND) . Bootstrap - a short program or routine which is read into

l OO


41 1 1 1 1 1 1 1 1 1 1 :

GLOSSARY

: 1 1 1 1 1 1 1 1 1 1 11 1

the computer when it is first turned on. It orients the computer to accept the longer, following program . Bug - an error in a computer program which stops the

program from running properly. Although it is generally used to mean only a fault or an error in a program , the term bug can also be used for a fault in the computer hardware . Bus - a number of conductors used for transmitting sig足

nals such as data instructions, or power in and out of a computer. Byte - a group o f binary digits which make up a

computer word. Eight is the most usual number of bits in a byte .

c CAI - Computer Assisted Instruction . CAL - Computer A ssisted Learning .

The term is generally used to describe programs which involve the learner with the learning process.

Chip - the general term for the entire circuit which is

etched onto a small piece o f silicon . The chip is , of course , at the heart of the microcomputer. Clock - the timing device within the computer that

synchronises its operations . COBOL - a high level language derived from the words

Common Business Orientated Language . C OBOL is designed primarily for filing and record-keeping . Comparator - a device which compares two things and

produces a signal related to the difference between the two . Compiler - a computer program that converts high

level programming language into binary machine code so the computer can handle it . Complement - a number which is derived from another

according to specified rules.

101


I

11111111111:

GAMES FOR YOUR

MSX

:11111111111

Computer - a device with three main abilities or

functions: l ) to accept data 2) to solve problems 3) to supply results CPU - stands for Central Processing Unit . This is the

heart of the computer ' s intelligence , where data is handled and instructions are carried out . Cursor - a character which appears on the TV screen

when the computer is operating . It shows where the next character will be printed . On a computer there are usually ' cursor control keys' to allow the user to move the cursor around the screen .

D information in a form which the computer can process .

Data

-

Debug - the general term for going through a program

and correcting any errors in it , that is, chasing down and removing bugs (see Bug) . Digital Computer -a computer which operates on

information which is in a discrete form . Disk/Disc - this i s a magnetically sensitised plastic disk ,

a little smaller than a single play record . This is used for storing programs and for obtaining data. Disks are considerably faster to load than a cassette of the same length program . The disk can be searched very quickly while a program is running for additional dat a. Display - the visual output of t h e computer , generally on

a TV o r monitor screen . a printer which prints either the listing of a program or that which is displayed on the TV screen . Each letter and character is made up of a number of dots. The higher the number of dots per character the finer the resolution of the printer .

Dot Matrix Printer

-

102


I

1 11 11 1 1 1 1 1 1 1 :

GLOSSARY

: 1 1 1 1 1 1 1 11 1 1 1 1

Dynamic Memory - a memory unit within the computer

which ' forgets' its contents when the power is turned off.

E Editor - this term is generally used for the routine within

the computer which allows you to change lines of a program while you are writing it . EPROM - stands for Erasable Programmable Read足

Only Memory . This is like the ROM in the computer, except that it is fairly easy to load material into an EPROM and it doesn ' t disappear when you turn the power off. E PROMs must be placed in a strong ultra violet light to erase them . Error Messages - the information given by a computer

where there is a fault in the coding during a part of a program , usually shown by the computer stopping , and printing a word, or a word and numbers , or a combination of numbers only, at the bottom of the screen . This tells you what mistake h as been mad e. Common mistakes include using t h e letter 0 instead o f zero in a line , o r leaving o ut a pair of brackets , or one of the brackets , in an expression , o r failing to define a variable .

F File - a collection of related items of information

organised in a systematic way . Floppy Disk - a relatively cheap form of magnetic disk

used for storing computer information , and so named because it is quite flexible (see Disk/ Disc) . Flow Chart - a diagram drawn up before writing a

program , in which the main operations are enclosed within rectangles or other shapes and connected by

1 03


I

11111111111 :

MSX GAMES FOR YOUR

: 111111111111

lines, with arrows to represef!t loops, and decisions written at the branches. It makes writing a program much easier because traps such as infinite loops, or non-defined variables can be caught at an early stage . It may not be worth writing a flow chart for very short programs , but generally a flow chart aids in creating programs. Firmware - there are three kinds of ' ware ' in computers :

software ' temporary ' programs; hardware like the ROM which contains permanent information ; and firmware in which the information is relatively permanent , as in an EPROM (see EPROM) . Flip-Flop - a circuit which maintains one electrical con足

dition until changed to the opposite condition by an input signal . FORTRAN - an acronym for FORmula TRANslation, this

is a high level , pro blem orientated computer language for scientific and mathematical use .

G Gate - an electrical circuit which , although it may

accept one or more incoming signals, only sends out a single signal . Graphics - pictorial information as opposed to letters

and numbers .

B Hard Copy - computer output which is in permanent

form . Hardware - the physical parts of the computer (also see

software and firmware) . Hexadecimal (Hex) - a numbering system to the base

sixteen . The digits zero to nine are used , as well as the letters A, B, C, D, E and F to represent numbers . A

1 04


1 11 11 11 11 11 1 1 :

GLOSSARY

: 11 11 1 11 11 11 1 1

equals 1 0 , B equals 1 1 , C equals 1 2 , and so on. Hex is often used by microprocessor users. Hex Pad - a keyboard designed specifically for

entering hexadecimal notation. High Level Language - a programming language which

allows the user to talk to the computer more or less in English . I n general , the higher the level of the language (that is, the closer it is to English) , the longer it takes for the computer to translate it into a language it can use . Lower level languages are far more difficult for human operators but are generally executed far more quickly.

I Input - the information fed into the computer via a key足

board , a microphone , a cassette or a disk. Input/Output (1/0 Device) - a device which accepts

information or instructions from the outside world , relays it to the computer, a n d the n , after processing , sends the information out in a form suitable for storing, or in a form which could be understood by a human being. Instruction - data which directs a single step in the pro足

cessing of information by the computer (also known as a command) . Integrated Circuit - a complete electronic circuit

imprinted on a semiconductor surface . Interface - the boundary between the computer and a

peripheral such as a printer. Interpreter - a program which translates the high level

language fed in by the human operator, into a language which the machine can understand . Inverter - a logic gate that changes the signal b eing fed

in , to the opposite one . Interactive Routine

-

part of a program which is

1 05


I

lllllllllll:

GAME S FOR YOUR MSX

: ll l l l l l l l l l

repeated over and over again until a specified condition is reached .

J Instruction an instruction which tells the computer to go to another part of the program , when the destination of this move depends on the result of a calculation j ust performed .

Jump

-

K K - this relates to the size of the memory. Memory is

usually measured in 4K blocks. l K contains l , 024 byte s . the trigger word in a line of programming, usually the first word after the line number. Keywords include STOP , PRINT and G OTO .

Keyword

-

L Language - computer languages are divided into three

sections : high level languages, such as BASIC , which are reasonably close to English and fairly easy for humans to use ; low level languages, such as Assembler, that use short phrases which have some connection with English (ADD for add �nd RET for return , for instance) ; and machine code which communicates more or less directly with the machine . this stands for Liquid Crystal Diode . Some computers such as the TRS-80 Pocket Computer use an LCD display .

LCD

-

LED - this stands for Light Emitting Diode . The bright

red numbers which are often used on watch or clock displays are made up of LEDs. 1 06


rl l l l l l l l l l l l :

GLOSSARY

: 1 11 1 1 11 1 11 11 1

Logic - the mathematical form of a study of relationships

between events . Loop - a se quence of instructions within a program

which is performed over and over again until a particular condition is satisfied .

M Machine Language or Machine Code - an operation

code which can be understood and acted upon directly by the computer . Magnetic Disk - see Disk and Floppy Disk . Mainframe - computers are generally divided into

three groups, and the group a computer falls into depends more or less on its size . The computer you are thinking of buying is a microcomputer ; medium sized computers are known as minicomputers; and the giant computers that you sometimes see in science fiction movies are mainframe computers . Until 1 5 years ago mainframe computers were , in practical terms , the only ones available . Memory - there are two types of memory within a

comput e r . The first is called R O M (re ad-only memory) ; this is the memory that comes already programmed on the computer , which tells the computer how to make decisions and how to carry out arithmetic operation s . This memory is unaffected when you turn the computer off. The second type is RAM (random access memory) . This memory holds the program you type in at the keyboard or send in via a cassette or disk . In most computers the computer ' forgets' what is in RAM when you turn the power off. Microprocessor - the heart of any computer . It requires

peripheral unit interfaces, such as a power supply and input and output devices , to act as a microcomputer . MODEM - stands for Modulator Demodulator . This i s a

device which allows two computers to talk to each

1 07


I

11111111111 :

GAMES F OR YOUR MSX

: 11111111111

other over the telephone . The computers usually use a cradle in which a telephone receiver is place d . Monitor - this has two meanings i n computer terms. One

meaning is a television-like display. A monitor has no facility for tuning television programs, and usually the picture produced on a monitor is superior to that produced by an ordinary television . The second meaning of a monitor relates to ROM . The monitor of a computer is described as the information it has built in when you buy it . This information allows it to make decisions and carry out arithmetic computations . a framework to which extra circuits can be added . These extra circuits often give the computer facilities which are not built-in , such as that of producing sound or of controlling a light pen.

Motherboard

-

MPU - an abbreviation for Microprocessor Unit .

N Nano-second - a nano-second is one thousand billionth

of a second , the unit of speed in which a computer or a memory chip is often rated. Non-Volatile Memory - memory which is not lost when

the computer is turned off. Some of the smaller computers such as the TRS-80 Pocket Computer have non-volatile memory . The batteries hold the program you enter for several hundred hours . Not - a Boolean logic operation that changes a binary

digit into its opposite . Null String - a string which contains no characters. It is

shown in the program as two double quote marks , without anything between them. Numeric - pertaining to numbers as opposed to letters

(that is, alphabetic) . Many keyboards are described as being alphanumeric which means both numbers and letters are provided . 1 08


I

1 11 1 1 1 1 1 1 1 1 1 :

GLOSSARY

: 11 1 1 1 11 1 1 1 1 1 1

0 Octal - a numbering system which uses eight as the

base , and the digits 0, l , 2, 3, 4, 5, 6 and 7. The Octal s yste m is not used v e ry m u c h nowadays i n microcomputer fields. The Hexadecimal system is more common (see Hexadecimal) . Operating System - the software or firm ware generally

provided with the machine that allows you to run other programs . OR - an arithmetic operation that returns a l , if one or

more inputs are l . a method of sending text messages with a broadcast television signal . A teletext set is required to d e c o d e t h e m e s s a g e s . O r a c l e is r un b y Independent Television Service i n the U K , and a similar service - Ceefax - is provided by the BBC .

Oracle

-

information or data fed out by the computer to such devices as a TV-like screen , a printer or a cassette tape . The output usually consists of the information which the computer has produced as a result of running a program .

Output

-

Overflow - a number too large or too small for the

computer to handle.

p Pad - see Keypad . Page - often used to refer to the amount of information

needed to fill one TV screen, so you can talk about seeing a page of a program , the amount of the listing that will appear on the screen at one time . PASCAL - a high level language .

anything which is hooked onto a computer , for control by the computer, such as a disk unit , a printer or a voice synthesise r.

Peripheral

-

1 09


I

11111111111 :

GAMES FOR YOUR

MSX

: 11111111111

Port - a socket through which information can be fed out

of or in to a computer. Prestel - the British telecom name for a system of calling

up pages of information from a central computer via the telephone and displaying them on a television screen . A similar commercial version in the United States is known as The Source . - in computer terms program has two meanings. One is the list of instructions that you feed into a computer , and the second is used as a verb , as in ' to program a computer' .

Program

PROM - stands for Programmable Read Only Memory .

This is a device which can be programmed , and once it is then the program is permanent (also see E PROM and ROM) .

R Random Access Memory (RAM) - the memory within a

computer which can be changed at will by the person using the computer . The contents of RAM are usually lost when a computer is turned off. RAM is the memory device that stores the program that you type in and also stores the results of calculations in progress . Read-Only Memory (ROM) - in contrast to RAM , inform足

ation in ROM cannot be changed by the user of the computer , and the information is not lost when the computer is turned off. The data in ROM is put there by the manufacturers and tells the computer how to make d e c i s i o n s a n d h o w to c a rry o ut a r i t h m e t i c computations. The size o f R O M and R A M i s given i n the unit K (see K) . Recursion - the continuous repetition of a part of the

program . Register - a specific place in the memory where one or

more computer words are stored during operations.

1 10


I

1 1 11 1 1 11 1 1 1 1 :

GLOSSARY

: 1111111111111

a word that you cannot use for a variable in a program because the computer will read it as something else . An example is the word TO . Because TO has a specific computer meaning, most computers will reject it as a name for a variable . The same goes for words like FOR, G OTO and STOP.

Reserved Word

-

Routine - this word can be used as a synonym for

program , or can refer to a specific section within a program (also see Subroutine) .

s Second Generation - this has two meanings. The first

applies to computers using transistors, as opposed to first generation computers which used valve s . Second generation can also mean the second copy of a particular program ; subsequent generations are degraded by more and more noise . Semiconductor - a material that is usually an electrical

insulator but under specific conditions can become a conductor . Serial - information which is stored or sent in a

sequence , one bit at a time . Signal - an electrical pulse which is a conveyor of dat a. Silicon Valley - t h e popular name given to an area in

California where many semiconductor manufacturers are located . SNOBOL - a high level language .

the program which is entered into the computer by a user which tells the computer what to do .

Software

路-

this refers to two different computers which can accept programs written for the other.

Software Compatible

-

a non-volatile memory device which retains information so long as the power is turned on ,

Static Memory

-

lll


I

11111111111:

X GAMES FOR YOUR MS

: 11 11 1 1 1 1 1 11

but does not require additional boosts of power to keep the memory in place. Subroutine - part of a program which is often accessed

many times during the execution of the main program . A subroutine ends with an instruction to go back to the line after the one which sent it to the subroutine .

T Teletext - information transmitted in the top section of a

broadcast television picture . It requires a special set to decode it to fill the screen with text information . The BBC service is known as Ceefax , the ITV service as Oracl e . Teletext messages can also be transmitted by cable , for example the Prestel service in Britain or The Source in the United States. a device like a typewriter which can send information and also receive and print it .

Teletype

-

Terminal - a unit independent of the central processing

unit . It generally consists of a keyboard and a cathode ray display . Time Sharing - a process by which a number of users

may have access to a large computer which switches rapidly from one user to another in sequence , so each user is under the impression that he or she is the sole user of the computer at that time . Truth Table - a mathematical table which lists all the

possible results of a Boolean logic operation , showing the results you get from various combinations of inputs.

u UHF

-

Ultra H igh Frequency (300-3000 megaHertz) .

Ultra Violet Erasing - Ultra violet light must be used to

erase E PROMs (see EPROM) .

1 12


I

1 11 1 1 1 1 1 1 11 1 :

_ GLOSSARY

: 1 1 1 1 1 1 1 1 11 1 1 1

V Variable - a letter or combination of letters and symbols

which the computer can assign to a value or a word during the run of a program . VDU - an abbreviation for Visual Display Unit . Volatile - refers to memory which ' forgets' its contents

when the power is turned off.

w Word - a group of characters, or a series of binary

digits, which represent a unit of information and occupy a single storage location . The computer processes a word as a single instruction . Word-Processor - a highly intelligent typewriter which

allows the typist to manipulate text , to move it around , to justify margins and to shift whole paragraphs if nece ssary on a screen befo re outputting the information onto a printer. Word-processors usually have memories , so that standard letters and the text of letters, written earlier , can be stored.

1 13



1 11 1 1 1 1 1 11 11 1 :

BIBLIOGRAPHY

: 11 11 1 11 11 1 1 1 1

BIBLIOGRAPHY By Series Editor, Tim Hartnell U sborne have released a number of very attractive books in their Usborne Computer Books series. Drawing on their vast experience in the field of producing low足 priced, highly-coloured, attractive books for young readers , they ' ve produced some books which will enlighten both young and not-so-young readers . I ' ll look at three of their titles, three which cover just about the whole field of computer interests : Information Revolution

(Lynn Myring and Ian Graham, Rigby) . Presenting an eminently readable introduction to the ' revolution ' which covers such fields as computers (of course) , text information services via the television screen , word processing , ' future phones ' and satellite communications , Informa tion Revolution is an ideal guide for the person who wants an easy-to-read introduc足 tion to the field . Computer Jargon

(Corinne Stockley and Lisa Watts) . The tone of this book is set by the frontispiece , which has a number of odd little coloured robots sitting around a table laden with computer junk , pointing at each piece saying ' ' This is a disk drive ' ' , ' ' This is a digital tracer ' ' ( ! ) a n d ' ' This is a printer ' ' . Robotics - What Robots Can Do and How They Work

(Tony Potter and Ivor Guild) . This is definitely a candidate for the award of ' the longest

1 15


I

l l l ll l l l l l l :

X GAMES FOR YOUR MS

:lllllllllll

title of the year ' . But it is very accurate . Don't be put off by the pretty pictures, as you' ll soon discover this book has a lot of solid information . Topics covered include ' ' What robots can and cannot do " , " How arm robots work " , " How to teach a robot" and " Build your own micro-robot " ; this last section actually includes nine pages of circuit diagrams and all to build a little two­ motor robot which, following a program typed into your micro , will run about the floor. Robotics is a field of the near future (with personal robots certain to be a bigger craze - when 'real robots' finally arrive - than com­ puters will ever be) . Practise Your BASIC

(Gaby Waters and Nick Cutler) . You ' ll find this book - which predictably contains a number of exercises, puzzles and problems to solve by writing programs - should be useful in giving you a number of ' core problems ' which will run on your com­ puter and which can then be modified to take advantage of your system ' s special features. Program listings in­ clude ' Pattern Puzzles' , 'Jumping Man ' , ' Horse Race ' , ' Word Editor' and ' Treasure Hunt ' , a mini-Adventure . Help With Computer Literacy

Qune St Clair Atkinson , Houghton Mifflin) . This is a large format book with an attractive cover , fairly priced for its 1 2 2 pages. It appears to be aimed at the ear­ ly to middle years of secondary educatio n , but contains a lot of material which those teaching younger children could easily adapt . Although it avoids the ' Gee Whiz ' ap­ proach of the U sborne texts , it uses cartoons and diagrams to get its message across in an inviting manner. The Interface Computer Encyclopedia

(Ken Ozanne , Interface Publications) . Compiled by a lecturer in mathematics at the NSW In­ stitute of Technology , this work could perhaps be more accurately called ' The Computer Book of Lists ' , rather

1 16


I

1 1 1 1 1 1 11 1 1 1 1 :

BmLIOGRAPHY

:111111111111'

than an encyclopedia . It contains annotated references to ' all ' microprocessors , ' all ' microcomputers , and ' most ' microcomputing magazines . The inverted com­ mas are there because - as the author admits candidly in his introduction - any such work is likely to be out of date even before it is published . Fat ( 445 pages) with minimalist presentation (the whole book is dumped directly from a word processor onto a dot-matrix printer) you ' ll find this a useful work if you want a ready reference to chips, computers and the ever-growing field of specialist magazines . Computer Resource Book - Algebra

(Thomas Dwyer and Margot Critchfield , Houghton Mifflin) . Dwyer and Critchfield have clocked up an enviable str­ ing of successful computer books, and this one , part of a series, shows why . With simple , but valuable programs, the authors lead the reader (who can be a secondary stu­ dent , or an instructor) through most of the phrases of the BASIC programming language which are common to all low-priced computers , and most educational time­ sharing systems. Apple 11 BASIC

(David Goodfellow , Tab Books Inc . ) . Attractively packaged , this book i s clearly laid out , with an abundance of example programs ; it takes a commen­ dable approach to the business of teaching programm­ ing , with the qualities of ' programming style ' introduced without fanfare . In the crowded field of ' how to program your Apple ' books, this one stands out . Much of the material presented is applicable to any microcomputer . Pre-Computer Activities

(Dorothy Diamond , Hulton Educational) . This practical guide for teachers and parents can help make children familiar with essential computer pro­ cesses and language before they have hands-on ex-

1 17


I

1 1 1 1 1 1 1 ttfL

GAMES FOR YOUR

MSX

: 1 1 11 11 1 1 1 1 1

perience . The book contains a number of interesting ac­ tivities , including investigating binary numbers using little lights , and working with cardboard ' c alculators ' before getting to the real thing. The discussion on corn. puter graphics is enlivened by reference to the solid blocks which make up a ' Pacman ' figure . Word Processing Experience

Qanet Pigott and Roger Atkins-Green , Stanley Thornes Publishers Ltd . ) . Designed for schools , but ideal for adapting i f you ' d like to increase your skill with a word processor (or simply because you ' d like to see what word processors can do so you can write one for your own microcomputer) , this book looks at the mechanics of word-processing, while passing on a great deal of useful information about word­ processing techniques . A n Introduction to Micro-electronics and Micro­ processor Systems

(G H Curtis and P G Wilks , Stanley Thornes Publishers Ltd . ) . This work was written for j unior college students and older school pupils, as well as for non-specialists who wante d a comprehensive - if dry - technical introduc­ tion to the subject . The going is not easy , but it ' s worth the effort . Topics covered include ' Logic ' , ' Programming the Microcomputer ' and ' Analogue , Binary and Digital Systems ' . Computer Images - State of the Art

Qoseph Deken , Tliames and Hudson) . This is a beautiful book, large and glossy , and packed with quality full-colour computer-generated (or, in some cases , computer-modified) images. The whole fas­ cinating field of modern computer graphics is discussed - from television programme introductions using photo­ graphs which are colour-modified , twisted and tweeke d , t o the use o f incredible high-resolution images in

1 18


I

l l ll l l l ll l l l :

BIBLIOGRAPHY

: l l l l l l l l l ll l '

simulators for flight training and tank manoeuvring. You ' ll read (and see) how computers are used to pro­ duce images, how these are used for education and com­ munication , why ' art for art ' s sake' is a goal worth pursu­ ing, and how computer images can evolve using pro­ cesses uncannily akin to the processes by which groups of cells multiply and divid e . If you want to see what can be done with high resolution graphics and when time , money and skill abound , you should get this book . Computer Bluff

(Stephen Castell , Quartermaine House Ltd . ) . A much more valuable book than its title indicates , it con­ tains a lot of information on the what and how of com­ puters , along with a generous dollop of computer j argon (or ' How to Cheat in Computer-Speak ' ) . The style is gen­ tle and amusing , with no appalling puns or excessive asides (such as ' didj a get that j oke, buster? ' ) . A pleasant , painless book which you can digest , then give to a parent. Penguin Books has moved into the computer field with enthusiasm . As well as a ' Getting the Most Out of Your . . . ' series , they have a number of games books . Two which stand out are The Penguin Book of VIC 20 Games (Paul Copeland) and The Penguin Book of Commodore 64 Games (Robert Young and Paul Copeland) . Priced at £4 . 95 each , these large format books include such pro­ grams as ' Space Venture ' , ' Oil Rig ' and ' Red Alert ' . Worth buying, even if you do not have a VIC or a Com­ modore 64 , simply as a source of ideas for new programs to create on your own microcomputer . Arcade Games for Your VIC 20 and Arcade Games for

Commodore 64 (Brett Hale , Corgi/ Addison­ Wesley) by contrast , are definitely only for those who have the machine specified . The programs are locked ir­ revocably to the computer named. Taking advantage of a number of machine-specific features (such as sprite

Your

1 19


I

11111111111 :

X GAMES F OR YOUR MS

: 111111111111

graphics on the 64) , Brett has produced a selection of around 20 programs for each machine . Each one is listed twice, the first time for the j oystick and the second time for the keyboard . Titles include ' Galaxy Robbers ' , ' Bullet Heads' and ' Y ackman ' . CREATING ADVENTURE PROGRAMS

There are a number of books, some of which are aimed at computer owners , which will help you if you are one of the many , many computer games players who are in足 terested in developing ' Adventure ' and ' Dungeons ' type programs. The place to start is with TRS Hobbies' Dungeons and Dragons (TM) Basic Set , which comes with the introductory rule book, Dungeon Dice (tm) and an instruction module , along with a sample scenario ' The Keep on the Borderlands ' . If you ' re new to the field, you should start with this set to give you an idea how ' real life ' Adventure programs are built up . Additional information is provided by Fantasy Role足 Playing Games 0 . Eric Holmes , Hippocrene Books Inc . )

which looks a t the whole field and , despite some dis足 paraging things to say on computer versions of such games, is worth looking for . Another overview of the field - with more sympathetic comments on the use of com足 puters - is provided by Dicing With Dragons - An Introduction to Role-Playing Games (Ian Livingstone , Routledge and Kegan Paul) , which includes a full ' solo Adventure ' , a review of the major games on the market , and a fascinating chapter on the pleasures and perils of being Dungeon Master in ' Playing God ' . Wargaming (compiled Bruce Galloway , published Patrick Stephens) provides a complete unified system for ' historically accurate ' (or at least in tune with the beliefs and circumstances of individuals in the peasant , feudal-economy times in which many Adventures are set) games . The fight , weapon and

Fantasy

1 20


'1 1 1 1 1 1 1 1 1 1 1 1 :

BIBLIOGRAPHY

:1111111111 11'

monster tables alone are worth the book, as many of their ideas can easily be incorporated into your Adventures . There are two computer Adventure books which you could get to help you in the fascinating area of producing Adventure games on your machine . Creating Adventure Programs on Your Computer

(Andrew Nelson, Interface Publications) . Written by the author of More Gam es for Yo ur VIC 20 and Games for Yo ur Tl 99/4A , in the Virgin Books games series , this book takes you through the task of developing an Adventure program of your own , concentrating more on the ' Loot and Pillage ' school of gaming than the Scott Adams ' ' solve this puzzle to advanc e ' field . Three com足 plete Adventure programs are included . Write

Your

Own

Adventure

Programs

for Your

Qenny Tyler and Les Howarth, Usborne) is a much quicker introduction to the field than Nelson ' s , but nevertheless packs a lot of valuable infor足 mation into its 48 pages. Step-by-step instructions are provided for creating an Adventure from scratch. A complete program - ' Haunted House ' - is included in the book .

Microcomputer

The Age of Computers is the general title of four fine

books produced by Wayland Publisher Limited. Each priced at 贈4 . 9 5 , the books present a careful , but inviting, view of four aspects of the computer field , one on the history of computers and the others looking at specific areas of modern computer application . Each book is by Ian Litterick and Chris Smithers. The four titles are The Story of Computers, with Charles Babbage and Uncle Sir Clive Sinclair j ust inside the cover (and these two pic足 tures accurately sum up the historical period covered by the book) ; How Computers Work (with chapter headings including ' Bits, Bytes and Binary' , ' Decision-making by Transistor ' , and ' Talking With Computers ' ) ; Computers in Everyday Life (such things as ' Robots in the Home ' , ' Magnetic Money' and ' Medicine and the Disabled ' ) ;

121


I

11111111111:

GAMES FOR YOUR MSX

: 1 1 11 1 1 1 1 1 1 1

and Computers and You ( ' Computopia ' , ' Big Brother ' , ' War and Peace ' and - a fascinating final chapter ' Will Computers Need Us? ' ) . Inside BASIC Games

(Richard Mateosian , Sybex) . This book is a slightly overwritten guide to under足 standing computer games . You ' ll learn how to write interactive programs in BASIC and how the principles of system development are applied to small computers . The book also looks at how the features of specific small computer systems have been supported in BASI C . If you can contend with the verbiage , you ' ll find this book well worthwhile . 1001 Things to Do With Your Personal Computer (Mark Sawush , Tab Books) . Big and fat , and full of ideas , you ' ll find much here of in足 terest to enlarge your computer horizons . The book tells you about writing music and stories with your computer, aiding a mechanic or a carpenter , solving simultaneous equations , astrology and much , much more . Stimulating Simulation&

(C . W . Engel . Hayden Book Company) . Here are 1 2 unique programs written in a good, general version of BASIC. The fascinating programs include ' Forest Fire ' , ' Rare Birds ' and ' The Devil ' s Dungeon ' . You ' re sure to enj oy playing those thre e , along with ' Dia足 mond Thief' , in which the computer decides who has committed the crime , then challenges you to discover which of the suspects is guilty . The material in this book is generally tightly programmed , and can be a helpful source of ideas to improve your own computer work . The BASIC Handbook

(David A . Lien, Compusoft Publishing) . This is an encyclopedia of the BASIC language . It comes into its own when you find a program in a magazine or

1 22


BmLIOGRAPHY

: 1 1 1 1 11 11 1 1 11 '

book which you ' d love to try , but are frustrated because it is written for another version of BASI C . Every BASIC word you ' ve ever heard of (and many you may not have , such as NE , GOTO-OF and LE) is in here , along with a number of variations, one of which will almost certainly be on your machine . BASIC Computer Games

(David Ahl , Creative Computing Press) . This is a classic work, still selling well despite the fact it was one of the first such books - if not the first - on the market . David Ahl has been in personal computers even before there were such things . Although several of the games are overly-dependent on the random number generator , you ' ll find there are many , many games you ' ll want to adapt and improve for your own computer. How to Buy (and Survive) Your First Computer

(Carolee Nance Kolve , McGraw-Hill Book Company) . When is a business ready for a computer? How do you make an intelligent , informed choice among the hun足 dreds of computers available? Will a computer improve a company ' s operations? Answers to tnese and a score of similar questions are in this book, which explains in detail what to consider before buying, how to select the right computer , and what to do after ordering the computer to ensure a successful installation . Ms Kolve has over 1 5 years computer experience (including a stint with IBM) and brings her experience to bear in a relatively easily足 digestible guide . Your First BASIC Program

(Rodnay Zaks , Sybex) . This book , liberally illustrated with large red dinosaurs in a variety of situations vaguely related to the text (one , for instance , as a cowboy getting tangled up in his ropes with the caption ' Be careful when looping ' ) , is a gentle and worthwhile introduction to the not-so-secret secrets of programming in BASIC . When you want to move

1 23


1

11111111111:

X GAMES FOR YOUR MS

: l l l l ll ll ll l r

beyond j ust typing in other people ' s programs from books and magazines , this may be a good place to start . This bibliography was compiled by the series editor, Tim Hartnell , who has felt constrained not to recommend any of his own books. However , he asked us to mention two which could be of use and interest to you . The first is The Personal Computer Guide (Virgin Books) which explains what a personal computer is, and answers questions like ' ' Will it help my kids? ' ' , ' ' What sort of games can we play on it? ' ' and ' ' What can I use it for in the home? ' ' . The book describes many of the most popular computers available today , with illustrations, technical specifications and other information to help you to choose the equipment best suited to your require­ ments . Also included is an introduction to BASI C pro­ gramming, with details of programs suitable for use in the home , a list of suppliers and user clubs , and a guide to further reading. There are also chapters covering the personal computer ' s history and its future . When you ' re ready to upgrade , you ' ll find this book a good, unbiased , reference work which looks a t the choices facing you . Tim Hartnell' s Giant Book of Computer Games.

Described by Personal Comp u ter News as ' a good source of ideas ' , this 386-page book , published by Fon­ tana , for £3 . 95 , contains over 40 programs which will run with minimum modifications on most popular microcom­ puters . The games include chess (of a sort ! ) , a l 7K Adventure and ' Hyperwar ' .

1 24








Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.