Jump to content

Recommended Posts

This is the BASIC format of the "boss" stage level... or "inside the honeycomb" stage... Still working on ironing it out and adding a few new accents

 

100 CALL CLEAR

110 CALL SCREEN(6)

111 FOR I=1 TO 4

115 CALL SOUND(400,165,1)

120 CALL SOUND(200,220,2,440,2,523,1) :: CALL SOUND(200,220,2,440,2,494,1) :: CALL SOUND(200,220,2,440,2,523,1)

130 CALL SOUND(200,220,2,440,2,587,1) :: CALL SOUND(200,220,2,330,2,659,1) :: CALL SOUND(200,220,2,440,2,587,1)

140 CALL SOUND(200,220,2,440,2,523,1) :: CALL SOUND(200,165,2,440,2,494,1)

150 CALL SOUND(200,220,2,440,2,523,1) :: CALL SOUND(200,220,2,440,2,494,1) :: CALL SOUND(200,220,2,440,2,523,1)

160 CALL SOUND(200,220,2,440,2,587,1) :: CALL SOUND(400,220,2,330,2,659,1)

170 NEXT I

 

wow, that sounds real nice! :thumbsup: :thumbsup: :thumbsup:

I just tried it in Extended Basic using classic99's paste functionality.

I clipped the call sound statements right here from the post and pasted it in classic99. Nice ;)

 

soundsample_hcr.PNG

Edited by retroclouds

Hey thanks man... :). I hope, even though I am still a novice programmer, that I can use my musicianship skills to help enhance the game a bit. The main theme music for the game is really something special,... My wife and I wrote it together... She is an excellent musician as well, and graciously ALLOWS me a bit of free time to do this programming stuff. :). I'll post that piece very soon as well. No new progress to report... New Years is insane for me. The last 2 weeks of the year are always ridiculous... But as soon as the 4th of January, I should be able to focus a bit on coding... I will be posting samples of code as we go along here.... Just like Filip did, copy and paste directly into Classic99 for optimum results.

I've had very little time to work on this project lately... Christmas and the New Years take up my family and work time--- leaving very little time to focus on these projects... However, I HAVE made a BIT of progress. Below I have posted the XB code for the primary game screen with updates SPRITES and a little "death" screen... Just testing stuff out, so bear with me here. Paste this into Classic99 using the Extended BASIC application cartridge. This is not the entire code..... The "honeycomb" and "flowerbed" are not implemented in this particular program... They are being designed and worked on and will be added to this pre-existing code as soon as I am happy with them.

 

UPDATES FROM OLD VIDEO

 

*Implemented joystick function (no longer have to use ESDX)

*Implemented 4 new SPRITE positions (up and left, down and left, up and right, down and right)

*Created COINC collisions

*Put "initial" life and level counters on the top of the screen... All text will use a unique character set font... the TI set will not be seen in the final game.

 

NEXT TO ACCOMPLISH

 

*Finish flower bed graphics

*Finish honeycomb graphics

*Implement new character set font

 

****NOTE****

 

LINE 260 should be CALL SCREEN (eight)... It's adding an emoticon there. Sorry

 

100 REM **INIT VARIABLES**

110 Q=3 :: LEV=1

120 CALL CLEAR :: CALL SCREEN(2)

130 S1$="040402010001040B102340878087483120204080008020D008C402E101E1128C"

140 S2$="31488780874023100B040100010204048C12E101E102C408F020800080402020"

150 S3$="3844828140282AAAAA2A2840818244380000000080C384A8A884438000000000"

160 S4$="0000000001C221151521C301000000001C22418102145455555414028141221C"

170 S5$="007F4140C0808188E4221108241301010810C8354A2814844602028202021EF0"

180 S6$="01011324081122E4888180C040417F00F01E0202820202468414284A35C81008"

190 S7$="0F7840404140406221281452AC1308108080C82410884427118101030282FE00"

200 S8$="100813AC52142821624040414040780F00FE8202030181112744881024C88080"

210 S9$="000000783C1E4FE7E7FDFF03070F1E3C0000000000000181F15DF9C181000000"

220 CALL CHAR(136,"5CA5CA5CA5CA5CA5")

230 CALL HCHAR(8,1,136,544)

240 CALL CHAR(128,S1$) :: CALL CHAR(132,S5$) :: CALL CHAR(120,S3$) :: CALL CHAR(108,S6$) :: CALL CHAR(104,S2$) :: CALL CHAR(100,S7$)

