Page 1 of 1

classic basic lovers!!!!

Posted: Sun Apr 05, 2009 5:18 pm
by bongomeno
hey all!
i was just sitting here BORED AS HELL and decided to
check petesqb forum. and again there are no new posts.... soooo.....

i got an idea: a contest! (or something like that)

if you love classic basic games then make a small plain and simple basic game (for any classic interpreter such as altair basic gw basic atari basic or even a tiny basic) then post the code here.

when every is done we can have a vote on the best one.
reward???
well all have a bunch of new games to play if we all make one :wink:

just to get this started, i will post the code to a VERY SIMPLE game i made on my atari 400.

MARS LANDER! FOR THE ATARI 400 BASIC REV. A

(lines 200,210 arent displayed on here properly. just make them to where the thrust cant go below 0 or higher than F)

Code: Select all

10 LET D=100
20 LET F=35
30 LET S=5
40 LET T=0
50 GRAPHICS 0
60 PRINT "M A R S  L A N D E R ! - BY GEEK BASIC SOFTWARE"
70 PRINT "LAND YOUR SHIP ON MARS."
80 PRINT "USE THRUST TO SLOW THE SHIP DOWN."
90 PRINT "THRUST USES UP FUEL. NO FUEL, NO THRUST..."
100 PRINT "IF YOU ARE GOING TOO FAST WHEN DIST"
110 PRINT "REACHES 0 THEN YOU WILL CRASH."
120 PRINT
130 PRINT "STATUS CONSOLE >>"
140 PRINT
150 PRINT "DIST  : ";D
160 PRINT "FUEL  : ";F
170 PRINT "SPEED: ";S
180 PRINT
190 PRINT "THRUST: ";:INPUT T
200 IF T<0>F THEN LET T=F
220 LET F=F-T
230 LET S=(S+S/2)-T
240 LET D=D-S
250 IF D>0 THEN GOTO 50
260 IF D>=-5 THEN PRINT "PERFECT LANDING!"
270 IF D<-5 THEN PRINT "YOU CRASHED..."
280 END
good luck!

Posted: Mon Apr 06, 2009 10:23 am
by Harry Potter
What good will an Atari BASIC program do here? Try translating the program to QBasic or QuickBasic. Just a hint! :)

=]

Posted: Wed Apr 08, 2009 9:04 am
by bongomeno
that is the reason i posted it in general discusson
it would be easy to convert the programs to qb anyway
thats the beatuy of basic!

Posted: Thu Apr 09, 2009 8:15 am
by bungytheworm
You have Atari 400? Man i am jealeous :? Can you give it to me? It will get a good home :roll:

Posted: Thu Apr 09, 2009 3:31 pm
by bongomeno
sorry man i just got it! but there are some good deals 4 them on ebay.

btw. where r all my classic basic programmers?

Ha

Posted: Thu May 14, 2009 7:37 pm
by floogle11
Ha you want a basic game okay heres one!

code:
DO
INPUT "Whats your name?"; name$
IF name$ = "joe" THEN PRINT "Hey I know you!!!!"
LOOP


OR


code:
DO
RANDOMIZE TIMER
x = CINT(RND * 100)
INPUT "Choose a number between 0 - 100"; N
IF N = x THEN PRINT "YOU win!"
IF N <> x THEN PRINT "You lose!"
LOOP

improving the challange

Posted: Wed May 20, 2009 11:39 pm
by iamdenteddisk
this was a free ware I came across in my travels that is a native inturpreter to run these old style basic programs in the qb enviroment.

I thought not only could it improve your contest but make the challange to relate with QB a little better if nothing else you might modify it a bit to enable you to run multiple basic styles without modifing your programs code "i.e" being able to run any type of basic code.

I would almost bet you could use it to compile old programs to run on 64 bit machines useing qb64 too.. just a thought. have fun..


