Autor
| Free your creativity - IOMBCC
| snout
 msx legend Mensajes: 4992 | Publicado: Marzo 30 2005, 19:08   | Should I wait a bit before adding it as a new entry to the IOMBCC? I think it's cool to both show the initial and the final version
And Wolf_ - I think you're getting the hang of obfuscated coding. nice one! Shall I add it as an entry? Do you have more tricks up your sleeve? | | dvik msx master Mensajes: 1343 | Publicado: Marzo 30 2005, 19:08   | [D-Trail] The rank will (if I calculated it correctly) wrap at -256/255. When it wraps the second time the OPL4 music starts  | | dvik msx master Mensajes: 1343 | Publicado: Marzo 30 2005, 19:12   | snout, yes I think it would be nice to wait a little bit since NYYRIKKI found some more characters to do something fun of. I'll be on a trip for a couple of days (without my computer) so can propbably continue on Monday. But if anyone else has some cool ideas, feel free to add them  | | dvik msx master Mensajes: 1343 | Publicado: Marzo 30 2005, 22:41   | I've made a pretty simple ending to the game (not very obfuscated though). If you have any better ideas I'd be happy to see them.
Here is the code:
1 KEYOFF:DEFINTA-Z:SCREEN1,3,0:V=14:COLOR15,5,1:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=0TO142:READS$:X=ASC(S$)-65:Y=VAL("&H"+MID$(S$,2)):DATAA18,AC,AF,B7,C3,C1,H,A80,AE0,AF0,AFC,IFF,H,A80,AE0,AF0,AF8,AFC,BFE,AFF
2 DATAP,F3F,F7F,TFF,AF0,AF8,AFC,AFE,LFF,E,A80,AC0,AE0,BF0,AF8,AFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,BFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,bFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,X,A1,A7,AF,A1F,A3F,B7F,AFF,C,A1,A7,AF,A3F
3 DATAIFF,A18,A30,AF0,BE0,CC0,C80,J,A1,A3,A7,BF,A1F,A3F,B7F,BFF,AF,A1F,A3F,A7F,\FF,FFC,FFE,DFF,G,A1F,A20,A40,A7F,BCF,A7F,B70,G,AC0,A20,A10,AF0,B98,AF0,B70,J,AF,A10,A1F,A2F,A1F,A19,K,B80,A40,B80,L,A6,AF,A9,_,A3,a,18,17,16,,17,1,16,8,,17,9,1
4 FORA=ATOA+X:VPOKE14336+A,Y:NEXT:NEXT:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT:FORI=256TO991'IOMB
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSEO=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:SOUND3,V:C=10:N=12800:X=30:VPOKE8192,V:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:SOUND8,8'CC 2
6 GOSUB5:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB5:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)'0
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X+6*M+5*((U=7)-(U=3))-3*(B-1):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:SOUND0,IAND255:PRINTUSING"SPEED:####mph RANK:###";S*10;G'0
8 GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:IFN>224THEN6ELSELOCATE5,6:SOUND8,0:PRINT"You are victorious!":FORI=0TO0STEP0:NEXT'5
| | wolf_
 msx legend Mensajes: 4780 | Publicado: Marzo 30 2005, 22:44   | snout: don't bother for that poor oneliner.. I might come up with something tho .. dunno what, and I dunno if it will be obfuscated because of fake-names etc. or because the code itself (in 'clean' condition) is obfuscated already.
Need to take a look at my map-generator and shadow-caster tho.. it's pretty obfuscated already ^_^ | | Alex Ganzeveld msx lover Mensajes: 81 | Publicado: Marzo 30 2005, 22:44   | I would like to compliment you guys (dvik and NYYRIKKI that is) on the game. Truly stunning!
I'm really enjoying this thread! Keep it coming!
FYI: I don't like fora. I've made 58 posts in 7 years and that's more than enough. I just wanted to let you guys know I really appreciate what your doing!
| | wolf_
 msx legend Mensajes: 4780 | Publicado: Marzo 30 2005, 22:45   | I bet 20% of your forumposts is related to that t-shirt game  | | manuel msx guru Mensajes: 3545 | Publicado: Marzo 30 2005, 22:53   | I must say dvik: this is fooking great!!  Hyper Really in 8 lines of MSX BASIC! 