250 CALL CHAR(112,S4$) :: CALL CHAR(124,S8$) :: CALL CHAR(116,S1$) :: CALL CHAR(96,S9$)

260 CALL COLOR(14,11,12) :: CALL SCREEN(8)

270 CALL SPRITE(#1,100,2,170,5) :: CALL SPRITE(#2,112,7,99,150,0,-15)

280 CALL SPRITE(#4,112,7,150,125,0,-15)

290 CALL SPRITE(#3,96,2,10,5,0,20)

300 CALL MAGNIFY(3)

310 DISPLAY AT(3,20):Q

320 DISPLAY AT(1,16):"LEVEL" :: DISPLAY AT(1,21):LEV

330 CALL COINC(ALL,C) :: IF C=-1 THEN GOSUB 380 ELSE 340

340 CALL JOYST(1,X,Y)

350 CALL MOTION(#1,-Y*2.5,X*2.5)

360 CALL PATTERN(#1,Y*3+X+116)

370 GOTO 330

380 CALL DELSPRITE(ALL) :: FOR I=2 TO 14 :: CALL COLOR(I,2,1) :: NEXT I :: CALL SCREEN(2) :: CALL CHARSET

390 Q=Q-1 :: IF Q<0 THEN GOTO 430

400 CALL SCREEN(7) :: PRINT " YOU LOST A BEE!!!" :: FOR X=1 TO 400 :: NEXT X

410 CALL CLEAR :: CALL CHARSET :: CALL SCREEN(2) :: DISPLAY AT(7,11):"GET READY" :: CALL SCREEN(7) :: FOR X=1 TO 400 :: NEXT X

420 GOTO 120

430 CALL CLEAR

440 FOR L=1 TO 16

450 FOR X=1 TO 30 :: NEXT X :: PRINT "GAME OVER" :: CALL SCREEN(L) :: NEXT L

 

 

Thanks for taking a look. =)

 

Owen

Edited by Opry99er

Just gave it a spin in classic99.

Collision detection works real nice :thumbsup: :thumbsup: :thumbsup:

 

Just an idea: Do you think it's possible to let the bees flap their wings or would that bee to cumbersome in extended basic ?

 

I'm looking forward seeing the flower bed ;)

Yes... And those flowers he designed will be added to the game code tomorrow. :). You'll receive credit in the manual, sir. Now I have to come up with a creative way to implement said flower... Right now I just have the flowers going straight across with plain green stems... But I think I can do much better than that. Code and/or screenshots forthcoming... Promise

Flap their wings???? Sir you ARE crazy!!!. :) I had that in my original test code... But it is very cumbersome in XB... I JUST had it set up for the main SPRITE to do that--- and I had it set up just for the ESDX directions.... I ran against some character limitations... I could make all the enemy bees flap their wings without much difficulty, but Im not sure how much it would affect my loop.... I really need to learn TMS9900....

Finished the title screen graphics... Will post later tonight... The letters looked much better on paper than in code--- which is strange. I will need to cut back on the "P" in Rapture to make the "T" stand out more. I'm also contemplating adding a bee SPRITE to the title screen, but a different bee than is in the game. Half the size or smaller... Perhaps a single character. Will post pix and/or video in a bit.

Here are a couple pix... one is the art for the title, the other is the screen in Classic99. Not sure how I feel about the font... Also haven't added "flowers" or "honeycombs" to the title screen yet. The art shows honeycombs, but I was thinking flowers... Who knows. =) Anyway, here ya go

 

HC-art.jpg

 

HCtitle.jpg

 

Take a gander. =)

Here's a litle vid I took of it all. I changed some screen colors so you could watch these blocky letters load up... Insane that I had to do over 70 CALL HCHAR or VCHAR to make this screen work. Anyway, here it is

 

http://www.youtube.com/watch?v=aBuOXEeh6B8

Here's a litle vid I took of it all. I changed some screen colors so you could watch these blocky letters load up... Insane that I had to do over 70 CALL HCHAR or VCHAR to make this screen work. Anyway, here it is

 

http://www.youtube.com/watch?v=aBuOXEeh6B8

 

Just watched the vid. Nice, nice, very nice :thumbsup: :thumbsup: :thumbsup:

Looking forward seeing more :)

 

Actually I played around with Extended Basic last week. The first time in 22 years or so.