' Lucky Basic 0.01 (C) 06-01-2008 PeatSoft
' web: http://www.xs4all.nl/~hwiegman/qbasic.html
' email: gammon@xs4all.nl

DIM p$(200), s(100), v(25)
version$ = "0.01"

PRINT
PRINT "Lucky Basic " + version$
PRINT "(C) 2008 PeatSoft"

1110
PRINT "Ok"
1115
INPUT "", p$(0)
l = 0
c = 1
GOSUB 2400
IF n = 0 THEN
GOTO 1180
END IF

' here we enter numbered program lines to store
l = 1
c = 1
t = n

DO
GOSUB 2400
IF (n < t) AND (n <> 0) THEN
l = l + 1
c = 1
ELSE
EXIT DO
END IF
LOOP

IF l = 200 THEN
PRINT "Program overflow"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
IF t <> n THEN
FOR i = 199 TO l STEP -1
p$(i) = p$(i - 1)
NEXT i
END IF
p$(l) = p$(0)
GOTO 1115

' here we execute the next statement
1178
GOSUB 2400
1180
GOSUB 2470
IF l$ = "if" THEN
GOSUB 2030
IF NOT n THEN
c = LEN(p$(l))
GOTO 1180
END IF
GOSUB 2470
IF l$ <> "then" THEN
PRINT CHR$(34); "then"; CHR$(34); " expected"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
GOTO 1180
END IF
IF l$ = "input" THEN
GOSUB 2520
INPUT n
v(v) = n
GOTO 1620
END IF
IF l$ = "print" THEN
1290
GOSUB 2440
GOSUB 2460
IF c$ <> CHR$(34) THEN
GOTO 1298
END IF
1292
c = c + 1
GOSUB 2460
IF c$ = "" THEN
PRINT "Unterminated string"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
IF c$ <> CHR$(34) THEN
PRINT c$;
GOTO 1292
END IF
c = c + 1
GOSUB 2460
IF c$ = CHR$(34) THEN
PRINT c$;
GOTO 1292
END IF
GOTO 1300
1298
GOSUB 2030
PRINT n;
1300
GOSUB 2440
GOSUB 2460
IF c$ = "," THEN
c = c + 1
GOTO 1290
END IF
GOSUB 2440
GOSUB 2460
IF c$ <> ";" THEN
PRINT
ELSE
c = c + 1
END IF
GOTO 1620
END IF
IF l$ = "load" THEN
GOSUB 2440
GOSUB 2460
IF c$ <> CHR$(34) THEN
PRINT CHR$(34); " expected"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
load1 = c + 1
l1292:
c = c + 1
GOSUB 2460
IF c$ = "" THEN
PRINT "Unterminated string"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
IF c$ <> CHR$(34) THEN
GOTO l1292
ELSE
file$ = MID$(p$(l), load1, c - load1)
END IF
FOR i = 0 TO 200
p$(i) = ""
NEXT i
FOR i = 0 TO 25
v(i) = 0
NEXT i
OPEN file$ FOR INPUT AS #1
i = -1
DO
LINE INPUT #1, f1$
i = i + 1
p$(i) = f1$
LOOP UNTIL EOF(1)
CLOSE #1
GOTO 1110
END IF
IF l$ <> "goto" THEN
GOTO 1370
END IF
GOSUB 2400
l = 0
c = 1
t = n
1350
IF l = 200 THEN
PRINT "Line not found"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
GOSUB 2400

IF n = t THEN
GOTO 1180
END IF
l = l + 1
c = 1
GOTO 1350

1370
IF l$ = "rem" THEN
c = LEN(p$(l)) + 1
GOTO 1620
END IF
IF l$ = "stop" THEN
GOTO 1110
END IF
IF l$ = "cls" THEN
CLS
GOTO 1620
END IF
IF l$ <> "list" THEN
GOTO 1500
END IF
FOR i = 1 TO 199

IF p$(i) <> "" THEN
PRINT p$(i)
ELSE
EXIT FOR
END IF
NEXT i
GOTO 1620

