Jump to content
Opry99er

Calimari Carl (unfinished SSGC game)

Recommended Posts

I've been lurking. I've been keeping up with the long-running threads but missed several of the new threads.

 

Mark--- those pix are lovely. :) Makes me want to re-think my graphics. :)

Share this post


Link to post
Share on other sites

Wow--- just watched that video.... I can't release Carl now!!!! I have to make SOME kind of improvement.... I had hoped this would become a community project (see top of thread), but alas, Karsten has been the only one who has contributed. Mark, care to take the code and make it cooler? Even if just by a little bit. :)

Share this post


Link to post
Share on other sites

Thanks--- I'll do that--- in the meantime--- I want all of you to MAKE THIS CODE BETTER!!!!! :)

 

I need to focus a bit on the player SPRITE... He needs some variety of design and motion. Anyone wanna take a crack?

Share this post


Link to post
Share on other sites

The one at the top of the thread is the most recent. I added some treasure chests and an ocean floor a couple days ago, but looking at them last night, I erased em. Lame

 

Anyway, I'm just wanting some inspiration man. I'm so tired of looking at this screen--- I need to lower the water, add a decent ocean floor and find a place to put my life/oxygen statistics. Not to mention player SPRITE stuff. I started a couple days ago but ran out of steam.

Edited by Opry99er

Share this post


Link to post
Share on other sites

Okay. :)

 

I know about running out of steam. Haven't finished much. Almost everything is demos, half finished games, tools and hot air. If only I had some more time.

 

Here's something to consider when you rewrite Carl in assembler. If you don't think it can be done, well, then I have to do a cartridge demo one of these days ...

 

calimari18.gif

Share this post


Link to post
Share on other sites

Holy crap, man.... That's lovely!!! :)

 

Yes, when I start the assembly version (probably using SPECTRA2) I will give this some serious thought... I have to finish this darn XB version first, and seeing "Scuba Diver" and this artwork is a bit overwhelming. :). I don't want to put out crap... With Honeycomb, I was unable to make the DDT drops by the plane work, due to speed limitations in XB.... I hope I can get something I can be proud of with this game. It's tough to take what is there and make something great out of it... It started as a 30 liner, so I've just been adding to a small-scale game... I might consider starting from scratch---

Share this post


Link to post
Share on other sites

I changed the interface made it graphical like a arcade game,

Instead of lives=3 now you have 3 divers

Instead of air and a number you now have a bar that diminishes. It needs a sound for when it recharges. kinda like seaquest on the 2600.

 

If you like it there are still some changes to the code that has to be made to fully integrate it into the game. IE I didn't play the game but I see where the air is maxed at 50, so it seems you can find air and overfill your tank, this needs to just top off the tank which is now set to full being 39 not 20, if 39 is to much then it just needs to tick away faster.

 