I forgot how powerful it is. It's not really lightning fast, but you can really do some amazing stuff with it :cool:

It IS a powerful language. I love it... But it is limited. Not necessarily by speed (which it IS) but more by the need for a concise loop which may or may not be able to include the necessary parameters. For instance, right now I am trying to set up limitations for my bee... I don't want it to go off the left side to reach the right, don't want it to be able to go off the bottom to reach the top, and I am trying to limit it's movement to JUST inside the yellow "canola field". XB sucks for this kind of thing... I'll have more done later today... We're snowed in....

Can I just set up a CALL LOCATE inside my loop to make sure the SPRITE is within parameters? For instance

 

300 CALL POSITION(#1,XPOS,YPOS)

310 IF XPOS<192 OR THEN GOSUB 1000

(rest of program)

1000 CALL LOCATE(#1,192,YPOS)

 

if I'm right, this will stop the SPRITE from going off the bottom of the screen, and let it maintain the Y position (dot column). If I also included a line and subprogram for the Y axis as well, this should work, yes?!? (excited... Think I may have figured out my problem)

My life just got a bit less stressful. New code, new video. Check out the screen parameters. =) Again, in LINE 260, it's "CALL SCREEN(eight)... damned emoticons.

 

The music is a piece I wrote and recorded called "A Short Riverside Rest." Hope you enjoy

 

http://www.youtube.com/watch?v=U5uUIMgEI7U

 

 

100 REM **INIT VARIABLES**

110 Q=3 :: LEV=1

120 CALL CLEAR :: CALL SCREEN(2)

130 S1$="040402010001040B102340878087483120204080008020D008C402E101E1128C"

140 S2$="31488780874023100B040100010204048C12E101E102C408F020800080402020"

150 S3$="3844828140282AAAAA2A2840818244380000000080C384A8A884438000000000"

160 S4$="0000000001C221151521C301000000001C22418102145455555414028141221C"

170 S5$="007F4140C0808188E4221108241301010810C8354A2814844602028202021EF0"

180 S6$="01011324081122E4888180C040417F00F01E0202820202468414284A35C81008"

190 S7$="0F7840404140406221281452AC1308108080C82410884427118101030282FE00"

200 S8$="100813AC52142821624040414040780F00FE8202030181112744881024C88080"

210 S9$="000000783C1E4FE7E7FDFF03070F1E3C0000000000000181F15DF9C181000000"

220 CALL CHAR(136,"5CA5CA5CA5CA5CA5")

230 CALL HCHAR(8,1,136,544)

240 CALL CHAR(128,S1$) :: CALL CHAR(132,S5$) :: CALL CHAR(120,S3$) :: CALL CHAR(108,S6$) :: CALL CHAR(104,S2$) :: CALL CHAR(100,S7$)

250 CALL CHAR(112,S4$) :: CALL CHAR(124,S8$) :: CALL CHAR(116,S1$) :: CALL CHAR(96,S9$)

260 CALL COLOR(14,11,12) :: CALL SCREEN(8)

270 CALL SPRITE(#1,100,2,170,5) :: CALL SPRITE(#2,112,7,99,150,0,-15)

280 CALL SPRITE(#4,112,7,150,125,0,-15)

290 CALL SPRITE(#3,96,2,10,5,0,20)

300 CALL MAGNIFY(3)

310 DISPLAY AT(3,20):Q

320 DISPLAY AT(1,16):"LEVEL" :: DISPLAY AT(1,21):LEV

330 CALL COINC(ALL,C) :: IF C=-1 THEN GOSUB 420

340 CALL POSITION(#1,XPOS,YPOS)

350 IF XPOS>185 THEN GOSUB 500

360 IF YPOS<10 THEN GOSUB 520

370 IF XPOS<58 THEN GOSUB 510

380 CALL JOYST(1,X,Y)

390 CALL MOTION(#1,-Y*2.5,X*2.5)

400 CALL PATTERN(#1,Y*3+X+116)

410 GOTO 330

420 CALL DELSPRITE(ALL) :: FOR I=2 TO 14 :: CALL COLOR(I,2,1) :: NEXT I :: CALL SCREEN(2) :: CALL CHARSET

430 Q=Q-1 :: IF Q<0 THEN GOTO 470

440 CALL SCREEN(7) :: PRINT " YOU LOST A BEE!!!" :: FOR X=1 TO 400 :: NEXT X

450 CALL CLEAR :: CALL CHARSET :: CALL SCREEN(2) :: DISPLAY AT(7,11):"GET READY" :: CALL SCREEN(7) :: FOR X=1 TO 400 :: NEXT X

460 GOTO 120

470 CALL CLEAR

480 FOR L=1 TO 16

490 FOR X=1 TO 30 :: NEXT X :: PRINT "GAME OVER" :: CALL SCREEN(L) :: NEXT L

500 CALL LOCATE(#1,185,YPOS) :: RETURN

510 CALL LOCATE(#1,58,YPOS) :: RETURN

520 CALL LOCATE(#1,XPOS,10) :: RETURN

Edited by Opry99er

Okay--- so my game loop is shaping up nicely. The next step (and my coding order has changed from "Graphics first" to "Game Loop first") is to replace the CALL COINC(ALL) in line 330 with more precise instructions. I do not want a collision to take place if any other SPRITEs collide with one another... I will try to implement the "DDT" drop today. So, I have two questions.....

 

1) **I will have to find a way to find the plane SPRITE and have it drop a DDT SPRITE as it moves across the screen... I think the best way to do this is use a similar detection and subroutine as I used in keeping the bee within parameters... CALL POSITION on that SPRITE, and if it is at a certain place on the screen, have it drop the DDT. Now--- how do I get it to drop the DDT from random positions as it travels?

2) How can I increase the number and speed of the enemy SPRITEs per level? On this question, I believe there will have go be two variables set up like "ENNUM" that will start with the initial number of enemies (probably 3) and will increase in a subprogram that increases the "level". (ENNUM=ENNUM+1) Additionally, a second variable---"ENSPD" which will control the speed of the enemy sprites... The same thing will apply here (ENSPD=ENSPD+2)

 

then I must come up with a RANDOMIZE function for where the SPRITEs will appear in the X and Y axis.

Any help would be appreciated

All I have are some suggestions; I hope you take them in the spirit in which they're intended, as helpful critisism. And feel free to ignore them, if they don't fit in with what you're trying to accomplish; you won't hurt my feelings. Much... ^_~

 

The first is just a bit of optimization of the code you already had:

1) Using DATA and READ (in a FOR-NEXT loop) to create your custom character definitions (really only necessary when you first type it in, I suppose, to keep from having to type "CALL CHAR" all those times). I don't think the quotes in the DATA statements are strictly necessary, since the strings don't contain any commas or spaces, but they're there, just in case.

2) Moving the code for the start point of the level. In your code, the program loops back up to line 120, whereupon all the character definition code is run again. I moved line 120 down below the character definition code, and edited the GOTO to point there.

3) Tweaking the DISPLAY ATs, to center the "Get ready" message, and to position the "You have lost a bee" message higher up, where it doesn't cause the screen to scroll up.

 

The second is a slight change in the way you handle losing a bee. Rather than simply blanking the screen and saying "you lost a bee," it might be more interesting to have some visual effect. Originally in this suggestion, I was going to delete the "you lost a bee" message, but I'll let you see how it looks with it left in. I know there must be a better way to handle spinning the bee, other than DATA statements, but I'm not that good at math, and don't see a pattern in the way the bee sprites are oriented. No doubt, someone here can tell you how to do the spin with only the FOR-NEXT loop, and leave the READ and DATA statements out, if you decide to leave the "death-spin" in.

 

If the spin and the screen flash are too fast/too slow, I apologize. Classic99 was running too slow, so I shut down BOINC; now it runs too fast, so I haven't been able to gauge what the best delay in lines 424 and 427 should be.

 

I'm including the empty lines (from the lines I deleted), so you can just copy/paste the altered code over the original to test it (make sure you don't save over your original code, though!) The DATA statements originally started immediately after line 520, but I added 1000 to the line numbers, in case you have other code starting at 530 that you didn't post. I didn't want my suggestions to overwrite anything that might affect gameplay!

 

120 
129 REM ** INIT CUSTOM CHARACTERS **
130 RESTORE 1530
140 FOR SP=96 TO 136 STEP 4 :: READ SP$ :: CALL CHAR(SP,SP$) :: NEXT SP
150 
160 
170 
180 
190 
200 
210 
220 CALL CLEAR :: CALL SCREEN(2)
230 CALL HCHAR(8,1,136,544)
240 
250 
419 REM ** SPIN BEE & FLASH SCREEN **
420 CALL DELSPRITE(#2,#3,#4) :: CALL MOTION(#1,0,0) :: RESTORE 1640
421 FOR DEAD=1 TO 8
423 READ SPIN :: CALL PATTERN(#1,SPIN)
424 CALL SCREEN(7) :: FOR DELAY=1 TO 10 :: NEXT DELAY
425 READ SPIN :: CALL PATTERN(#1,SPIN)
427 CALL SCREEN( :: FOR DELAY=1 TO 10 :: NEXT DELAY
428 NEXT DEAD
440 CALL SCREEN(7) :: DISPLAY AT(6,6):" YOU LOST A BEE!! " :: FOR X=1 TO 400 :: NEXT X
450 CALL CLEAR :: CALL CHARSET :: CALL SCREEN(2) :: DISPLAY AT(7,10):"GET READY" :: CALL SCREEN(7) :: FOR X=1 TO 400 :: NEXT X
460 GOTO 220
1529 REM ** CHARACTER INIT DATA **
1530 DATA "000000783C1E4FE7E7FDFF03070F1E3C0000000000000181F15DF9C181000000"
1540 DATA "0F7840404140406221281452AC1308108080C82410884427118101030282FE00"
1550 DATA "31488780874023100B040100010204048C12E101E102C408F020800080402020"
1560 DATA "01011324081122E4888180C040417F00F01E0202820202468414284A35C81008"
1570 DATA "0000000001C221151521C301000000001C22418102145455555414028141221C"
1580 DATA "040402010001040B102340878087483120204080008020D008C402E101E1128C"
1590 DATA "3844828140282AAAAA2A2840818244380000000080C384A8A884438000000000"
1600 DATA "100813AC52142821624040414040780F00FE8202030181112744881024C88080"
1610 DATA "040402010001040B102340878087483120204080008020D008C402E101E1128C"
1620 DATA "007F4140C0808188E4221108241301010810C8354A2814844602028202021EF0"
1630 DATA "5CA5CA5CA5CA5CA5"
1639 REM ** SPRITE SPIN DATA **
1640 DATA 120,108,104,100,112,124,128,132
1650 DATA 120,108,104,100,112,124,128,132

 

Anyway, those are just my little suggestions. I like what you'e done so far. It looks like it's going to be an interesting game, and I can't wait to see it when you're finished! ^_^

Thanks a million! I will start implementing some of this now! One question, however.... If the standard format for a CALL CHAR is ;;

100 CALL CHAR(97,"xxxx")

;; then would line 140 not have to include the quotation marks?... I think I see what you've done... You changed SP to the string SP$.... interesting method... The DATA statements include the """" and DATA reads directly. Thanks. I'll use this for sure. Just LOOKS nice!

Edited by Opry99er

Got a few things worked out here on the game... code to be posted later. First, the DDT the plane will be dropping.... I will set up an IF THEN statement and a RND function to do so.... I will need 3 or 4 more variables to do this....

Existing code notwithstanding, here is the premise for getting from point A to point B

 

100 REM **INIT VARIABLES**

101 DSPD=10 :: Z=10 :: ZX=8

500 DDT=RND*Z :: IF DDT>ZX THEN GOSUB 3000

.

.

.

3000 CALL POSITION(#3,XPOS,YPOS) :: CALL SPRITE(#5,130,XPOS,YPOS,DSPD,0):: RETURN

 

this will set up my DDT drop... The speed of the DDT, "DSPD" will be increased when the level increases. What ya think? I'll have all new updated code tonight including TI99Kitty optimizations and the DDT drop. I am also considering increasing the speed of the plane each level as well, but not sure... That would be easy to do.

 

Z and ZX set the "frequency" of drops... If they are decreased, the chance the plane will drop DDT is higher. At the end of each level, I will include a---

1000 Z=Z-1 :: ZX=ZX-1

 

there ya go... I'm sure I'm forgetting something, but I'm getting there

Edited by Opry99er

Thanks a million! I will start implementing some of this now! One question, however.... If the standard format for a CALL CHAR is ;;

100 CALL CHAR(97,"xxxx")

;; then would line 140 not have to include the quotation marks?... I think I see what you've done... You changed SP to the string SP$.... interesting method... The DATA statements include the """" and DATA reads directly. Thanks. I'll use this for sure. Just LOOKS nice!

 

Yeah, like I said before, I'm not sure if that actually saves any memory -- but it's much easier to type in. As for SP/SP$, I only used those because it makes it easy to remember what they're used for (SPrite definition). The SP variable is generated by the FOR-NEXT loop, which is set up to generate the ASCII codes (96, 100, 104, etc.). The hex values are READ into SP$, and then both are plugged into the CALL CHAR statement. It's a cute little trick I learned ages ago (possibly from looking at the code from "TI-Trek").

 

Z and ZX set the "frequency" of drops... If they are decreased, the chance the plane will drop DDT is higher. At the end of each level, I will include a---

1000 Z=Z-1 :: ZX=ZX-1

 

So, will the plane make multiple drops, or will it be like the skunk in "Alpiner," which drops its "payload" once, then scoots off the screen?

Z and ZX control the frequency. It will start with probably 2 drops per "pass" and will move up from there.. As the killer bee sprites speed up by level and the number of SPRITEs increases each level by 1, the frequency of drops will also increase to possibly up to 5 drops per pass. I gotta get these graphics up so I can set the game loop to look for the bee reaching the honeycomb.

 

***planned steps

 

1) finish coding flowerbed and honeycomb....

2) set up loop to search for bee-honeycomb contact

3) finish graphics for "inside the freaky honeycomb"

4) build "alien" engine.... And graphics. No, I'm not kidding.

5) rebuild collision detection routine to exclude "enemy SPRITE--enemy SPRITE" detection.

6) Not this far yet.......

I've just finished a bit of work adding all this new code into place... here's what I've got... I'm having a problem, though, that I won't be able to get to tonight... seems that I am having some serious difficulty getting my loop to work now. It starts with an instantaneous "death" to my play piece. The reason for this is the CALL COINC(ALL) in line 240. I will have to get rid of that and switch to more precise collision detection. To try it without that collision and junky mess, delete lines 245 and 3000. Then it's back to mostly normal. I'll be modifying the "SPIN" pattern a little bit, but it's a great idea, thanks Rhea! Anyway, here's the code... and as I said... delete lines 245 and 3000 to get rid of the problem. If someone cares to write up the routine for detecting collisions between the following SPRITE numbers, that would be great. =) If not, I'll knock it out tomorrow:::

#1 and #2

#1 and #4

#1 and #5

#1 and #6

#1 and #7

 

While #6 and #7 are not currently in the game, they WILL be on later levels... Will write the "end of level" subprogram tomorrow... It will include many additions and subtractions to different variables... including

 

+1 SPRITE speed

-1 Z \_________________together control frequency of DDT dropping

-1 ZX /

+1 LEV

-2 ENSPD (will increase speed of enemy SPRITEs

 

 

I will also have to set it up to where in LINE 3000, the SPRITEs that are generated in a plane pass-over have different numbers.... With the current code, the DDT will fall until the next one has to get dropped, then it disappears to make way for the new DDT SPRITE... This will have to get changed before I go

any further as well---but for now, here's the code... Haven't tested it totally out yet... got caught up in the COINC thing...

 

 

 

100 REM **INIT VARIABLES**

110 Q=3 :: LEV=1 :: DSPD=10 :: Z=10 :: ZX=8 :: ENSPD=-15

120 REM ** INIT CUSTOM CHARACTERS **

130 RESTORE 520

140 FOR SP=96 TO 136 STEP 4 :: READ SP$ :: CALL CHAR(SP,SP$) :: NEXT SP

150 CALL CLEAR :: CALL SCREEN(2)

160 CALL HCHAR(8,1,136,544)

170 CALL COLOR(14,11,12) :: CALL SCREEN(8)

180 CALL SPRITE(#1,100,2,170,5) :: CALL SPRITE(#2,112,7,99,150,0,ENSPD)

190 CALL SPRITE(#4,112,7,150,125,0,ENSPD)

200 CALL SPRITE(#3,96,2,10,5,0,20)

210 CALL MAGNIFY(3)

220 DISPLAY AT(3,20):Q

230 DISPLAY AT(1,16):"LEVEL" :: DISPLAY AT(1,21):LEV

240 CALL COINC(ALL,C) :: IF C=-1 THEN GOSUB 340

245 DDT=INT(RND*Z)+10 :: IF DDT>ZX THEN GOSUB 3000

250 CALL POSITION(#1,XPOS,YPOS)

260 IF XPOS>185 THEN GOSUB 480

270 IF YPOS<10 THEN GOSUB 500

280 IF XPOS<58 THEN GOSUB 490

290 CALL JOYST(1,X,Y)

300 CALL MOTION(#1,-Y*2.5,X*2.5)

310 CALL PATTERN(#1,Y*3+X+116)

320 GOTO 240

330 REM ** SPIN BEE & FLASH SCREEN **

340 CALL DELSPRITE(#2,#3,#4,#5) :: CALL MOTION(#1,0,0) :: RESTORE 640

350 FOR DEAD=1 TO 8

360 READ SPIN :: CALL PATTERN(#1,SPIN)

370 CALL SCREEN(7) :: FOR DELAY=1 TO 10 :: NEXT DELAY

380 READ SPIN :: CALL PATTERN(#1,SPIN)

390 CALL SCREEN(8) :: FOR DELAY=1 TO 10 :: NEXT DELAY

400 NEXT DEAD

410 Q=Q-1 :: IF Q<0 THEN GOTO 450

420 CALL SCREEN(7) :: DISPLAY AT(6,6):" YOU LOST A BEE!! " :: FOR X=1 TO 400 :: NEXT X

430 CALL CLEAR :: CALL CHARSET :: CALL SCREEN(2) :: DISPLAY AT(7,10):"GET READY" :: CALL SCREEN(7) :: FOR X=1 TO 400 :: NEXT X

440 GOTO 150

450 CALL CLEAR

460 FOR L=1 TO 16

470 FOR X=1 TO 30 :: NEXT X :: PRINT "GAME OVER" :: CALL SCREEN(L) :: NEXT L

480 CALL LOCATE(#1,185,YPOS) :: RETURN

490 CALL LOCATE(#1,58,YPOS) :: RETURN

500 CALL LOCATE(#1,XPOS,10) :: RETURN

510 REM ** CHARACTER INIT DATA **

520 DATA "000000783C1E4FE7E7FDFF03070F1E3C0000000000000181F15DF9C181000000"

530 DATA "0F7840404140406221281452AC1308108080C82410884427118101030282FE00"

540 DATA "31488780874023100B040100010204048C12E101E102C408F020800080402020"

550 DATA "01011324081122E4888180C040417F00F01E0202820202468414284A35C81008"

560 DATA "0000000001C221151521C301000000001C22418102145455555414028141221C"

570 DATA "040402010001040B102340878087483120204080008020D008C402E101E1128C"

580 DATA "3844828140282AAAAA2A2840818244380000000080C384A8A884438000000000"

590 DATA "100813AC52142821624040414040780F00FE8202030181112744881024C88080"

600 DATA "040402010001040B102340878087483120204080008020D008C402E101E1128C"

610 DATA "007F4140C0808188E4221108241301010810C8354A2814844602028202021EF0"

620 DATA "5CA5CA5CA5CA5CA5"

630 REM ** SPRITE SPIN DATA **

640 DATA 120,108,104,100,112,124,128,132

650 DATA 120,108,104,100,112,124,128,132

3000 CALL POSITION(#3,XPOS,YPOS) :: CALL SPRITE(#5,132,2,XPOS,YPOS,DSPD,0) :: RETURN

Edited by Opry99er

Progress has slowed for the time being... I do not have very good programming tools/aids and it's just so hard to get any "TI Time" right now. So... that being said, I'll try to transfer this program to my TI and then I might be able to be "in the dungeon" for a while and get time to code... Since I do my coding on my Intel MAC with a virtual machine on it running XP, I am often distracted and interrupted by a bunch of crap. But nobody disturbs me in my war room. =) Updates coming... I think I've figured out the collision detection subroutines... More info coming soon. =)

Listen up guys.... here is what has been happening.... I was able to (with a bit of help) put together array variable to handle my CALL COINC detection... However, I have pushed XB as far as I can push it. The main issue is the drag that is being put on program execution by the array I have put together for coincidence detection.  It slows down joystick movement detection to a debilitating level.  I need to find a way to either set up my joystick function as an assembly subroutine or find a way to do my detections array in assembly if this game is going to work properly.  I will need to CALL INIT and CALL LOAD my subroutine(s) and subsequently CALL LINK the subroutine inside of my game loop....  This is beyond me, really.... But I'm trying.  I need to figure out how to pass values between the two environments.... Anyone have any experience in this area?

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