1500
IF l$ <> "new" THEN
GOTO 1520
END IF
FOR i = 0 TO 200
p$(i) = ""
NEXT i
FOR i = 0 TO 25
v(i) = 0
NEXT i
GOTO 1110
1520
IF l$ = "bye" OR l$ = "system" THEN
END
END IF
IF l$ = "run" THEN
FOR i = 0 TO 25
v(i) = 0
NEXT i
l = 1
c = 1
GOTO 1650
END IF
IF l$ = "let" THEN
GOSUB 2470
END IF
GOSUB 2530
GOSUB 2440
GOSUB 2460
IF c$ <> "=" THEN
PRINT CHR$(34); "="; CHR$(34); " expected"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
c = c + 1
GOSUB 2030
v(v) = n
REM finish statement
1620
GOSUB 2440
GOSUB 2460
IF c$ = ":" THEN
c = c + 1
GOTO 1180
END IF
IF c$ <> "" THEN
PRINT "End of statement expected"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF

IF l = 0 THEN
GOTO 1110
END IF
l = l + 1
c = 1

1650 IF p$(l) = "" THEN
GOTO 1110
END IF
GOTO 1178

REM expression processor

2030
s = 0
GOSUB 2040
n = s(s)
s = s - 1
RETURN

2040
GOSUB 2080
GOSUB 2440
GOSUB 2460
IF c$ = "+" THEN
c = c + 1
v = n
GOSUB 2080
s(s - 1) = s(s - 1) + s(s)
s = s - 1
RETURN
END IF
IF c$ = "-" THEN
c = c + 1
v = n
GOSUB 2080
s(s - 1) = s(s - 1) - s(s)
s = s - 1
END IF
RETURN

2080
GOSUB 2120
GOSUB 2440
GOSUB 2460
IF c$ = "*" THEN
c = c + 1
v = n
GOSUB 2120
s(s - 1) = s(s - 1) * s(s)
s = s - 1
RETURN
END IF
IF c$ = "/" THEN
c = c + 1
v = n
GOSUB 2120
s(s - 1) = s(s - 1) / s(s)
s = s - 1
END IF
RETURN

2120
GOSUB 2440
GOSUB 2460
IF c$ <> "(" THEN
GOTO 2160
END IF
c = c + 1
GOSUB 2040
GOSUB 2440
GOSUB 2460
IF c$ <> ")" THEN
PRINT CHR$(34); ")"; CHR$(34); " expected"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
c = c + 1
RETURN

2160
IF c$ = "" THEN
PRINT "Invalid factor"
PRINT "Ok"
PRINT p$(l)
GOTO 1115
END IF
t = ASC(c$)
IF (t <ASC> ASC("9")) THEN
GOTO 2190
END IF
GOSUB 2400
s = s + 1
s(s) = n
RETURN

2190
GOSUB 2520
s = s + 1
s(s) = v(v)
RETURN
REM get number to n, none=0

2400
GOSUB 2440
n = 0
2410
GOSUB 2460
IF c$ = "" THEN
RETURN
END IF
IF (ASC(c$) <ASC> ASC("9")) THEN
RETURN
END IF
n = n * 10 + ASC(c$) - ASC("0")
c = c + 1
GOTO 2410
REM skip spaces

2440
GOSUB 2460
IF c$ = " " THEN
c = c + 1
GOTO 2440
END IF
RETURN
REM check next character to c$, ""=end of line

2460
IF c > LEN(p$(l)) THEN
c$ = ""
RETURN
ELSE
c$ = MID$(p$(l), c, 1)
RETURN
END IF
REM get next label to l$

2470
GOSUB 2440
GOSUB 2460
l$ = ""
IF c$ = "" THEN
GOTO 2490
END IF
IF (ASC(LCASE$(c$)) >= ASC("a")) AND (ASC(LCASE$(c$)) <ASC>= ASC("a")) AND (ASC(LCASE$(c$)) <= ASC("z")) THEN
GOTO 2500
END IF
RETURN

