My old "scroll" game - BASIC program listing

Everything related to BASIC version 1.x (Oric 1 and Atmos) or HYPERBASIC (Telestrat).
Don't hesitate to give your small program samples, technical insights, or questions...
Post Reply
Flying Officer
Posts: 161
Joined: Fri Nov 30, 2007 8:30 pm

My old "scroll" game - BASIC program listing

Post by Brana »

Hello everybody, last weekend I dug up
couple of Oric Tapes (real cassettes!)
with MY OWN programs on it!

Incredeably - they STILL "Cload"!

Among the contest on these tapes
I found my very-first "scroll game"
that I wrote long time ago, using
Oric Lores0 mode.

The game is rather simple: goal is
to fly trough the field of objects and
to AVOID CRASHING in to ANY (yellow)
object(s)! Note: You use "arrow" keys
for your movement.

Also, the game is quite short
(in terms of Basic program), and
it is rather cute (if I may say so,
being it's programmer - haha!), so
I wish to share it with you all!

Below is the Basic program listing:

You can use TXT2BAS.EXE utility to
convert this listing to a TAP file,

Or - You can use your keyboard to
"type it in oldfashionably" as I did on

And at the end - the game is rather
slow (5Mhz Euphoric Emulator is highly
recommended!) Sorry for this, but
actual scrolling in this game is
realized trough the "arrow-fields"
and Oric can be very SLOW when it
comes to manipulate "data" stored in
the "arrow fields" (those created with
the command "DIM").

;Program listing:

1 A=PEEK(618):IFA=11 OR A=15 OR A=3 THEN PRINTCHR$(17):A=0
2 Q1=18:W1=15
10 CLS:DIM LSC$(30):W=15
20 FORA=1TO20:LSC$(A)=" ":NEXTA
31 PRINT@10,A;LSC$(A);CHR$(144)
32 IFW>22THENW=22
33 IFW<10THENW=10
35 FORA=5TOW:Y=INT(1+RND(1)*10)
36 IFY=3THENLSC$(A)=LSC$(A)+CHR$(147)ELSELSC$(A)=LSC$(A)+CHR$(148)
38 A$=KEY$:PRINT@Q1,W1;"=":IFA$=""THENA$="*"
39 IFASC(A$)=8THENQ1=Q1-1:IFQ1=9THENQ1=10
40 IFASC(A$)=9THENQ1=Q1+1:IFQ1=27THENQ1=26
41 IFASC(A$)=10THENW1=W1+1:IFW1=21THENW1=20
42 IFASC(A$)=11THENW1=W1-1:IFW1=4THENW1=5
48 IFNOTA$="*"THEN38
49 FORA=W+1TO20:LSC$(A)=LSC$(A)+CHR$(146):NEXTA
50 FORA=5TO20:LSC$(A)=RIGHT$(LSC$(A),LEN(LSC$(A))-1)
60 PRINT@10,A;LSC$(A);CHR$(144):NEXTA:PRINT@Q1,W1;"=":SCR=SCR+1
61 PRINT@11,22;"SCORE:";SCR:LSC$(21)="":LSC$(22)="":LSC$(23)=""
62 GOTO30


;This message was composed by using
;the Euphoric 0.99k (C) F.Frances with
;Iskra's Textual Processor software!

Post Reply