Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 27, 2010 Share Posted October 27, 2010 (edited) Hehe, I actually played Scuba Dive while looking for a bit of inspiration for this thread. You can try it out here (Java). It's in the 1983 catagory ... http://www.zxspectrum.net Edited October 27, 2010 by sometimes99er Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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? Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 27, 2010 Share Posted October 27, 2010 Thanks--- I'll do that--- in the meantime--- I want all of you to MAKE THIS CODE BETTER!!!!! Do you mean the actually "code" ? If so, have you posted the latest version ? Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 (edited) 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 October 27, 2010 by Opry99er Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 27, 2010 Share Posted October 27, 2010 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 ... Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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--- Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 27, 2010 Share Posted October 27, 2010 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? Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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. Quote Link to comment Share on other sites More sharing options...
Willsy Posted October 27, 2010 Share Posted October 27, 2010 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: Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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... 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. Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 27, 2010 Share Posted October 27, 2010 ***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. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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 Quote Link to comment Share on other sites More sharing options...
Willsy Posted October 27, 2010 Share Posted October 27, 2010 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... Well, with what you have done so far with Beryl, you are halfway to Ant Attack (ZX Spectrum) 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 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 I like the isometrics! Nice post Willsy Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 27, 2010 Share Posted October 27, 2010 (edited) 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 October 27, 2010 by jchase1970 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 27, 2010 Author Share Posted October 27, 2010 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? Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 27, 2010 Share Posted October 27, 2010 (edited) 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 October 28, 2010 by jchase1970 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 28, 2010 Author Share Posted October 28, 2010 Don't know... It's always done that on my computer--- ever since I started posting on Atariage. Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 28, 2010 Share Posted October 28, 2010 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,:"YOU LOSE, YA WANK!"; 1220 GOTO 1220 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted October 28, 2010 Author Share Posted October 28, 2010 It works just fine outside the codebox, always has. Quote Link to comment Share on other sites More sharing options...
jchase1970 Posted October 28, 2010 Share Posted October 28, 2010 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? Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted October 28, 2010 Share Posted October 28, 2010 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. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted October 28, 2010 Share Posted October 28, 2010 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.