REM get next variable to v (0 to 25)

2520
GOSUB 2470

2530
v = ASC(l$)
IF (LEN(l$) <> 1) OR (v <ASC> ASC("z")) THEN
GOTO 2550
END IF
v = v - ASC("a")
RETURN

2550
GOSUB fout
GOTO 1115

fout:
PRINT "Syntax error"
PRINT "Ok"
PRINT p$(l)
RETURN

Posted: Fri Jun 19, 2009 6:11 pm
by TmEE
Have fun :P


Code: Select all

'Meanwhile attempting to teach my brother how to program in QB I coded this
'tiny "game": some type of EGA shooter with some cheesy graphics, has some
'form of pixel by pixel scrolling and is extremely slow due to the nature
'of EGA (and how QB uses it). This is probably the slowest "game" you will
'ever encounter.

'Code is linear and not optimized at all so my brother could understand
'what has been done. Apparently he didn't and now when I'm looking this,
'I don't get it either. The ways of the QB are very mysterious...

'BTW, it runs faster on 25MHz 486 than a 3600Mhz P4

SCREEN 7, 0, 1, 0
'SCREEN 13
RANDOMIZE TIMER

CLS : PRINT "SPACE DEMO"    'cheesy way to do text effects
FOR Y% = 0 TO 7
FOR X% = 0 TO 79
A% = POINT(X%, Y%)
Y! = Y! + .4
X! = X! + -.02
XX% = 32 + X% * 3 + X!
YY% = 16 + Y% * 3 + Y!
IF A% <> 0 THEN LINE (XX%, YY%)-(XX% + 2, YY% + 2), 1 + RND * 14, BF
'IF A% <> 0 THEN PSET (XX%, YY%), 1 + RND * 14
'IF A% <> 0 THEN CIRCLE (XX%, YY%), 1, 1 + RND * 14, , , 1
NEXT
Y! = 0
NEXT
LOCATE 1, 1: PRINT "          "

LOCATE 13, 13: PRINT "Cursor keys move"
LOCATE 14, 15: PRINT "Space shoots"
LOCATE 15, 16: PRINT "Esc quits"
LOCATE 16, 13: PRINT "J = Joystick mode"
LOCATE 17, 13: PRINT "K = Keyboard mode"
LOCATE 19, 10: PRINT "Hit any key to continue"

LOCATE 23, 13: PRINT "2006 TęEE co.(TM)"

PCOPY 1, 0
SLEEP
CLS

DIM NONE(64), SHIP(64), ENEMY(64), GND(64), MAP%(19, 15)
DIM SNON(16), SHOT(16), XTABLE%(19), YTABLE%(10)
GET (0, 0)-(15, 15), NONE
FOR Y% = 0 TO 15
FOR X% = 0 TO 15
READ A%: PSET (X%, Y%), A%
NEXT X%
NEXT Y%
GET (0, 0)-(15, 15), SHIP

FOR Y% = 0 TO 15
FOR X% = 0 TO 15
READ A$: PSET (X%, Y%), VAL("&H" + A$)
NEXT X%
NEXT Y%
GET (0, 0)-(15, 15), GND

PUT (0, 0), NONE, PSET
GET (0, 0)-(7, 7), SNON

CIRCLE (3, 3), 3, 14, , , 1
PAINT (3, 3), 15, 14
GET (0, 0)-(7, 7), SHOT

PUT (0, 0), NONE, PSET
CIRCLE (7, 7), 7, 2, , , 1
PAINT (7, 7), 4, 2
LINE (4, 10)-(10, 10), 3
PSET (4, 4), 15
PSET (10, 4), 15
GET (0, 0)-(15, 15), ENEMY

FOR Y% = 0 TO 15
FOR X% = 0 TO 19
READ A%: MAP%(X%, Y%) = A%
NEXT X%
NEXT Y%