Can't you save more space by leaving out the commas? | | NYYRIKKI msx master Mensajes: 1528 | Publicado: Marzo 31 2005, 00:19   | At a same time I also added a stupid end, gas pedal & some other minor changes... Maybe you find some of this code useful for your offical version. There is still space to make a more nice end.
BTW Sorry, that I broke your data last time.
1 KEYOFF:DEFINTA-Z:SCREEN1,3,0:V=14:COLOR15,5,1:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=0TO142:READS$:X=ASC(S$)-65:Y=VAL("&H"+MID$(S$,2)):DATAA18,AC,AF,B7,C3,C1,H,A80,AE0,AF0,AFC,IFF,H,A80,AE0,AF0,AF8,AFC,BFE,AFF
2 DATAP,F3F,F7F,TFF,AF0,AF8,AFC,AFE,LFF,E,A80,AC0,AE0,BF0,AF8,AFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,BFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,P,B1,B3,B7,BF,B1F,B3F,B7F,bFF,B80,BC0,BE0,BF0,BF8,BFC,BFE,BFF,X,A1,A7,AF,A1F,A3F,B7F,AFF,C,A1,A7,AF,A3F
3 DATAIFF,A18,A30,AF0,BE0,CC0,C80,J,A1,A3,A7,BF,A1F,A3F,B7F,BFF,AF,A1F,A3F,A7F,\FF,FFC,FFE,DFF,G,A1F,A20,A40,A7F,BCF,A7F,B70,G,AC0,A20,A10,AF0,B98,AF0,B70,J,AF,A10,A1F,A2F,A1F,A19,K,B80,A40,B80,L,A6,AF,A9,_,A3,a,18,17,16,,17,1,16,8,,17,9,1
4 FORA=ATOA+X:VPOKE14336+A,Y:NEXTA,I:FORI=0TO11:READF:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-128-F):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:B=1:FORI=0TO143:VPOKE1024+I,255*(I/8AND1):VPOKE1311-I,255*(I/4AND1):NEXT:FORI=256TO991:TIME=0
5 J=S-J*(J<96-S):H=J/16:IFCTHENFORW=0TO2:VPOKE8208+W,P(H+W):NEXT:Z=Z+S:RETURNELSE:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:SOUND3,V:C=10:N=12800:X=30:VPOKE8192,V:PUTSPRITE8,(80,159),V,6:PUTSPRITE9,(144,159),V,7:SOUND8,8:FORT=0TO9999
6 FORQ=0TO1:PUTSPRITE4+Q,(86+F*10+Q*32,95),V,4*B+Q:GOSUB5:PUTSPRITE6+Q,(96+Q*32,127),V,4*F+2+Q:NEXT:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16ANDSTRIG(0))*2-1:S=-S*(S>0):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)'IOMBCC 2005
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X-(6*M+5*((U=7)-(U=3))-3*(B-1))*(S>0):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph RANK:###";S*10;G' by Dvik
8 SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:T=T-1+(Z\20):Z=0:NEXT:SCREEN0:PRINT"Time:";TIME\60;"RANK:"G
| | dvik msx master Mensajes: 1343 | Publicado: Marzo 31 2005, 00:32   | Nice job NYYRIKKI  . I've been working on manuels idea and got another 80 free characters. We should merge your last version with this and then we'll have enough space to do a cool ending
Btw, I think since you are toggling the speed, the if statement on line 7 could be removed. That probably speeds things up a bit (the top text will be drawn everytime anyway).
Here are my updates (I've only modified the first five lines):
1 DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"'
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-63-ASC(MID$("SRQARBQIARJB",I+1))):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:FORI=0TO143:N=12800:VPOKE1024+I,255*(I/8AND1)
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSEVPOKE1311-I,255*(I/4AND1):NEXT:C=10:SOUND3,V:VPOKE8192,V:SOUND8,8
6 GOSUB5:PUTSPRITE4,(86+F*10,95),V,4*B:PUTSPRITE5,(118+F*10,95),V,4*B+1:PUTSPRITE6,(96,127),V,4*F+2:GOSUB5:PUTSPRITE7,(128,127),V,4*F+3:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)
7 S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:X=X+6*M+5*((U=7)-(U=3))-3*(B-1):M=(X>72)-(X<0):IFO+G-S-N/128THENO=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:SOUND0,IAND255:PRINTUSING"SPEED:####mph RANK:###";S*10;G
8 GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:IFN>224THEN6ELSELOCATE5,6:SOUND8,0:PRINT"You are victorious!":FORI=0TO0STEP0:NEXT
| | snout
 msx legend Mensajes: 4992 | Publicado: Marzo 31 2005, 00:35   | This is insaaaaaaaaane!  | | NYYRIKKI msx master Mensajes: 1528 | Publicado: Marzo 31 2005, 00:41   | To be honnest, I think that great part of the data can be thrown away. If you look at the actual data bytes after RLE, it is mostly just 8bits from "000000001111111100000000" string scrolling towards start or end. If you make a custom routine for this, you have to store only few bytes+car graphics anymore. I hope you understand, what I mean...
