Description | ==================================== M i n i B o i n g ==================================== Title: MiniBoing Platform: Commodore 16, Plus/4 Author: Giuseppe Mignogna Language: BASIC 3.5 Category: PUR-80 ====================================
Intro ------------------- This game has been written using CBM prg Studio 3.13. It has been tested with the emulators Yape 1.1.7 and Plus4emu 1.2.9.2. Vice should be OK too, but I didn't try it.
How to run ------------------- To run it, simply drag and drop the .d64 file into Yape -OR- attach it to drive 8, type DLOAD"*" and then type RUN.
How to play ------------------- To play, use the joystick in port 2. The goal of the game is to reach the end of a scrolling path, while controlling a bouncing ball. You can only increase or decrease the scrolling speed. If the ball hits a gap, you lose a life. The difficulty increases with the level.
Code ------------------- 1) Shortened code (80 characters max per line, tags like {white} represents a single special character):
0colO0,2,6:colO4,2:sC:char1,8,7,"{white}miniboing -joy2- wait...":vO8:t=5:r=t:v=10:l=1 1a$="M/M/M":s=220:y=10:a=0:r=rN(-l):fOx=0to238:d=x/22:ifd=int(d)tHa$=a$+cH(47+d) 2ifrN(1)>(0.2+l/10)tHa$=a$+cH(183+l):nE:sC:goS8:eLa$=a$+" ":nE:sC:goS8 3j=joy(2):ifj=3aNt<8tHt=t+1:r=r+1:eLifj=7aNt>0tHt=t-1:r=r-1 4ify=20tHifpE(3940)=32aNa>0tHv=v-1:y=21:chA,28,y,"Q":sO3,999,10:goS8:ifv=0tH9 5chA,28,y,"Q":chA,28,o," ":o=y:a=a+0.125:y=y+a:ify>20tHy=20:a=-a 6chA1,1,21,mI(a$,s,37):r=r-1:ifr<1tHs=s-1:r=t 7ifs>1tH3:eLl=l+1:chA1,24,7,"{yellow}ok! wait...":fOx=280to880stE100:sO1,x,4:nE:gO1 8chA,1,5,"{dark-blue}level:"+stR(l)+" - lives:"+stR(v)+" {black}":reT 9chA,28,o," ":chA,10,10,"{red}game over - press fire":ifjoy(2)<>128tH9:eLrU
2) Plain code:
0 color0,2,6:color4,2:scnclr:char1,8,7,"{white}miniboing -joy2- wait...":vol8:t=5:r=t:v=10:l=1 1 a$="M/M/M":s=220:y=10:a=0:r=rnd(-l):forx=0to238:d=x/22:ifd=int(d)thena$=a$+chr$(47+d) 2 ifrnd(1)>(0.2+l/10)thena$=a$+chr$(183+l):next:scnclr:gosub8:elsea$=a$+" ":next:scnclr:gosub8 3 j=joy(2):ifj=3andt<8thent=t+1:r=r+1:elseifj=7andt>0thent=t-1:r=r-1 4 ify=20thenifpeek(3940)=32anda>0thenv=v-1:y=21:char,28,y,"Q":sound3,999,10:gosub8:ifv=0then9 5 char,28,y,"Q":char,28,o," ":o=y:a=a+0.125:y=y+a:ify>20theny=20:a=-a 6 char1,1,21,mid$(a$,s,37):r=r-1:ifr<1thens=s-1:r=t 7 ifs>1then3:elsel=l+1:char1,24,7,"{yellow}ok! wait...":forx=280to880step100:sound1,x,4:next:goto1 8 char,1,5,"{dark-blue}level:"+str$(l)+" - lives:"+str$(v)+" {black}":return 9 char,28,o," ":char,10,10,"{red}game over - press fire":ifjoy(2)<>128then9:elserun
3) Code explanation The code is quite easy. The only tricky part is the scrolling. It's obtained by pre-filling a long string with the simbols of the path (spaces, numbers and terrain characters). Then, to simulate the scrolling, only a small portion of the string is displayed by using the string function MID$ and the CHAR instruction.
-end- |
|