FOR Y% = 0 TO 10
FOR X% = 0 TO 19
XTABLE%(X%) = X% * 16
YTABLE%(Y%) = Y% * 16 + 8
NEXT X%
NEXT Y%

CLS
X% = 159
Y% = 183
LOADHIGHSCORE:
OPEN "SDEMOHI.DAT" FOR BINARY AS #1
IF LOF(1) = 0 THEN
PTS$ = MKL$(0)
PUT #1, 1, PTS$
HIPTS& = 0
CLOSE
GOTO LOADHIGHSCORE
END IF
HIPTS& = CVL(INPUT$(4, 1))
WHILE KEYS% <> 1
KEYS% = INP(&H60)
'LOCATE 2, 1: PRINT KEYS%

IF JOY% = 1 THEN
IF STICK(0) <40> 160 THEN X% = X% + 2
SKIPSTRIGS:
IF STICK(1) <40> 160 THEN Y% = Y% + 2
SKIPSTRIGS2:
IF STRIG(0) = -1 AND FIRE% = 0 THEN FIRE% = 1
END IF

SELECT CASE KEYS%
CASE 77: X% = X% + 4
CASE 75: X% = X% - 4
CASE 80: Y% = Y% + 4
CASE 72: Y% = Y% - 4
CASE 57
IF FIRE% = 0 THEN FIRE% = 1
CASE 36
IF JOY% = 0 THEN JOY% = 1
CASE 37
IF JOY% = 1 THEN JOY% = 0
CASE ELSE: nothing$ = INKEY$

END SELECT

IF X% <0> 303 THEN X% = 303
IF Y% <8> 183 THEN Y% = 183

IF frameskip% = 2 THEN
frameskip% = 0
IF yyy% <0> 15 THEN yyyy% = yyyy% - 16
tx% = XTABLE%(XX%)
ty% = YTABLE%(YY%) + stepy%
SELECT CASE MAP%(XX%, yyyy%)
CASE 0: PUT (tx%, ty%), NONE, PSET
CASE 1: PUT (tx%, ty%), GND, PSET
END SELECT
NEXT XX%
NEXT YY%
stepy% = stepy% + 1
IF stepy% > 15 THEN yyy% = yyy% - 1: stepy% = 0
END IF
frameskip% = frameskip% + 1

IF FIRE% = 1 THEN
SX% = X% + 5
SY% = Y% - 7
FIRE% = 2
END IF
IF FIRE% = 2 THEN
SY% = SY% - 5
IF SY% <8>= 183 THEN
ENEMYX% = 0: PUT (EX%, EY%), NONE, PSET
PTS& = PTS& - 50
ELSE
PUT (EX%, EY%), ENEMY, PSET
END IF
END IF
IF ENEMYX% = 1 THEN
IF FIRE% = 2 THEN
IF EY% + 16 > SY% AND EY% <SY> SX% AND EX% - 6 <SX> Y% AND EY% <Y> EX% AND X% - 16 < EX% THEN
KEYS% = 1: LOCATE 12, 14: PRINT "Game over !!!"
END IF
END IF
END IF
PUT (X%, Y%), SHIP, PSET
IF PTS& <0> 9999999 THEN PTS& = 9999999
LOCATE 1, 1: PRINT "Points :"; PTS&
LOCATE 1, 19: PRINT "High score :"; HIPTS&
PCOPY 1, 0

PUT (X%, Y%), NONE, PSET
IF FIRE% = 2 THEN PUT (SX%, SY%), SNON, PSET
IF ENEMYX% = 1 THEN PUT (EX%, EY%), NONE, PSET

nothing$ = INKEY$
WEND
IF HIPTS& < PTS& THEN
PTS$ = MKL$(PTS&)
PUT #1, 1, PTS$
END IF
CLOSE
CLS