100 CALL CLEAR
101 CALL SCREEN(6)
102 CALL COLOR(2,16,1,3,16,1,4,2,1)
110 CALL CHAR(33,"6090906")
120 CALL CHAR(40,"00071F3F3F7F7F7E00FFFFFFFFFFFF0000FEFEFEFEFEFE00007E7E7E7E7E7E7E")
130 CALL CHAR(44,"007E7E7E7E7E7E007E7E7E7E7E7E7E7E007F7F7F7F7F7F0000E0F8FCFCFEFE7E")
140 CALL CHAR(48,"007F7F7F7F7F7F7E00FFFFFFFFFFFF7E7EFEFEFEFEFEFE7E7E7F7F3F3F1F07")
150 CALL CHAR(52,"7E7F7F7F7F7F7F007EFEFEFEFEFEFE007E7E7E7E7E7E7E")
160 CALL CHAR(56,"0080C0C0C0C0C0C0FFFFC0C0C0C0C0C0FFFF000000000000C0C")
170 CALL CHAR(60,"7F3F000000000000C0C0C0C0C0C0C0C00301")
180 DISPLAY AT(4,3):"()*8 +,8   ,8()*8   +8"
190 DISPLAY AT(5,3):"-9:; -9;   <;-9:;   -="
200 DISPLAY AT(6,3):"-= ./-+01/./(*+8-= ./(*-="
210 DISPLAY AT(7,3):"-= 02-----02-9-=-= 02-9-="
220 DISPLAY AT(8,3):"3)*4566666456=6=3)*456=6="
230 DISPLAY AT(9,3):">::::::::::::;<;>:::::;<;"
240 CALL CHAR(88,"00000101030707077FFFFFFFFFFFFFFF80C0E0F0F8F8FEFF0707070707030F11")
250 CALL CHAR(92,"FFFFFFFFFFFFFFFFFFFFFFFFFFFEFCF060F87C7F3F3F0F0000000001FFFFFF1F")
260 CALL CHAR(96,"111F0FFFFFFFFFFFFFFFFFFCFCFFFFFFE0E0D8641800F8FEFF7F7F7F7FFFFFFF")
270 CALL CHAR(100,"FFFFFEFCF8F0E0E0FF87000000000000FFFFFF1E00000000FFFFFFFFFFFFFFFE")
280 CALL CHAR(104,"C0C0C080000000000000000000000101011F7F7FFFFFFFFEFEFEFEFEFE7E7EFE")
290 CALL CHAR(108,"030307070F0F1F1FFEFCF8F0F1F1F1F1FEFEFFFFFFFFFFFF3F3F3F3F3F3F3F1F")
300 CALL CHAR(112,"F1E1E1E1E1E1C0C0FFFFFFFFFFFFFEFC")
310 DISPLAY AT(13,14):"XYZ"
311 DISPLAY AT(14,14):"[\]"
320 DISPLAY AT(15,12):"^_`ab"
321 DISPLAY AT(16,14):"cdef"
330 DISPLAY AT(17,14):"gh"
331 DISPLAY AT(18,12):"ijk"
340 DISPLAY AT(19,12):"lmn"
341 DISPLAY AT(20,12):"opq"
350 DISPLAY AT(19,12):"lmn"
351 DISPLAY AT(20,12):"opq"
360 W=RND*20+15
361 A=A+1
362 IF A>6 THEN A=1
370 CALL SPRITE(#A,33,16,98,142,-4,SGN(RND-.5))
380 CALL KEY(0,K,S)
381 IF S<>0 THEN 400
390 W=W-1
391 IF W<0 THEN 360 ELSE 380
400 CALL CLEAR
410 CALL DELSPRITE(ALL)
420 CALL CHARSET
430 CALL CLEAR
440 CALL SCREEN(
450 CALL MAGNIFY(3)
460 CALL CHAR(128,"0000010303071FFF")
470 CALL CHAR(129,"00408080C0E0FCFF")
480 CALL CHAR(112,"FFFFFFFFFFFFFFFF")
490 CALL COLOR(11,8,1,13,8,1)
500 CALL CHAR(96,"00010305071F3763CD09091B121200000080C0A0E0F8ECC6B39090D848480000")
510 CALL CHAR(100,"00042011084003131303400811200400002004881002C0C8C8C0021088042000") :: CALL CHAR(88,"18245ABDBD5A2418")
520 CALL CHAR(108,"0000006031190F1F704000000000000000000000E0EEFFEEA050280000000000")
530 CALL CHAR(116,"0000000031111F7F400000000000000000000000E0EEFFEEA050280000000000")
531 CALL CHAR(136,"FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCF0F0F0F0F0F0F0F0C0C0C0C0C0C0C0C0")
540 FOR LW=1 TO 31 STEP 2
550 CALL HCHAR(3,LW,128)
560 NEXT LW
570 FOR RW=2 TO 32 STEP 2
580 CALL HCHAR(3,RW,129)
590 NEXT RW
600 REM          **INIT VARIABLES**
610 PY=160
620 PX=16
630 L=3
640 OX=39
650 POI=0
660 CALL SPRITE(#1,108,2,PY,PX)
670 CALL SPRITE(#2,96,5,32,200,0,18,#3,96,5,64,180,0,16,#4,96,5,96,86,0,20)
680 TY=INT(RND*22)+2
690 TX=INT(RND*30)+2
700 IF TY>20 THEN TY=20
710 IF TY<4 THEN TY=4
720 IF TX<2 THEN TX=2
730 IF TX>30 THEN TX=20
740 DISPLAY AT(TY,TX):CHR$(88);
750 FOR LOOP=0 TO 9
751 REM  NEEDS A SOUND FOR FILLING AIR
752 CALL HCHAR(1,10+LOOP,139)
753 CALL HCHAR(1,10+LOOP,138)
754 CALL HCHAR(1,10+LOOP,137)
755 CALL HCHAR(1,10+LOOP,136)
756 NEXT LOOP
760 DISPLAY AT(1,22):"POINTS";
761 DISPLAY AT(2,22):STR$(POI);
770 FOR LOOP=0 TO L-1
771 OS=LOOP*2
772 CALL HCHAR(1,1+OS,108) :: CALL HCHAR(2,1+OS,109) :: CALL HCHAR(1,2+OS,110) :: CALL HCHAR(2,2+OS,111)
773 NEXT LOOP
780 DISPLAY AT(24,:CHR$(112);
790 DISPLAY AT(24,19):CHR$(112);
800 DISPLAY AT(23,7):CHR$(112);
810 CALL COLOR(13,8,2,11,8,1,8,16,1,2,2,8,3,2,8,5,2,8,6,2,8,7,2,8,4,2,
820 CALL COINC(ALL,M)
830 IF M<>0 THEN GOTO 970
840 CALL JOYST(1,X,Y)
850 CALL MOTION(#1,(-Y*2),(X*2))
860 CALL COINC(ALL,C)
870 IF C<>0 THEN GOTO 970
880 CALL COINC(#1,TY*8,TX*8,12,K)
890 IF K<>0 THEN GOTO 1100
900 CO=CO+1
910 IF CO=2 THEN OX=OX-1
920 IF CO=2 THEN CO=0
925 GOSUB 1250
950 IF OX=0 THEN GOTO 970
960 GOTO 820
970 CALL DELSPRITE(ALL)
971 CALL HCHAR(1,10,32)
980 DISPLAY AT(10,10):"OCTOPUS FOOD";
990 FOR DL=1 TO 300
1000 NEXT DL
1010 DISPLAY AT(10,10):"WHAT A SHAME";
1020 FOR DL=1 TO 300
1030 NEXT DL
1040 DISPLAY AT(10,10):"                ";
1050 DISPLAY AT(TY,TX):" ";
1060 L=L-1
1061 IF L=2 THEN CALL HCHAR(1,5,32,2) :: CALL HCHAR(2,5,32,2)
1062 IF L=1 THEN CALL HCHAR(1,3,32,2) :: CALL HCHAR(2,3,32,2)
1063 IF L=0 THEN CALL HCHAR(1,1,32,2) :: CALL HCHAR(2,1,32,2)
1070 IF L<0 THEN GOTO 1160
1080 OX=39
1090 GOTO 660
1100 CALL SOUND(100,220,1,440,1,659,1)
1110 POI=POI+100
1120 OX=OX+10
1130 IF OX>50 THEN OX=50
1140 DISPLAY AT(TY,TX):CHR$(112);
1150 GOTO 680
1160 CALL CLEAR
1170 CALL SCREEN(9)
1180 FOR X=1 TO 12
1190 CALL COLOR(X,2,1)
1200 NEXT X
1210 DISPLAY AT(10,:"YOU LOSE, YA WANK!";
1220 GOTO 1220
1250 PLACE=INT(OX/4)
1251 REM  NEEDS A SOUND FOR FILLING AIR
1260 CH=OX-(PLACE*4)
1265 CALL HCHAR(1,10+PLACE+1,32)
1270 CALL HCHAR(1,10+PLACE,139-CH)
1310 RETURN

 

PS, does this forum support collapsible codeboxes, if so what is the tag for it?

Share this post


Link to post
Share on other sites

I'll test this out in a bit. Sounds great though!! I thought that line 1130 would handle the over-fill issue. What did you do with the 39 thing again?

 

Love the idea of the divers instead of numbers--- and a diminishing bar for oxygen.... Way too cool man. :)

Share this post


Link to post
Share on other sites

Wow--- just watched that video.... I can't release Carl now!!!! I have to make SOME kind of improvement.... I had hoped this would become a community project (see top of thread), but alas, Karsten has been the only one who has contributed. Mark, care to take the code and make it cooler? Even if just by a little bit. :)

 

I don't have the time at the moment, unfortunately. I'm fighting with Forth, and I have some family issues (sick parent) so things are.... a bit stretched at the moment!

 

I am now the proud owner of a fully expanded TI system (TI with nicely loaded PEB and 3 disk drives) and I haven't even powered the thing up yet :-(

 

Perhaps when TurboForth is done we can do something together in TurboForth? I can see no reason why TurboForth couldn't re-create Scuba Dive pretty much exactly as you see it there. Just a matter of getting the animation techniques correct. If you spend some time playing the game (I haven't played it since about 1984!) you'll realise that there are many screens. This is obviously compressed in some way.

 

The hardest parts would be drawing the screens - actually getting the graphics right, and coming up with a compression technique.

 

And a map would be nice, like this:

 

yr03_60.jpg

 

:)

Share this post


Link to post
Share on other sites

Oh hell yea, Willsy... hell yea!!!!!

 

I could design the map and get it into assembly... similarly to how I put together the map for Beryl...

 

lavapart.jpg

 

This is a small section of the map... here's how we made it work.

 

http://www.youtube.com/watch?v=7TzyIM1r044

 

 

***************************************************************************

 

***John, love the updates... we need to figure on a way to stop that lag time after collecting an oxygen tank, but I absolutely love the bar and the divers. As far as the sounds/music... I plan to use Matthew's sound player. This will make sure the lag time doesnt exist when you use sounds... they will simply play in the background. =)

 

Love it, man. Thanks for throwing your talents into the mix. This game will be so much better if there are many of us working on it. As I said before, it's pretty much abandonware from the SSGC contest, so anyone who wants to contribute, you will be credited accordingly. =) I love this forum.

Share this post


Link to post
Share on other sites

 

***John, love the updates... we need to figure on a way to stop that lag time after collecting an oxygen tank, but I absolutely love the bar and the divers. As far as the sounds/music... I plan to use Matthew's sound player. This will make sure the lag time doesnt exist when you use sounds... they will simply play in the background. =)

 

 

Well, like I said I didn't even play the game, just made some changes to the layout. It wont be a problem getting rid of the lag I'm sure. I'll look into it tonight and fix that.

 

Are there going to be extra lives? cause, right now I have the lives static at 3 but if they need to be dynamic where you can get more then 3 lives I simply need to set it to draw more divers on the screen.

Share this post


Link to post
Share on other sites

3 lives max. I had planned on awarding an extra life every other level or so initially, to max out at 3. I haven't thought about levels in a while... I had planned on 7--- water, sky and enemies will all change color, and the enemies will increase to 4 on level 2, 5 on level 3, and it will stay at 5 after that, but their speed will increase. Treasure chests are the key to advancing levels--- 5 per level, retrieved and deposited. Still haven't decided whether it will be a stable ship or a moving ship... Not important yet--- at the moment I am mostly hoping to get the chests designed and get the diver graphics in there... I want him to face left while traveling left. :) And I'm not sure 100% if I like the current design anyway... Thanks again, John

Share this post


Link to post
Share on other sites

Oh hell yea, Willsy... hell yea!!!!!

 

I could design the map and get it into assembly... similarly to how I put together the map for Beryl...

 

lavapart.jpg

 

Well, with what you have done so far with Beryl, you are halfway to Ant Attack (ZX Spectrum)

 

Ant+Attack.png

 

In Ant Attack (1983 IIRC) you can interact with the background - you can climb the walls and run along them etc.

 

http://www.youtube.com/watch?v=hQnIk2Vx5IM&feature=related

Share this post


Link to post
Share on other sites

Ok owen,

 

I did what I could with it with out getting to deep into it. The easiest thing to do about the none responsiveness when the air meter is charging is to stop the sprites and then re start them. Which is what I did as well as having it only recharge 10 units of air from the amount of air you have. where before if you had 24 air you grabbed a tank and no had 34, the meter would then redraw from 0 to 34, now it only redraws from 24 to 34 range. I also added a way to tell how low your air is not just a shorting bar but a bar with a full reference.

 

The air meter recharging can be redone by setting a flag when you grab a tank and then in the game loop you need to check for that flag to be set and every cycle though the game loop increase the air meter 1. Not sure how well this will work since you will be consuming air and recharging air at the same time, I guess you can also check for the tank fill flag and if it is set not allow consumption until the tank is charged. But anyway this is alittle more work and if you are going to remake it in assembly then this is a good representation of the game in basic.

 

Hope you like it,

John

 

Oh yeah, all the comments have been readded to the code as well.

 

10 RANDOMIZE
100 CALL CLEAR
101 CALL SCREEN(6)
102 CALL COLOR(2,16,1,3,16,1,4,2,1)

rem title CALIMARI CARL

110 CALL CHAR(33,"6090906")
120 CALL CHAR(40,"00071F3F3F7F7F7E00FFFFFFFFFFFF0000FEFEFEFEFEFE00007E7E7E7E7E7E7E")
130 CALL CHAR(44,"007E7E7E7E7E7E007E7E7E7E7E7E7E7E007F7F7F7F7F7F0000E0F8FCFCFEFE7E")
140 CALL CHAR(48,"007F7F7F7F7F7F7E00FFFFFFFFFFFF7E7EFEFEFEFEFEFE7E7E7F7F3F3F1F07")
150 CALL CHAR(52,"7E7F7F7F7F7F7F007EFEFEFEFEFEFE007E7E7E7E7E7E7E")
160 CALL CHAR(56,"0080C0C0C0C0C0C0FFFFC0C0C0C0C0C0FFFF000000000000C0C")
170 CALL CHAR(60,"7F3F000000000000C0C0C0C0C0C0C0C00301")
180 DISPLAY AT(4,3):"()*8 +,8   ,8()*8   +8"
190 DISPLAY AT(5,3):"-9:; -9;   <;-9:;   -="
200 DISPLAY AT(6,3):"-= ./-+01/./(*+8-= ./(*-="
210 DISPLAY AT(7,3):"-= 02-----02-9-=-= 02-9-="
220 DISPLAY AT(8,3):"3)*4566666456=6=3)*456=6="
230 DISPLAY AT(9,3):">::::::::::::;<;>:::::;<;"

rem title diver

240 CALL CHAR(88,"00000101030707077FFFFFFFFFFFFFFF80C0E0F0F8F8FEFF0707070707030F11")
250 CALL CHAR(92,"FFFFFFFFFFFFFFFFFFFFFFFFFFFEFCF060F87C7F3F3F0F0000000001FFFFFF1F")
260 CALL CHAR(96,"111F0FFFFFFFFFFFFFFFFFFCFCFFFFFFE0E0D8641800F8FEFF7F7F7F7FFFFFFF")
270 CALL CHAR(100,"FFFFFEFCF8F0E0E0FF87000000000000FFFFFF1E00000000FFFFFFFFFFFFFFFE")
280 CALL CHAR(104,"C0C0C080000000000000000000000101011F7F7FFFFFFFFEFEFEFEFEFE7E7EFE")
290 CALL CHAR(108,"030307070F0F1F1FFEFCF8F0F1F1F1F1FEFEFFFFFFFFFFFF3F3F3F3F3F3F3F1F")
300 CALL CHAR(112,"F1E1E1E1E1E1C0C0FFFFFFFFFFFFFEFC")
310 DISPLAY AT(13,14):"XYZ"
311 DISPLAY AT(14,14):"[\]"
320 DISPLAY AT(15,12):"^_`ab"
321 DISPLAY AT(16,14):"cdef"
330 DISPLAY AT(17,14):"gh"
331 DISPLAY AT(18,12):"ijk"
340 DISPLAY AT(19,12):"lmn"
341 DISPLAY AT(20,12):"opq"
350 DISPLAY AT(19,12):"lmn"
351 DISPLAY AT(20,12):"opq"

REM BUBBLE ANIMATION AND KSCAN FOR MOVING INTO MAIN GAME

360 W=RND*20+15
361 A=A+1
362 IF A>6 THEN A=1
370 CALL SPRITE(#A,33,16,98,142,-4,SGN(RND-.5))
380 CALL KEY(0,K,S)
381 IF S<>0 THEN 400
390 W=W-1
391 IF W<0 THEN 360 ELSE 380

rem PREPARE SCREEN AND CHARSETS FOR GAME

400 CALL CLEAR
410 CALL DELSPRITE(ALL)
420 CALL CHARSET
430 CALL CLEAR
440 CALL SCREEN(
450 CALL MAGNIFY(3)

REM CHARACTER DEFS AND COLORS

460 CALL CHAR(128,"0000010303071FFF")
470 CALL CHAR(129,"00408080C0E0FCFF")
480 CALL CHAR(112,"FFFFFFFFFFFFFFFF")
490 CALL COLOR(11,8,1,13,8,1)
500 CALL CHAR(96,"00010305071F3763CD09091B121200000080C0A0E0F8ECC6B39090D848480000")
510 CALL CHAR(100,"00042011084003131303400811200400002004881002C0C8C8C0021088042000") :: CALL CHAR(88,"18245ABDBD5A2418")
520 CALL CHAR(108,"0000006031190F1F704000000000000000000000E0EEFFEEA050280000000000")
530 CALL CHAR(116,"0000000031111F7F400000000000000000000000E0EEFFEEA050280000000000")
531 CALL CHAR(136,"FFFFFFFFFFFFFFFFFCFCFCFCFCFCFCFCF0F0F0F0F0F0F0F0C0C0C0C0C0C0C0C0")

REM DRAW WAVES AT TOP OF SCREEN

540 FOR LW=1 TO 31 STEP 2
550 CALL HCHAR(3,LW,128)
560 NEXT LW
570 FOR RW=2 TO 32 STEP 2
580 CALL HCHAR(3,RW,129)
590 NEXT RW

REM CALL REST OF COLORS FOR GAME

595 CALL COLOR(13,8,2,11,8,1,8,16,1,2,2,8,3,2,8,5,2,8,6,2,8,7,2,8,4,2,8,14,5,7)

REM          **INIT VARIABLES**

rem player
610 PY=160
620 PX=16

rem lives
630 L=3

rem points
640 POI=0

rem draw oxygen meter and set oxgen base level and fill level
650 COX=0
655 OX=39
656 CALL HCHAR(1,11,139,10)

REM SET SPRITES 

660 CALL SPRITE(#1,108,2,PY,PX)
670 CALL SPRITE(#2,96,5,32,200,#3,96,5,64,180,#4,96,5,96,86)



rem draw lives
671 FOR LOOP=0 TO L-1
672 OS=LOOP*2
673 CALL HCHAR(1,1+OS,108) :: CALL HCHAR(2,1+OS,109) :: CALL HCHAR(1,2+OS,110) :: CALL HCHAR(2,2+OS,111)
674 NEXT LOOP

rem display points
677 DISPLAY AT(1,22):"POINTS";
678 DISPLAY AT(2,22):STR$(POI);


rem locate oxygen tank on screen
680 TY=INT(RND*20)+3
690 TX=INT(RND*28)+4
700 IF TY>20 THEN TY=20
710 IF TY<4 THEN TY=4
720 IF TX<2 THEN TX=2
730 IF TX>30 THEN TX=20
740 DISPLAY AT(TY,TX):CHR$(88);

rem fill oxygen meter

rem if sprites are in motion then stop
750 CALL MOTION(#1,0,0,#2,0,0,#3,0,0,#4,0,0)
751 FOR LOOP=COX TO OX
752 PLACE=INT(LOOP/4)
753 CH=LOOP-(PLACE*4)
754 CALL HCHAR(1,10+PLACE+1,139-CH)
755 CALL SOUND(50,110+LOOP*10,5)
756 NEXT LOOP
rem if tank full then notify
757 IF OX=39 THEN CALL SOUND(250,680,5) :: CALL SOUND(500,780,5)
rem turn sprites back on
759 CALL MOTION(#2,0,18,#3,0,16,#4,0,20)

780 DISPLAY AT(24,:CHR$(112);
790 DISPLAY AT(24,19):CHR$(112);
800 DISPLAY AT(23,7):CHR$(112);

REM GAME LOOP START

REM CHECK FOR SPRITE COINC

820 CALL COINC(ALL,M)
830 IF M<>0 THEN GOTO 970

REM KSCAN FOR JOYSTICK

840 CALL JOYST(1,X,Y)

REM SET AUTO MOTION FOR PC SPRITE

850 CALL MOTION(#1,(-Y*2),(X*2))

REM SECOND CHECK FOR SPRITE COINC

860 CALL COINC(ALL,C)
870 IF C<>0 THEN GOTO 970

REM CHECK FOR TANK COLLISION

880 CALL COINC(#1,TY*8,TX*8,12,K)
890 IF K<>0 THEN GOTO 1100

REM INCREASE COUNTER AND DECREASE OXYGEN

900 CO=CO+1
910 IF CO=2 THEN OX=OX-1
920 IF CO=2 THEN CO=0

REM DISPLAY CURRENT OXYGEN LEVEL
925 GOSUB 1250

950 IF OX=0 THEN GOTO 970
960 GOTO 820

rem **************************************************
rem ******* A COLLISION HAPPENED WITH AN ENEMY*******
rem **************************************************

REM DELETE SPRITES AND DISPLAY MESSAGE ONSCREEN


970 CALL DELSPRITE(ALL)
971 CALL HCHAR(1,10,32)
980 DISPLAY AT(10,10):"OCTOPUS FOOD";

REM DELAY LOOP #1
990 FOR DL=1 TO 300
1000 NEXT DL
1010 DISPLAY AT(10,10):"WHAT A SHAME";

REM DELAY LOOP #2

1020 FOR DL=1 TO 300
1030 NEXT DL

REM CLEAR MESSAGE AND EXISTING OXYGEN TANK

1040 DISPLAY AT(10,10):"                ";
1050 DISPLAY AT(TY,TX):" ";

REM DECREASE LIVES, RESET OXYGEN TO 20


1060 L=L-1
1061 IF L=2 THEN CALL HCHAR(1,5,32,2) :: CALL HCHAR(2,5,32,2)
1062 IF L=1 THEN CALL HCHAR(1,3,32,2) :: CALL HCHAR(2,3,32,2)
1063 IF L=0 THEN CALL HCHAR(1,1,32,2) :: CALL HCHAR(2,1,32,2)
1070 IF L<0 THEN GOTO 1160
1080 OX=39

REM RETURN TO GAME LOOP

1090 GOTO 650

rem ********************************
rem *A TANK WAS RETRIEVED**********
rem *SO INCREASE POINTS AND OXYGEN*
rem ********************************

1100 CALL SOUND(100,220,1,440,1,659,1)

REM INCREASE POINTS AND OXYGEN

1110 POI=POI+100
1115 COX=OX
1120 OX=OX+10
REM OXYGEN LIMIT IS 39
1130 IF OX>39 THEN OX=39
1140 DISPLAY AT(TY,TX):CHR$(112);
1150 GOTO 677
1160 CALL CLEAR
1170 CALL SCREEN(9)
1180 FOR X=1 TO 12
1190 CALL COLOR(X,2,1)
1200 NEXT X
REM DISPLAY MESSAGE AND HOLD
1210 DISPLAY AT(10,:"YOU LOSE, YA WANK!";
1220 GOTO 1220

REM UPDATE AIR METER

1250 PLACE=INT(OX/4)
1260 CH=OX-(PLACE*4)
1270 CALL HCHAR(1,11+PLACE,139-CH)
1310 RETURN

Edited by jchase1970

Share this post


Link to post
Share on other sites

Brilliant stuff, man... Really. :) Thank you so much for working on this project with us.

 

Question: when I copy and paste the tagged code into Notepad++ or Classic99, it all pastes as one long ass line. I've always just manually separated it, but that's getting old fast. Any way to make it work without the grunt work?

Share this post


Link to post
Share on other sites

Brilliant stuff, man... Really. :) Thank you so much for working on this project with us.

 

Question: when I copy and paste the tagged code into Notepad++ or Classic99, it all pastes as one long ass line. I've always just manually separated it, but that's getting old fast. Any way to make it work without the grunt work?

 

 

I'm just using notepad in windows, and I just copied it and pasted it onto a blank page and it worked fine. I don't know why you are getting one long line????

 

For some reason you're not getting the CR for the end of the line, maybe a browser setting??? Has to be something with the copy method, I think anyway.

Edited by jchase1970

Share this post


Link to post
Share on other sites

Hey Owen,

 

Does it only copy funny when in a codebox like this,

1110 POI=POI+100
1115 COX=OX
1120 OX=OX+10
REM OXYGEN LIMIT IS 39
1130 IF OX>39 THEN OX=39
1140 DISPLAY AT(TY,TX):CHR$(112);
1150 GOTO 677
1160 CALL CLEAR
1170 CALL SCREEN(9)
1180 FOR X=1 TO 12
1190 CALL COLOR(X,2,1)
1200 NEXT X
REM DISPLAY MESSAGE AND HOLD
1210 DISPLAY AT(10,:"YOU LOSE, YA WANK!";
1220 GOTO 1220

 

or does it do it when not in a codebox like this too?

 

1110 POI=POI+100

1115 COX=OX

1120 OX=OX+10

REM OXYGEN LIMIT IS 39

1130 IF OX>39 THEN OX=39

1140 DISPLAY AT(TY,TX):CHR$(112);

1150 GOTO 677

1160 CALL CLEAR

1170 CALL SCREEN(9)

1180 FOR X=1 TO 12

1190 CALL COLOR(X,2,1)

1200 NEXT X

REM DISPLAY MESSAGE AND HOLD

1210 DISPLAY AT(10,8):"YOU LOSE, YA WANK!";

1220 GOTO 1220

Share this post


Link to post
Share on other sites

It works just fine outside the codebox, always has.

 

What browser are you using? I'm using firefox.

 

Ah, just tried it in IE and it is one long line in IE, If you are using IE, let me know and I'll see if I can search out a solution or maybe someone on here has one? It might be as simple as a setting in IE?

Share this post


Link to post
Share on other sites

Try and copy the code to Word and then copy from there. In Word, paste (Ctrl+V), unselect all (move cursor), select all (Ctrl+A) and copy (Ctrl+C). Then paste in Classic99.

Share this post


Link to post
Share on other sites

PS, does this forum support collapsible codeboxes, if so what is the tag for it?

 

Yes it does. Just press the "show" button.

 

The trick is to add the "spoiler" tag around your code tag

 

 

 

  much code here
  much code here   much code here
  much code here
  much code here   much code here
  much code here
  much code here   much code here   much code here
  much code here
  much code here
  much code here
  much code here   much code here
  much code here
  much code here
  much code here

 

 

Share this post


Link to post
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.

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...