Jump to content
IGNORED

Caynon Bomber


jchase1970

Recommended Posts

Ok first this is a port of a atari 2600 game that I had as a child and really like. I thought it would make a good game but after finishing it it is less fun then I remember it. The program is a good example of interacting sprites with char characters on the screen. It suffers from the lack for framerate. it is right on the line of being fast enough but to get the boost I needed I had to remove the score system. I compensated for it by giving some stats after the game. I could have kept the score in if I would slow down the speed of the bomb but anything slower is just no fun to play. I could have eliminated the computer player but I feel it is needed to give a bit of competition.

 


100 CALL CLEAR :: PRINT "Caynon Bomber by John Chase" :: PRINT :: PRINT "A 30 line game contestant" :: PRINT :: PRINT "Controls"
110 PRINT "S-slow down" :: PRINT "D-speed up" :: PRINT "X drop a bomb" :: PRINT :: PRINT "Press any key"
120 CALL KEY(0,K,S) :: IF S=1 THEN 130 ELSE GOTO 120
130 call clear::CALL MAGNIFY(3) :: RANDOMIZE :: XS=10 :: T=184 :: BDX=256 :: BD=0 :: PS=0 :: CS=0 :: B=0 :: CB=0 :: ST=0
140 FOR I=0 TO 4 :: READ C$ :: CALL CHAR(64+I*4,C$) :: NEXT I
150 A$="FFFFFFFFFFFFFFFF" :: FOR I=0 TO 4 :: CALL CHAR(104+(I*,"FFFFFFFFFFFFFF") :: CALL CHAR(105+(I*,A$) :: NEXT I
160 CALL COLOR(10,6,2,11,11,2,12,14,2,13,7,2,14,13,2,3,2,6,4,2,6,1,2,6) :: CALL SCREEN(6)
170 CALL HCHAR(1,1,105,480) :: CALL HCHAR(23,1,113,64) :: FOR I=1 TO 8 :: CALL VCHAR(14+I,I,113,9-I) :: CALL VCHAR(14+I,33-I,113,9-I) :: NEXT I
180 FOR I=1 TO 8 :: CALL HCHAR(14+I,I+1,INT(RND*3)*8+120,32-2*I) :: NEXT I
190 CALL SPRITE(#1,64,2,48,1,0,10,#2,68,2,48,17,0,10,#3,72,15,48,226,0,-8,#4,76,15,48,240,0,-
200 CALL KEY(1,K,S)
210 IF S=0 THEN 250
220 IF(K=2)*(XS>5)THEN XS=XS-1 :: CALL MOTION(#1,0,XS,#2,0,XS)
230 IF(K=3)*(XS<15)THEN XS=XS+1 :: CALL MOTION(#1,0,XS,#2,0,XS)
240 IF(B=0)*(K=0)THEN B=1 :: ST=1 :: CALL POSITION(#2,Y,X) :: CALL SPRITE(#5,80,2,Y+10,X,6,XS/2) :: BD=BD+1
250 IF B=1 THEN CALL POSITION(#5,Y,X) :: Y=INT(Y/8)+1 :: X=INT(X/8)+1 :: GOTO 260 ELSE GOTO 280
260 IF(X>0)*(Y<25)*(X<33)THEN CALL GCHAR(Y,X,C) :: GOTO 270 ELSE GOTO 280
270 IF(C=113)+(Y>22)THEN CALL DELSPRITE(#5) :: B=0 ELSE IF C<>105 THEN CALL HCHAR(Y,X,105) :: T=T-1 :: PS=PS+1 :: CALL SOUND(100,250+(Y*10),0)
280 IF(ST=1)*(CB=0)THEN CALL POSITION(#4,Y,X) :: GOTO 290 ELSE GOTO 300
290 IF(X>BDX-5)*(X<BDX+5)THEN CALL SPRITE(#6,80,15,Y+10,X,6,-6) :: CB=1 :: BDX=BDX-7 :: IF BDX<8 THEN BDX=256
300 IF CB=1 THEN CALL POSITION(#6,Y,X) :: Y=INT(Y/8)+1 :: X=INT(X/8)+1 :: GOTO 310 ELSE GOTO 330
310 IF(X>0)*(Y<25)*(X<33)THEN CALL GCHAR(Y,X,C) :: GOTO 320 ELSE GOTO 330
320 IF(C=113)+(Y>22)THEN CALL DELSPRITE(#6) :: CB=0 ELSE IF C<>105 THEN CALL HCHAR(Y,X,105) :: T=T-1 :: CS=CS+1 :: CALL SOUND(100,250+(Y*10),0)
330 IF T=0 THEN 340 ELSE GOTO 200
340 CALL DELSPRITE(ALL) :: CALL CLEAR :: CALL CHARSET :: FOR I=1 TO 11 :: CALL COLOR(I,2,6) :: NEXT I :: RESTORE 380
350 DISPLAY AT(4,2):"BOMBS DROPPED "&STR$(BD) :: DISPLAY AT(2,2):"TARGETS HIT "&STR$(PS) :: DISPLAY AT(6,2):"HIT MISS RATIO "&STR$(PS/BD)
360 DISPLAY AT(8,2):"TAGETS HIT PRECENTAGE "&STR$(INT(PS/184*100)) :: DISPLAY AT(12,2):"PRESS ANY KEY TO PLAY AGAIN"
370 CALL KEY(0,K,S) :: IF S=1 THEN GOTO 130 ELSE GOTO 370
380 DATA "60F0F8F8FCFFFFFFFF7F0000000000000000000000FFFFFCFBFB070707070F0E","0000000000FFFF01FEFDF8F0E0C080000000000000FCF2F9FFFE"
390 DATA "00000000003F4F9FFF7F0000000000000000000000FFFFC0BFDF0F070301","0000000000FFFF3FDFDFE0E0E0E0F070060F1F1F3FFFFFFFFFFE"
400 DATA "F060F0F060000000000000000000000000000000000000000000000000000000"

Link to comment
Share on other sites

Looks good! Amazing amount of quality and diversity in these entries. When Owen first announced this little contest, my thought was "What the hell can you do in 30 lines? Get ready for a ton of Mastermind clones." Great to be proven so wrong.

Edited by The Codex
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...