I have created three programs for the BASIC 10-Liner contest using Micro Color BASIC for the TRS-80 Micro Color Computer aka the MC-10.
SMASHUP (for PUR-120)
This program is a simple simulation of a smashup derby. You are the green car. The aim of the game is to hit the other cars. Unless you are willing to risk driving head-on in the hope that your move/turn is timed as the last before the two colour blocks connect, the best strategy is to try to hit the other colours from the side as they pass in front of you. this takes good timing. If your timing is off and you drive in front of the oncoming colour block, then it hits you and you lose a life. 3 hits and you're out. But if you hit the other car you get a point. There is a time limit. Your score is the number of hits achieved within the time limit. A high score is displayed and you can then choose to play again.
Movement Keys: AWSD
VOLCANO (for Extreme-256)
This program involves flying your helicopter over a erupting volcano to retrieve a trapped person "Y" on the other side of the volcano. Avoid the rocks flying out of the volcano. You can only take 3 hits, then you are dead. Land on top of the victim to collect them. When you do so, another person will appear on the other side of the island. You must fly back and retrieve them. Continue to collect as many people as you can. You must be careful when landing. The ground will not stop your descent. You must land gently and not simply hit the ground relying it to stop your descent. How many people can you save before your craft reaches its limit? Lives are printed in the bottom right. Your score will be printed next to your helicopter after your last hit.
Movement Keys: WASZ
Each game can be played here: https://archive.org/details/@james_gerrie
Here are the program listings:
SMASHUP
0 DIMT,L(8),D(8),V(8),C(8),R,I,J,K(255),H,Q,V,M:V(1)=-1:V(2)=-33:V(3)=-32:V(4)=-31:V(5)=1:V(6)=33:V(7)=32:V(8)=31:GOTO7
1 SOUND100,1:S=S+1:PRINT@480,"SC"S"HI"HI;:ON-(S<HI)GOTO5:HI=S:PRINT@480,"SC"S"HI"HI;:GOTO5
2 POKE49151,64:POKEL(T),134:L=L-1:PRINT@496,"LIVES"L;:POKEL(T),137:SOUND1,1:ON-(L>.)GOTO5:GOTO6
3 Q=2:FORV=1TO350:FORT=.TO7:IFPEEK(L(T)+V(D(T)))=.THEND(T)=RND(8):GOTO5
4 POKEL(T),H:L(T)=L(T)+V(D(T)):I=PEEK(L(T)):IFI>HTHENIFT=.ORI=RTHENON-(T=.)GOTO1:GOTO2
5 POKEL(T),C(T):NEXT:D(.)=K(PEEK(Q)ANDPEEK(J)):NEXT
6 FORT=1TO10:SOUND99,1:NEXT:PRINT@496,"TRY AGAIN?";:FORI=0TO1STEP0:Q=ASC(INKEY$+CHR$(0)):I=-(Q=89ORQ=78):NEXT
7 CLS:PRINT@452,"smash up! BY JIM GERRIE":V=32:H=128:I=16:J=17023:R=143:K(65)=1:K(68)=5:K(87)=3:K(83)=7:S=0:POKE16925,0
8 POKE16926,1:M=16384:FORT=MTOM+479:POKET,.:NEXT:FORT=1TO13:?@V*T+1,"€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€";:NEXT
9 FORT=0TO7:D(T)=RND(8):C(T)=R+T*I:NEXT:FORT=0TO7:L(T)=M+261+3*T:POKEL(T),C(T):NEXT:L=4:ON-(Q<>78)GOTO3:END
10 REM 1 1 1
11 REM 1 2 3 4 5 6 7 8 9 0 1 2
12 REM789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
13 REM smash up! JIM GERRIE
14 REM 2023 10-LINER CONTEST
15 REM USE: W
16 REM A S D
17 REM YOU ARE THE GREEN CAR.
18 REM SMASH INTO THE OTHER
19 REM CARS, BUT DON'T LET
20 REM THEM SMASH INTO YOU.
21 REM THERE IS A TIME LIMIT.
0 CLEAR500:CLS:T=0:A=28:B=12:M=16384:FORT=1TO192:S$=S$+"":NEXT:D=1:V=32:G=17023:L=V*B+A:N=L+M:Z=RND(3):J=48+4:X=60:E=3:W=21 C$(1)="‚‡":C$(3)="‹":D$(1)="€‰":D$(3)="†€":Z(1)=16801:Z(2)=16651:Z(3)=16742:J=J-1:POKEM+511,J:SOUND1,2:IFJ<49THEN?S:END2 ?@.,S$"Ž•ŸšŽÑߟßÒŽÑ¿¿Ÿ¿¿„ˆÓÓÓ¿¿";3 ?"¿Ÿ¿¿¿Òˆ×¿¿¿¿¿¿Ÿ¿¿¿¿ÓŒˆ×¿¿¿ÿÿÿÿŸÿÿÿ¿¿Û„ŒˆÓÓ׿¿ÿÿÿÿŸŸŸŸŸÿÿ¿¿¿»Ò";4 ?"ˆ×¿¿¿¿ÿÿÿÿŸŸŸŸŸŸŸÿÿÿÿ¿»„ÓÓÓÓ׿¿¿ÿÿÿÿÿŸŸŸŸŸŸŸŸŸÿÿÿÿ¿»£¢£¡¿¿¿¿¿¿¿ÿÿÿÿÿŸŸŸŸŸŸŸŸŸŸŸÿÿÿÿ¿¿ª¯";:POKEZ(Z),895 FORT=1TO5:X(T)=X(T)+A(T):Y(T)=Y(T)+B(T):IFX(T)<.THENX(T)=.6 IFX(T)<EORX(T)>XORY(T)<2ORPOINT(X(T),Y(T))<>1THENX(T)=33+RND(8):Y(T)=8+RND(E):A(T)=W-RND(E)*(1+RND(.)):B(T)=W-RND(E)*1.57 RESET(X(T),Y(T)):NEXT:P=PEEK(N)+PEEK(N+1)+PEEK(N+V)+PEEK(N+33):C$(W)=C$(W+D):D$(W)=D$(W+D):?@L,C$(W);:?@L+V,D$(W);8 K=PEEK(W)ANDPEEK(G):D=(K=65ANDA>.)-(K=83ANDA<30):A=A+D:B=B+(K=87ANDB>.)-(K=90ANDB<30):L=V*B+A:N=L+M:IFP=572THEN29 ON-(P<>518)GOTO1:Z=RND(E):S=S+1:?@.,"SCORE"S:SOUND99,1:FORT=1TO2000:NEXT:Z=.:Z(0)=16829:ON(1ANDS)GOTO2:Z=RND(E):GOTO210 REM 1 1 111 REM 1 2 3 4 5 6 7 8 9 0 1 212 REM7890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567813 REM VOLCANO RESCUE14 REM BY J.GERRIE15 REM 10LINER CONTEST 2023
0 CLS1:DIMC1,C2,M$,M:M=16384:GOTO21 C1=(PEEK(17024)AND1)*256+PEEK(17025)-1+M:FORC2=1TOLEN(M$):C3=ASC(MID$(M$,C2)):POKEC1+C2,C3-(C3AND64):NEXT:?@C1-M+C2,:RETURN2 PRINT"¯¯Ÿ¯£ £¯¯¯¯¯Ÿ¯¯¯¯¯¯¯¯¯¯¯®¯¯«¯¯¬¬¬¬¬¬¬¯¯§¯";3 PRINT"ß߯¯¯¯¯¯¯¯¯¯¯ßßßßßßß ßß ß߀ßßß߀ Ï€ Ï€€ß";4 PRINT"߀ ÿÿ ÿÿ€Ï€ €€ ÿ €";5 PRINT"€ ÿ €€ ÿ ¿¿¿¿ €€ ¿¿¿¿ €";6 PRINT"€ € €€Ï €€¯Ï €€€€";7 PRINT"€¯¯ÏÀ";:POKE49151,64:PRINT@32*7+22,;:M$="GOD BLESS":GOSUB1:PRINT@32*8+22,"elizabeth";8 PRINT@32*9+22,;:M$=" II ":GOSUB1:PRINT@32*10+22,;:M$="1926-2022":GOSUB19 M$=INKEY$:ON-(M$<>CHR$(13))GOTO9:CLS0:SOUND1,1:CLS:END10 REM 1 1 111 REM 1 2 3 4 5 6 7 8 9 0 1 212 REM7890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567813 REM ELIZABETH REGINA II14 REM BY J.GERRIE15 REM 10LINER CONTEST 2023
No comments:
Post a Comment