LOCATE 1, 1: PRINT "GAME  OVER"    'cheesy way to do text effects
FOR Y% = 0 TO 7
FOR X% = 0 TO 79
A% = POINT(X%, Y%)
Y! = Y! + .4
X! = X! + .02
XX% = 32 + X% * 3 + X!
YY% = 40 + Y% * 3 - Y!
IF A% <> 0 THEN CIRCLE (XX%, YY%), 1, 1 + RND * 14, , , 1
NEXT
Y! = 0
NEXT
LOCATE 1, 1: PRINT SPACE$(40)
LOCATE 1, 1: PRINT "You got" + STR$(PTS&) + " pts."
FOR Y% = 0 TO 7
FOR X% = 0 TO 159
A% = POINT(X%, Y%)
Y! = Y! + .3
X! = X! + .005
XX% = 30 + X% * 2 - X!
YY% = 100 + Y% * 2 + Y!
IF A% <> 0 THEN PSET (XX%, YY%), 15
NEXT
Y! = 0
NEXT
LOCATE 1, 1: PRINT "                      "
PRINT "                      "

PCOPY 1, 0
SLEEP
END

'The final result is, that my brother cannot understand his own code
'and due to his stupidness I decided not to try to teach QB to him.

DATA  0, 0, 0, 0, 0, 0, 0,08,08, 0, 0, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0, 0, 0, 0,08,08, 0, 0, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0, 0, 0,08,07,07,08, 0, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0, 0, 0,08,11,11,08, 0, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0, 0,08,07,11,11,07,08, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0, 0,08,11,11,11,11,08, 0, 0, 0, 0, 0
DATA  0, 0, 0, 0,08,07,11,11,11,11,07,08, 0, 0, 0, 0
DATA  0, 0, 0, 0,08,07,11,11,11,11,07,08, 0, 0, 0, 0
DATA  0, 0, 0,08,08,07,07,07,07,07,07,08,08, 0, 0, 0
DATA  0, 0, 0,08,08,07,07,07,07,07,07,08,08, 0, 0, 0
DATA  0, 0,08,07,08,07,07,07,07,07,07,08,07,08, 0, 0
DATA  0, 0,08,07,08,07,07,07,07,07,07,08,07,08, 0, 0
DATA  0,08,07,07,08,07,07,07,07,07,07,08,07,07,08, 0
DATA  0,08,07,07,08,07,07,07,07,07,07,08,07,07,08, 0
DATA 08,07,08,08,08,07,07,07,07,07,07,08,08,08,07,08
DATA 08,08, 0, 0,08,07,14,14,14,14,07,08, 0, 0,08,08

DATA f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,7
DATA f,f,f,f,f,f,f,f,f,f,f,f,f,f,7,8
DATA f,f,7,7,7,7,7,7,7,7,7,7,7,7,8,8
DATA f,f,7,7,7,7,7,7,7,7,7,7,7,7,8,8
DATA f,f,7,7,8,8,8,8,8,8,8,8,7,7,8,8
DATA f,f,7,7,8,8,8,8,8,8,8,f,7,7,8,8
DATA f,f,7,7,8,8,3,3,3,9,f,f,7,7,8,8
DATA f,f,7,7,8,8,3,9,9,1,f,f,7,7,8,8
DATA f,f,7,7,8,8,3,9,9,1,f,f,7,7,8,8
DATA f,f,7,7,8,8,9,1,1,1,f,f,7,7,8,8
DATA f,f,7,7,8,8,f,f,f,f,f,f,7,7,8,8
DATA f,f,7,7,8,f,f,f,f,f,f,f,7,7,8,8
DATA f,f,7,7,7,7,7,7,7,7,7,7,7,7,8,8
DATA f,f,7,7,7,7,7,7,7,7,7,7,7,7,8,8
DATA f,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8
DATA 7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8

DATA 1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0
DATA 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0
DATA 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0
DATA 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0
DATA 1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1
DATA 1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,0
DATA 0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0
DATA 0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0