Willsy Posted November 4, 2015 Share Posted November 4, 2015 Nice! Loving it. Buck is doing really well :-) I saw the title screen, "By Buck and Owen Brand" and immediately thought of Buck Owens, and thought "LEGEND!" Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted November 4, 2015 Share Posted November 4, 2015 Nice concept of dividing routines and actions for the sake of speed (TI Basic). I would prefer if you could move in one direction continuously when holding a direction key. 1 Quote Link to comment Share on other sites More sharing options...
Willsy Posted November 4, 2015 Share Posted November 4, 2015 I would prefer if you could move in one direction continuously when holding a direction key. +1 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 Will have that in on the next version. Thank you guys for playing and commenting. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 +1 I am pretty sure changing line 101 to... 101 IF S=0 THEN 99 ...will do what you desire. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 Nice! Loving it. Buck is doing really well :-) I saw the title screen, "By Buck and Owen Brand" and immediately thought of Buck Owens, and thought "LEGEND!" His middle name is Owen. And yea, he is really REALLY into the TI. Every day, that is what he wants to do... Either play graphing games with Boggle, Snoggle and Glerp, getting on and using Magellan and Patterns (jointly), or coding on my 4A and saving to tape. He is learning fast and has just learned how to manipulate loops to do what he wants. Funny little story, we have been cutting boards for some work we are doing here at the new house and we are doing it on the side deck outside my TI room. He sat inside while we were using the table saw outside and he was playing on the TI. When I came back in he told me to "type RUN." The kid had my table saw manual and coded in a semi-interactive "Skil Saw safety manual" so that I could run it before I used my saw each time and it would remind me to put the guard down and make sure the saw was safe before operating. That was a cool surprise. 6 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 Is "F" too cumbersome? Would you guys prefer the space bar for "Force" manipulation? 1 Quote Link to comment Share on other sites More sharing options...
Willsy Posted November 4, 2015 Share Posted November 4, 2015 Is "F" too cumbersome? Would you guys prefer the space bar for "Force" manipulation? yeah, space or enter or something. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 Lines 106 and 168 are the "Force" activation codes. Change the value of K in these lines to 13 to use "Enter" or 32 to use "Space". Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted November 4, 2015 Share Posted November 4, 2015 Just played it, it's awesome! Some feedback while using the Force would be good. For example, Yoda may raise a hand up while he's doing force stuff, or you may hear a force "sound" like a buzz (noises -1 to -3 work). That way you know what "mode" you're currently in. 2 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 4, 2015 Author Share Posted November 4, 2015 Hey, thanks Adam! And those are solid ideas for sure... I'll find a mode-differentiation method for sure. 2 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 (edited) Got a few things done tonight... Will post an update tomorrow. Implemented tonight: -Mode-differentiation (pretty sweet) -Multi-keypress for exploration -Space-bar for Force mode All of these enhanced the gameplay/mechanics. I know the first level is just a simple primer (no Force limit, no object layering) so it is hard to see what the actual 'game' is about with the one level you have, but if you guys have any other suggestions for improvements, I would love to hear them. Edited November 5, 2015 by Opry99er Quote Link to comment Share on other sites More sharing options...
Iwantgames:) Posted November 5, 2015 Share Posted November 5, 2015 Hoping to try this out soon, crossfire sucked me back in but maybe in a bit I can give it a go Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 You will literally blow through the first level in less than 3 minutes. It is just so you can get the feel for the controls. The new version looks and feels much better. You should wait til I post the next code. Quote Link to comment Share on other sites More sharing options...
Iwantgames:) Posted November 5, 2015 Share Posted November 5, 2015 Id say copying it to wordpad on my phone and transferring to my PC something got messed up. I get bad value in 6 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 It is BASIC ,not XB. Youre trying to load a character definition into a character number in set 15... Which does not exist in XB. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 Ill have the new code posted hopefully in a couple hours. Gotta get home and upload it to the site... Atariage is blocked at my work for whatever reason. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 (edited) Okay, new code. One thing.... the "swoosh" sound (LINEs 161-166) sounds awesome on my real TI, but is hit or miss in Classic99. Anyway, please play, enjoy, let me know if you like the enhancements or would like to see them changed. Once the U.I. is satisfactory, I am going to focus on furthering the game strategy and get the next couple levels rolling. 1 LEV=1 2 CALL CLEAR 3 CALL SCREEN(2) 4 FOR I=1 TO 25 5 READ A,A$ 6 CALL CHAR(A,A$) 7 NEXT I 8 PRINT " JEDI GAUNTLET" 9 PRINT 10 PRINT 11 PRINT " BY BUCK AND OWEN BRAND" 12 FOR GAP=1 TO 8 13 PRINT 14 NEXT GAP 15 PRINT " PRESS ANY KEY TO BEGIN" 16 FOR GAP=1 TO 7 17 PRINT 18 NEXT GAP 19 FOR CSET=1 TO 8 20 CALL COLOR(CSET,16,1) 21 NEXT CSET 22 CALL KEY(0,K,S) 23 IF S<1 THEN 22 24 CALL CLEAR 25 PRINT "THIS IS THE JEDI GAUNTLET..." 26 PRINT " YOU MUST MOVE YODA FROM " 27 PRINT " HIS HOME IN THE DEGOBA " 28 PRINT "SYSTEM AND BRING HIM TO THE " 29 PRINT " DEATH STAR TO FACE DARTH " 30 PRINT " VADER. THERE WILL BE MANY " 31 PRINT " CHALLENGES ALONG THE WAY. " 32 PRINT " ARE YOU READY? " 33 PRINT 34 PRINT 35 PRINT " PRESS ENTER TO CONTINUE " 36 CALL HCHAR(4,15,128,1) 37 CALL HCHAR(4,16,129,1) 38 CALL HCHAR(5,15,136,1) 39 CALL HCHAR(5,16,137,1) 40 CALL HCHAR(6,15,130,1) 41 CALL HCHAR(6,16,131,1) 42 CALL COLOR(13,3,1) 43 CALL COLOR(14,11,1) 44 CALL KEY(0,K,S) 45 IF S<1 THEN 44 46 IF K<>13 THEN 44 47 CALL COLOR(13,2,1) 48 CALL COLOR(14,2,1) 49 READ A$,B$,C$ 50 CALL CLEAR 51 PRINT A$ 52 PRINT B$ 53 PRINT C$ 54 PRINT 55 PRINT 56 PRINT 57 PRINT 58 PRINT " PRESS ENTER TO CONTINUE " 59 CALL KEY(0,K,S) 60 IF S<1 THEN 59 61 IF K<>13 THEN 59 62 READ PR,PC 63 FOR C=9 TO 15 64 CALL COLOR(C,2,1) 65 NEXT C 66 CALL CLEAR 67 CALL HCHAR(1,1,96,32) 68 CALL HCHAR(24,1,96,32) 69 CALL VCHAR(1,1,96,24) 70 CALL VCHAR(1,32,96,24) 71 CALL HCHAR(23,2,51) 72 FOR VDISP=1 TO 2 73 READ CNUM 74 FOR VWALLS=1 TO 5 75 READ A,B,C 76 CALL VCHAR(A,B,CNUM,C) 77 NEXT VWALLS 78 NEXT VDISP 79 CALL HCHAR(23,2,50) 80 FOR HDISP=1 TO 2 81 READ CNUM 82 FOR HWALLS=1 TO 5 83 READ A,B,C 84 CALL HCHAR(A,B,CNUM,C) 85 NEXT HWALLS 86 NEXT HDISP 87 CALL HCHAR(23,2,49) 88 FOR SPC=1 TO 10 89 READ A,B,C 90 CALL HCHAR(A,B,C) 91 NEXT SPC 92 CALL HCHAR(23,2,32) 93 REM 94 CALL HCHAR(PR,PC,132,1) 95 FOR A=9 TO 15 96 READ F 97 CALL COLOR(A,F,1) 98 NEXT A 99 REM 100 CALL KEY(0,K,S) 101 CALL CHAR(132,"BDDB3C187EFF993C") 102 CALL SCREEN(2) 103 IF S=0 THEN 99 104 IF K=69 THEN 110 105 IF K=83 THEN 122 106 IF K=68 THEN 134 107 IF K=88 THEN 146 108 IF K=32 THEN 158 109 GOTO 99 110 REM 111 PR=PR-1 112 CALL GCHAR(PR,PC,A) 113 IF A=32 THEN 119 114 IF A<105 THEN 117 115 IF A>108 THEN 117 116 GOTO 254 117 PR=PR+1 118 GOTO 252 119 CALL HCHAR(PR+1,PC,32,1) 120 CALL HCHAR(PR,PC,132,1) 121 GOTO 99 122 REM 123 PC=PC-1 124 CALL GCHAR(PR,PC,A) 125 IF A=32 THEN 131 126 IF A<105 THEN 129 127 IF A>108 THEN 129 128 GOTO 254 129 PC=PC+1 130 GOTO 252 131 CALL HCHAR(PR,PC+1,32,1) 132 CALL HCHAR(PR,PC,132,1) 133 GOTO 99 134 REM 135 PC=PC+1 136 CALL GCHAR(PR,PC,A) 137 IF A=32 THEN 143 138 IF A<105 THEN 141 139 IF A>108 THEN 141 140 GOTO 254 141 PC=PC-1 142 GOTO 252 143 CALL HCHAR(PR,PC-1,32,1) 144 CALL HCHAR(PR,PC,132,1) 145 GOTO 99 146 REM 147 PR=PR+1 148 CALL GCHAR(PR,PC,A) 149 IF A=32 THEN 155 150 IF A<105 THEN 153 151 IF A>108 THEN 153 152 GOTO 254 153 PR=PR-1 154 GOTO 252 155 CALL HCHAR(PR-1,PC,32,1) 156 CALL HCHAR(PR,PC,132,1) 157 GOTO 99 158 REM 159 IF S<1 THEN 100 160 CALL CHAR(132,"BDDB3C98FE7F193C") 161 TN=30 162 CALL SOUND(90,-5,TN) 163 TN=TN-6 164 IF TN=0 THEN 166 165 GOTO 162 166 CALL SOUND(120,-5,0) 167 CALL SCREEN(6) 168 FCR=PR+1 169 FCC=PC 170 CALL GCHAR(FCR,FCC,A) 171 FC=115 172 CALL HCHAR(FCR,FCC,FC,1) 173 CALL KEY(0,K,S) 174 IF S<>1 THEN 173 175 IF K=69 THEN 181 176 IF K=83 THEN 194 177 IF K=68 THEN 207 178 IF K=88 THEN 220 179 IF K=32 THEN 233 180 GOTO 173 181 REM 182 FCR=FCR-1 183 DIF=ABS(PR-FCR)+ABS(PC-FCC) 184 IF DIF>4 THEN 192 185 IF FCR<2 THEN 192 186 CALL GCHAR(FCR,FCC,B) 187 CALL HCHAR(FCR,FCC,FC,1) 188 CALL HCHAR(FCR+1,FCC,A) 189 CALL SOUND(75,-6,0) 190 A=B 191 GOTO 193 192 FCR=FCR+1 193 GOTO 173 194 REM 195 FCC=FCC-1 196 DIF=ABS(PR-FCR)+ABS(PC-FCC) 197 IF DIF>4 THEN 205 198 IF FCC<2 THEN 205 199 CALL GCHAR(FCR,FCC,B) 200 CALL HCHAR(FCR,FCC,FC,1) 201 CALL HCHAR(FCR,FCC+1,A) 202 CALL SOUND(75,-6,0) 203 A=B 204 GOTO 206 205 FCC=FCC+1 206 GOTO 173 207 REM 208 FCC=FCC+1 209 DIF=ABS(PR-FCR)+ABS(PC-FCC) 210 IF DIF>4 THEN 218 211 IF FCC>31 THEN 218 212 CALL GCHAR(FCR,FCC,B) 213 CALL HCHAR(FCR,FCC,FC,1) 214 CALL HCHAR(FCR,FCC-1,A) 215 CALL SOUND(75,-6,0) 216 A=B 217 GOTO 219 218 FCC=FCC-1 219 GOTO 173 220 REM 221 FCR=FCR+1 222 DIF=ABS(PR-FCR)+ABS(PC-FCC) 223 IF DIF>4 THEN 231 224 IF FCR>23 THEN 231 225 CALL GCHAR(FCR,FCC,B) 226 CALL HCHAR(FCR,FCC,FC,1) 227 CALL HCHAR(FCR-1,FCC,A) 228 CALL SOUND(75,-6,0) 229 A=B 230 GOTO 232 231 FCR=FCR-1 232 GOTO 173 233 REM 234 IF FFLG<1 THEN 240 235 IF B=32 THEN 238 236 CALL SOUND(100,440,1) 237 GOTO 173 238 FFLG=0 239 GOTO 100 240 IF A=113 THEN 245 241 IF A=112 THEN 245 242 GOTO 251 243 REM FC=113 244 REM GOTO 21800 245 FFLG=1 246 FC=A 247 A=32 248 CALL HCHAR(FCR,FCC,FC,1) 249 GOTO 173 250 REM 251 CALL HCHAR(FCR,FCC,A) 252 CALL SOUND(100,440,1) 253 GOTO 100 254 REM 255 CALL CLEAR 256 PRINT "WELL DONE, JEDI..." 257 LEV=LEV+1 258 GOTO 44 259 DATA 104,"3C353E68F878B86C",105,"0008065D3F141C17" 260 DATA 106,"3F78F068140A0500",107,"0030F8D48A8582C0" 261 DATA 108,"E0F0781C0C020000",112,"000000FFFF000000" 262 DATA 113,"FFC3A59999A5C3FF",96,"FF99FF9999FF99FF" 263 DATA 97,"F8809CC606382021",128,"000040673D0F0701" 264 DATA 129,"000002E6BCF0E080",130,"01030E0000000000" 265 DATA 131,"80C0700000000000",132,"BDDB3C187EFF993C" 266 DATA 136,"070F1D3F3B393F0F",137,"E0F0B8FCDC9CFCF0" 267 DATA 138,"3062DC5448200CC0",139,"000000007F6B557F" 268 DATA 144,"0000FF00AA00FF00",145,"2A222A222A222A22" 269 DATA 146,"00003F202A202B22",147,"2A22EA02AA02FE00" 270 DATA 148,"2A222B202A203F00",149,"0000FE02AA02EA22" 271 DATA 115,"E7818100008181E7" 272 DATA " TAKE YODA FROM HIS" 273 DATA " UNDERGROUND HOME TO THE" 274 DATA " X-WING FIGHTER" 275 DATA 2,15 276 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 277 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 278 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 279 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 280 DATA 20,29,105,21,29,106,20,30,107,21,30,108,4,15,112 281 DATA 10,21,113,23,11,113,23,11,113,23,11,113,23,11,113 282 DATA 3,16,7,16,3,11,5 283 DATA " REPAIR THE MILLENIUM" 284 DATA " FALCONS HYPERDRIVE BEFORE" 285 DATA " YOU ARE CAPTURED" 286 DATA 22,6 287 DATA 96,9,12,4,9,21,4,5,24,4,5,30,4,20,24,4 288 DATA 145,15,3,9,15,9,9,9,5,2,9,7,2,20,30,4 289 DATA 96,8,12,10,13,12,10,4,24,7,9,24,7,19,24,7 290 DATA 144,14,4,5,15,10,22,19,10,14,8,6,1,11,6,1 291 DATA 14,6,112,13,16,112,15,27,112,9,6,139,8,5,146 292 DATA 8,7,149,11,5,148,11,7,147,14,3,146,14,9,149 293 DATA 16,16,7,16,3,11,5 294 DATA " DEATH STAR LEVEL 1" 295 DATA " GET TO THE HYPERLIFT" 296 DATA " WITHOUT GETTING CAUGHT" 297 DATA 2,15 298 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 299 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 300 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 301 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 302 DATA " DEATH STAR LEVEL 2" 303 DATA " CROSS THE BRIDGE WITHOUT" 304 DATA " GETTING KILLED" 305 DATA 2,15 306 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 307 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 308 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 309 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 Edited November 5, 2015 by Opry99er Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted November 5, 2015 Share Posted November 5, 2015 Good work. Played at CPU Overdrive. It only shows that a compiled version would be quite nice. I'd rather stay with the black background instead of the blue. Maybe another background color would work. Anyway, just fine with Yoda raising his hand. Yes, previously I flipped the force a lot, so much that the dark side showed its ugly face. Quote Link to comment Share on other sites More sharing options...
Iwantgames:) Posted November 5, 2015 Share Posted November 5, 2015 It is BASIC ,not XB. Youre trying to load a character definition into a character number in set 15... Which does not exist in XB. ....Dumb___ moment. Sorry Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted November 5, 2015 Share Posted November 5, 2015 Suggest this instead: 161 FOR TN=30 TO 0 STEP -6 163 NEXT TN And remove lines 164 and 165. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 Good stuff. I will make the changes. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 Changes made. Starting to feel good here. 1 LEV=1 2 CALL CLEAR 3 CALL SCREEN(2) 4 FOR I=1 TO 25 5 READ A,A$ 6 CALL CHAR(A,A$) 7 NEXT I 8 PRINT " JEDI GAUNTLET" 9 PRINT 10 PRINT 11 PRINT " BY BUCK AND OWEN BRAND" 12 FOR GAP=1 TO 8 13 PRINT 14 NEXT GAP 15 PRINT " PRESS ANY KEY TO BEGIN" 16 FOR GAP=1 TO 7 17 PRINT 18 NEXT GAP 19 FOR CSET=1 TO 8 20 CALL COLOR(CSET,16,1) 21 NEXT CSET 22 CALL KEY(0,K,S) 23 IF S<1 THEN 22 24 CALL CLEAR 25 PRINT "THIS IS THE JEDI GAUNTLET..." 26 PRINT " YOU MUST MOVE YODA FROM " 27 PRINT " HIS HOME IN THE DEGOBA " 28 PRINT "SYSTEM AND BRING HIM TO THE " 29 PRINT " DEATH STAR TO FACE DARTH " 30 PRINT " VADER. THERE WILL BE MANY " 31 PRINT " CHALLENGES ALONG THE WAY. " 32 PRINT " ARE YOU READY? " 33 PRINT 34 PRINT 35 PRINT " PRESS ENTER TO CONTINUE " 36 CALL HCHAR(4,15,128,1) 37 CALL HCHAR(4,16,129,1) 38 CALL HCHAR(5,15,136,1) 39 CALL HCHAR(5,16,137,1) 40 CALL HCHAR(6,15,130,1) 41 CALL HCHAR(6,16,131,1) 42 CALL COLOR(13,3,1) 43 CALL COLOR(14,11,1) 44 CALL KEY(0,K,S) 45 IF S<1 THEN 44 46 IF K<>13 THEN 44 47 CALL COLOR(13,2,1) 48 CALL COLOR(14,2,1) 49 READ A$,B$,C$ 50 CALL CLEAR 51 PRINT A$ 52 PRINT B$ 53 PRINT C$ 54 PRINT 55 PRINT 56 PRINT 57 PRINT 58 PRINT " PRESS ENTER TO CONTINUE " 59 CALL KEY(0,K,S) 60 IF S<1 THEN 59 61 IF K<>13 THEN 59 62 READ PR,PC 63 FOR C=9 TO 15 64 CALL COLOR(C,2,1) 65 NEXT C 66 CALL CLEAR 67 CALL HCHAR(1,1,96,32) 68 CALL HCHAR(24,1,96,32) 69 CALL VCHAR(1,1,96,24) 70 CALL VCHAR(1,32,96,24) 71 CALL HCHAR(23,2,51) 72 FOR VDISP=1 TO 2 73 READ CNUM 74 FOR VWALLS=1 TO 5 75 READ A,B,C 76 CALL VCHAR(A,B,CNUM,C) 77 NEXT VWALLS 78 NEXT VDISP 79 CALL HCHAR(23,2,50) 80 FOR HDISP=1 TO 2 81 READ CNUM 82 FOR HWALLS=1 TO 5 83 READ A,B,C 84 CALL HCHAR(A,B,CNUM,C) 85 NEXT HWALLS 86 NEXT HDISP 87 CALL HCHAR(23,2,49) 88 FOR SPC=1 TO 10 89 READ A,B,C 90 CALL HCHAR(A,B,C) 91 NEXT SPC 92 CALL HCHAR(23,2,32) 93 REM 94 CALL HCHAR(PR,PC,132,1) 95 FOR A=9 TO 15 96 READ F 97 CALL COLOR(A,F,1) 98 NEXT A 99 REM 100 CALL KEY(0,K,S) 101 CALL CHAR(132,"BDDB3C187EFF993C") 102 IF S=0 THEN 99 103 IF K=69 THEN 109 104 IF K=83 THEN 121 105 IF K=68 THEN 133 106 IF K=88 THEN 145 107 IF K=32 THEN 157 108 GOTO 99 109 REM 110 PR=PR-1 111 CALL GCHAR(PR,PC,A) 112 IF A=32 THEN 118 113 IF A<105 THEN 116 114 IF A>108 THEN 116 115 GOTO 250 116 PR=PR+1 117 GOTO 248 118 CALL HCHAR(PR+1,PC,32,1) 119 CALL HCHAR(PR,PC,132,1) 120 GOTO 99 121 REM 122 PC=PC-1 123 CALL GCHAR(PR,PC,A) 124 IF A=32 THEN 130 125 IF A<105 THEN 128 126 IF A>108 THEN 128 127 GOTO 250 128 PC=PC+1 129 GOTO 248 130 CALL HCHAR(PR,PC+1,32,1) 131 CALL HCHAR(PR,PC,132,1) 132 GOTO 99 133 REM 134 PC=PC+1 135 CALL GCHAR(PR,PC,A) 136 IF A=32 THEN 142 137 IF A<105 THEN 140 138 IF A>108 THEN 140 139 GOTO 250 140 PC=PC-1 141 GOTO 248 142 CALL HCHAR(PR,PC-1,32,1) 143 CALL HCHAR(PR,PC,132,1) 144 GOTO 99 145 REM 146 PR=PR+1 147 CALL GCHAR(PR,PC,A) 148 IF A=32 THEN 154 149 IF A<105 THEN 152 150 IF A>108 THEN 152 151 GOTO 250 152 PR=PR-1 153 GOTO 248 154 CALL HCHAR(PR-1,PC,32,1) 155 CALL HCHAR(PR,PC,132,1) 156 GOTO 99 157 REM 158 IF S<1 THEN 100 159 CALL CHAR(132,"BDDB3C98FE7F193C") 160 FOR TN=30 TO 0 STEP -6 161 CALL SOUND(90,-5,TN) 162 NEXT TN 163 CALL SOUND(120,-5,0) 164 FCR=PR+1 165 FCC=PC 166 CALL GCHAR(FCR,FCC,A) 167 FC=115 168 CALL HCHAR(FCR,FCC,FC,1) 169 CALL KEY(0,K,S) 170 IF S<>1 THEN 169 171 IF K=69 THEN 177 172 IF K=83 THEN 190 173 IF K=68 THEN 203 174 IF K=88 THEN 216 175 IF K=32 THEN 229 176 GOTO 169 177 REM 178 FCR=FCR-1 179 DIF=ABS(PR-FCR)+ABS(PC-FCC) 180 IF DIF>4 THEN 188 181 IF FCR<2 THEN 188 182 CALL GCHAR(FCR,FCC,B) 183 CALL HCHAR(FCR,FCC,FC,1) 184 CALL HCHAR(FCR+1,FCC,A) 185 CALL SOUND(75,-6,0) 186 A=B 187 GOTO 189 188 FCR=FCR+1 189 GOTO 169 190 REM 191 FCC=FCC-1 192 DIF=ABS(PR-FCR)+ABS(PC-FCC) 193 IF DIF>4 THEN 201 194 IF FCC<2 THEN 201 195 CALL GCHAR(FCR,FCC,B) 196 CALL HCHAR(FCR,FCC,FC,1) 197 CALL HCHAR(FCR,FCC+1,A) 198 CALL SOUND(75,-6,0) 199 A=B 200 GOTO 202 201 FCC=FCC+1 202 GOTO 169 203 REM 204 FCC=FCC+1 205 DIF=ABS(PR-FCR)+ABS(PC-FCC) 206 IF DIF>4 THEN 214 207 IF FCC>31 THEN 214 208 CALL GCHAR(FCR,FCC,B) 209 CALL HCHAR(FCR,FCC,FC,1) 210 CALL HCHAR(FCR,FCC-1,A) 211 CALL SOUND(75,-6,0) 212 A=B 213 GOTO 215 214 FCC=FCC-1 215 GOTO 169 216 REM 217 FCR=FCR+1 218 DIF=ABS(PR-FCR)+ABS(PC-FCC) 219 IF DIF>4 THEN 227 220 IF FCR>23 THEN 227 221 CALL GCHAR(FCR,FCC,B) 222 CALL HCHAR(FCR,FCC,FC,1) 223 CALL HCHAR(FCR-1,FCC,A) 224 CALL SOUND(75,-6,0) 225 A=B 226 GOTO 228 227 FCR=FCR-1 228 GOTO 169 229 REM 230 IF FFLG<1 THEN 236 231 IF B=32 THEN 234 232 CALL SOUND(100,440,1) 233 GOTO 169 234 FFLG=0 235 GOTO 100 236 IF A=113 THEN 241 237 IF A=112 THEN 241 238 GOTO 247 239 REM FC=113 240 REM GOTO 21800 241 FFLG=1 242 FC=A 243 A=32 244 CALL HCHAR(FCR,FCC,FC,1) 245 GOTO 169 246 REM 247 CALL HCHAR(FCR,FCC,A) 248 CALL SOUND(100,440,1) 249 GOTO 100 250 REM 251 CALL CLEAR 252 PRINT "WELL DONE, JEDI..." 253 LEV=LEV+1 254 GOTO 44 255 DATA 104,"3C353E68F878B86C",105,"0008065D3F141C17" 256 DATA 106,"3F78F068140A0500",107,"0030F8D48A8582C0" 257 DATA 108,"E0F0781C0C020000",112,"000000FFFF000000" 258 DATA 113,"FFC3A59999A5C3FF",96,"FF99FF9999FF99FF" 259 DATA 97,"F8809CC606382021",128,"000040673D0F0701" 260 DATA 129,"000002E6BCF0E080",130,"01030E0000000000" 261 DATA 131,"80C0700000000000",132,"BDDB3C187EFF993C" 262 DATA 136,"070F1D3F3B393F0F",137,"E0F0B8FCDC9CFCF0" 263 DATA 138,"3062DC5448200CC0",139,"000000007F6B557F" 264 DATA 144,"0000FF00AA00FF00",145,"2A222A222A222A22" 265 DATA 146,"00003F202A202B22",147,"2A22EA02AA02FE00" 266 DATA 148,"2A222B202A203F00",149,"0000FE02AA02EA22" 267 DATA 115,"E7818100008181E7" 268 DATA " TAKE YODA FROM HIS" 269 DATA " UNDERGROUND HOME TO THE" 270 DATA " X-WING FIGHTER" 271 DATA 2,15 272 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 273 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 274 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 275 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 276 DATA 20,29,105,21,29,106,20,30,107,21,30,108,4,15,112 277 DATA 10,21,113,23,11,113,23,11,113,23,11,113,23,11,113 278 DATA 3,16,7,16,3,11,5 279 DATA " REPAIR THE MILLENIUM" 280 DATA " FALCONS HYPERDRIVE BEFORE" 281 DATA " YOU ARE CAPTURED" 282 DATA 22,6 283 DATA 96,9,12,4,9,21,4,5,24,4,5,30,4,20,24,4 284 DATA 145,15,3,9,15,9,9,9,5,2,9,7,2,20,30,4 285 DATA 96,8,12,10,13,12,10,4,24,7,9,24,7,19,24,7 286 DATA 144,14,4,5,15,10,22,19,10,14,8,6,1,11,6,1 287 DATA 14,6,112,13,16,112,15,27,112,9,6,139,8,5,146 288 DATA 8,7,149,11,5,148,11,7,147,14,3,146,14,9,149 289 DATA 16,16,7,16,3,11,5 290 DATA " DEATH STAR LEVEL 1" 291 DATA " GET TO THE HYPERLIFT" 292 DATA " WITHOUT GETTING CAUGHT" 293 DATA 2,15 294 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 295 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 296 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 297 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 298 DATA " DEATH STAR LEVEL 2" 299 DATA " CROSS THE BRIDGE WITHOUT" 300 DATA " GETTING KILLED" 301 DATA 2,15 302 DATA 97,12,5,5,10,9,4,7,17,4,17,11,6,18,14,6 303 DATA 138,2,14,3,2,16,4,2,17,4,3,20,10,2,22,10 304 DATA 97,6,4,14,9,2,14,11,11,7,13,9,21,16,5,27 305 DATA 138,4,24,8,7,23,8,10,24,8,19,17,15,22,17,11 1 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 Suggest this instead: 161 FOR TN=30 TO 0 STEP -6 163 NEXT TN And remove lines 164 and 165. That seems to be much smoother, thank you Adam. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted November 5, 2015 Author Share Posted November 5, 2015 (edited) For case handling stuff in later levels, I have started thinking of how I can fake GOSUBs and RETURNs in BASIC. Since each level has different objectives while using the Force to place specific objects on top of other specific objects, I have thought of using the value of LEV as a helper. When branching TO unique checks from the Force loop: 250 ON LEV GOTO 1000,1100,1200,1300,1400,etc Then to return to the Force loop 1050 GOTO 260 . . . 2050 GOTO 260 . . . etc Doing this keeps the loop tight and doesn't make excess checks for things that don't even happen until later levels. Think about Parsec... Why would the main game loop be checking for a collision with an Asteroid while fighting a Dramite? When needing to access a single subroutine from multiple parts of the program, I will employ a status variable (which will be a pointer to where the program branched to the sub). 600 STAT=1 610 GOTO 2000 . . 700 STAT=2 710 GOTO 2000 . . Then to return from the sub to the proper location in the loop: 2050 ON STAT GOTO 620,720,820,etc. In this way I can both GOSUB to a common subroutine from multiple places in the program AND RETURN from it to the proper location. It is basically just creating your own GOSUB and RETURN commands which do not natively exist in BASIC. Edited November 5, 2015 by Opry99er 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.