Subject: Heaven shines down

From: Owen Brand <[email-masked]>
Date: Fri, 8 Jan 2010 21:16:36 -0500

Code works... Please test it out and let me know what you think.   
YouTube video will be up in a few minutes.  Thanks guys!!!

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

Owen Brand
**Oprysoft**
Opry99er.com

---

From: R Halter <[email-masked]>
Date: Sat, 09 Jan 2010 11:15:49 -0600

>  YouTube video will be up in a few minutes.  Thanks guys!!!

This is the code from your AtariAge topic, right?  I'm having a little 
trouble with emulation speed right now, but collision detection is 
working fine.

I posted a few suggestions (with code) on your AA topic.  It took longer 
than I expected, because *just* as I was finishing up writing the code 
suggestions, Kurumi (my XP-based TI peripheral) BSOD'ed!  >_<

I wound up having to rewrite all my new code (I was composing it in 
Notepad, and I hadn't saved), saving every couple of steps to keep from 
having to do it all a third time if Kurumi decided to BSOD again.

Anyway, I don't know if the suggested tweaks will save any memory or 
speed up gameplay, except one where I noticed you are executing all of 
the CALL CHAR statements every time you start the level.  The other idea 
I suggested won't really affect the way the program runs; I just thought 
it might be kind of neat.

-- 
"You keep using that word.  I do not think it means what you think it 
means."
  -- Inigo Montoya (Mandy Patinkin), "The Princess Bride"

---

From: Owen Brand <[email-masked]>
Date: Sat, 9 Jan 2010 12:44:42 -0500

These are great suggestions.  I will change the loop to exclude the  
CALL CHARs and the screen draw.  The bee-spin sounds great--- I  
haven't had time to try it out yet... As far as the DATA statements, I  
am not sure if they will be necessary since I am excluding the screen  
draw from the loop.  But yes--- your optimizations will help greatly,  
thank you very much.  And this code is all still very preliminary.   
Since I have begun focusing primarily on the game engine for now, the  
little graphical nuances like the bee-death animation and even the  
flower bed have taken a back seat to making the screen parameters and  
setting up the plane--->DDT drop.  I should have that done  
tonight.  :) Thanks Rhea!!!

Owen Brand
**Oprysoft**
Opry99er.com