| | dvik msx master Mensajes: 1343 | Publicado: Marzo 31 2005, 00:52   | Most of the bytes in the data are the sprites that makes up the road. As you
said, they could probably be generated using a simple routine instead of data.
Btw, when does your version end?
I think this merged version has all the features from both versions. As you
see there is quite a lot of free space. After the change I did, there is no more
data which means that its easier to restart the game. Maybe we should add some highscores as well
1 DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"'
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-63-ASC(MID$("SRQARBQIARJB",I+1))):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:FORI=0TO143:TIME=0:VPOKE1024+I,255*(I/8AND1)
5 J=S-J*(J<96-S):H=J/16:IFCTHENVPOKE8208,P(H):VPOKE8209,P(H+1):VPOKE8210,P(H+2):RETURNELSEVPOKE1311-I,255*(I/4AND1):NEXT:C=10:SOUND3,V:VPOKE8192,V:SOUND8,8:N=12800:FORT=0TO9999:FORQ=0TO1:PUTSPRITE4+Q,(86+F*10+Q*32,95),V,4*B+Q:GOSUB5
6 PUTSPRITE6+Q,(96+Q*32,127),V,4*F+2+Q:NEXT:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16ANDSTRIG(0))*2-1:S=-S*(S>0):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)ELSE:S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:
7 X=X-(6*M+5*((U=7)-(U=3))-3*(B-1))*(S>0):M=(X>72)-(X<0):O=S:G=N/128:LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph RANK:###";S*10;G
8 SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5:PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:T=T-1+(Z\20):Z=0:NEXT:SCREEN0:PRINT"Time:";TIME\60;"RANK:"G
| | dvik msx master Mensajes: 1343 | Publicado: Marzo 31 2005, 02:24   | I found out that the merge I did was a bit broken  ... but here is an update  :
1 :DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-63-ASC(MID$("SRQARBQIARJB",I+1))):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:FORI=0TO143:TIME=0:VPOKE1024+I,255*(I/8AND1)
5 J=S-J*(J<96-S):H=J/16:IFCTHENFORW=0TO2:VPOKE8208+W,P(H+W):NEXT:Z=Z+S:RETURNELSEVPOKE1311-I,255*(I/4AND1):NEXT:C=10:SOUND3,V:VPOKE8192,V:SOUND8,8:N=12800:FORT=0TON/2:T=T-1+(Z\20):Z=0:FORQ=0TO1:PUTSPRITE4+Q,(86+F*10+Q*32,95),V,4*B+Q:GOSUB5
6 PUTSPRITE6+Q,(96+Q*32,127),V,4*F+2+Q:NEXT:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<16ANDSTRIG(0))*2-1:GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)ELSE:M=(X>72)-(X<0):S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:U=5*((U=7)-(U=3))-3*B+3
7 X=X+5*M-U*(S>0):S=-S*(S>0):LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph RANK:###";S*10;N/128:SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:SCREEN0:PRINT"Time:";TIME\60;"RANK:"G
| | dvik msx master Mensajes: 1343 | Publicado: Marzo 31 2005, 03:24   | Sorry for spamming the poor forum with code updates
I found a couple of small bugs in the last version. I also added a
nice ending to the game. Feel free to change the ending if you like
This is probably my last post before my short vacation.
Happy racing
1 :DEFINTA-Z:V=14:S$(0)="A18A0CA0FB07C03C01H00A80AE0AF0AFCIFFH00A80AE0AF0AF8AFCBFEAFFP00F3FF7FTFFAF0AF8AFCAFELFFE00A80AC0AE0BF0AF8AFCBFEBFFP00B01B03B07B0FB1FB3FB7FBFFB80BC0BE0BF0BF8BFCBFEBFFP00B01B03B07B0FB1FB3FB7FbFFB80BC0BE0BF0BF8BFCBFE"
2 COLOR15,5,1:X=V:S$(1)="BFFX00A01A07A0FA1FA3FB7FAFFC00A01A07A0FA3FIFFA18A30AF0BE0CC0C80J00A01A03A07B0FA1FA3FB7FBFFA0FA1FA3FA7F\FFFFCFFEDFFG00A1FA20A40A7FBCFA7FB70G00AC0A20A10AF0B98AF0B70J00A0FA10A1FA2FA1FA19K00B80A40B80L00A06A0FA09_00A03"
3 KEYOFF:SCREEN1,3,0:FORI=0TO2:VPOKE8208+I,85:NEXT:LOCATE8,1:PRINT"PLEASE WAIT...":FORI=256TO991:O=VPEEK(I):VPOKEI,(OOR(O/2))/(2-(IAND4)/4):NEXT:FORB=0TO1:FORI=1TO212STEP3:Q=ASC(MID$(S$(B),I,1))-65:Y=VAL("&H"+MID$(S$(B),I+1,2)):FORA=ATOA+Q
4 VPOKE14336+A,Y:NEXT:NEXT:PUTSPRITE8+B,(80+64*B,159),V,6+B:NEXT:FORI=0TO11:FORH=0TO31:VPOKE6528+H+I*32,(I<8ORH<VORH>17)*(-63-ASC(MID$("SRQARBQIARJB",I+1))):NEXT:P(-I*(I<9))=50-15*(I/3AND1):NEXT:FORI=0TO143:TIME=0:VPOKE1024+I,255*(I/8AND1)
5 J=S-J*(J<96-S):H=J/16:IFCTHENFORW=0TO2:VPOKE8208+W,P(H+W):NEXT:Z=Z+S:RETURNELSEVPOKE1311-I,255*(I/4AND1):NEXT:C=10:SOUND3,V:VPOKE8192,V:SOUND8,8:N=12800:FORT=0TON/4:T=T-1+(Z\20):Z=0:FORQ=0TO1:PUTSPRITE4+Q,(86+F*10+Q*32,95),V,4*B+Q:GOSUB5
6 PUTSPRITE6+Q,(96+Q*32,127),V,4*F+2+Q:NEXT:PUTSPRITE0,(X+80,156),1,12:U=STICK(0):F=B:S=S-(S<18ANDSTRIG(0))*2+(S>0):GOSUB5:C=C-S:IFC<=0THENB=3*RND(1):C=35+99*RND(1)ELSE:M=(X>72)-(X<0):S=S*(D<73ORL<0ORL>30)*(M=0):GOSUB5:U=5*((U=7)-(U=3))+3'
7 X=X+5*M-(U-3*B)*(S>0):S=-S*(S>0):LOCATE0,1:GOSUB5:I=55930!/(25+S):SOUND9,-9*(S=0):SOUND1,I/256:PRINTUSING"SPEED:####mph RANK:###";S*10;N/128:SOUND0,IAND255:GOSUB5:L=X-E/3:N=N+9-S:E=NAND128:D=96-(NAND127):Y=D>0:D=D*D/96:GOSUB5' 2005
8 PUTSPRITE1,(115-(D<34)*((24-D)*(B-1)+(F-1)*10)+(E-64)*D/225,-Y*(98+D)-31),6,16-D/24:NEXT:A=TIME\60:FORJ=0TO999:LOCATE6,4:PRINTMID$(" Game Over Time ="+STR$(A)+"s ",J\6MOD42+1,16):NEXT:SCREEN0' dvik and NYYRIKKI
| |
| |
| |