Code:
' Reign! - A Game For Cprogramming.com's Minibasic by Sebastian Garth
1 @( 0 ) = 79 : @( 1 ) = 23 : @( 2 ) = 0 : @( 3 ) = @( 2 ) + @( 1 ) : @( 4 ) = 0
2 @( 5 ) = @( 4 ) + @( 0 ) : @( 6 ) = @( 0 ) / 2 : @( 7 ) = 0 : @( 8 ) = 0
3 @( 10 ) = 0 : @( 11 ) = 0 : @( 12 ) = 100 : @( 13 ) = 13 : @( 14 ) = @( 13 )/2
4 @( 15 ) = 125 : @( 16 ) = @( 15 ) * 2 : @( 17 ) = @( 15 ) * 4 : @( 18 ) = 293
5 @( 19 ) = 466 : @( 20 ) = 440 : @( 21 ) = 391 : @( 22 ) = 349 : @( 23 ) = 277
6 @( 24 ) = 587 : @( 25 ) = 659 : @( 26 ) = 739 : @( 34 ) = @( 15 ) / 2
7 WINDOW @( 0 ) + 1, @( 1 ) + 2
8 COLOR 15, 7
100 @( 12 ) = 100
101 @( 27 ) = 3 : @( 28 ) = 0
102 CLS
103 FOR @( 29 ) = @( 4 ) TO @( 5 )
104 FOR @( 30 ) = @( 2 ) TO @( 3 )
105 IF ( @( 29 ) = @( 4 ) ) + ( @( 29 ) = @( 5 ) ) + ( @( 30 ) = @( 2 ) ) + ( @( 30 ) = @( 3 ) ) LOCATE @( 29 ), @( 30 ), 0 : PRINT "*";
108 NEXT
109 NEXT
110 BEEP @( 20 ), @( 15 ) : BEEP @( 24 ), @( 16 ) : BEEP @( 25 ), @( 15 ) : BEEP @( 26 ), @( 15 )
111 BEEP @( 25 ), @( 16 ) : BEEP @( 24 ), @( 16 ) : BEEP @( 25 ), @( 16 ) : BEEP @( 20 ), @( 17 )
200 GOSUB 500
201 GOSUB 300
202 @( 33 ) = TIMER( ) + @( 12 )
203 @( 11 ) = @( 2 )
204 @( 10 ) = @( 4 ) + RND( @( 0 ) - 2 ) + 1
205 @( 9 ) = 1
206 @( 31 ) = RND( 1 )
207 IF @( 31 ) @( 8 ) = 1
208 IF @( 31 ) = 0 @( 8 ) = -1
209 GOSUB 400
210 GET @( 32 ), 0
211 IF @( 32 ) = 27 STOP
212 IF ( @( 32 ) <> 241 ) * ( @( 32 ) <> 243 ) GOTO 217
213 GOSUB 300
214 IF @( 32 ) = 241 IF @( 6 ) > @( 4 ) + @( 14 ) + 1 @( 6 ) = @( 6 ) - 1
215 IF @( 32 ) = 243 IF @( 6 ) < ( @( 0 ) - @( 14 ) ) - 1 @( 6 ) = @( 6 ) + 1
216 GOSUB 400
217 IF TIMER( ) < @( 33 ) GOTO 210
218 @( 33 ) = TIMER( ) + @( 12 )
219 IF @( 11 ) <> @( 2 ) LOCATE @( 10 ), @( 11 ), 0 : PRINT " ";
220 @( 10 ) = @( 10 ) + @( 8 )
221 @( 11 ) = @( 11 ) + @( 9 )
222 IF @( 10 ) <= @( 4 ) @( 8 ) = 1 : @( 10 ) = @( 10 ) + @( 8 ) : @( 11 ) = @( 11 ) - @( 9 ) : BEEP 523, @( 34 )
223 IF @( 10 ) >= @( 5 ) @( 8 ) = -1 : @( 10 ) = @( 10 ) + @( 8 ) : @( 11 ) = @( 11 ) - @( 9 ) : BEEP 523, @( 34 )
224 IF @( 11 ) < @( 3 ) - 1 GOTO 231
225 @( 35 ) = ABS( @( 10 ) - @( 6 ) ) <= @( 14 )
226 IF @( 35 ) <> 0 @( 9 ) = -1 : @( 11 ) = @( 11 ) + @( 9 ) : @( 10 ) = @( 10 ) - @( 8 ) : BEEP 440, @( 34 ) : BEEP 587, @( 15 ) : @( 28 ) = @( 28 ) + 1 : @( 27 ) = @( 27 ) + 1 : GOSUB 500 : GOTO 231
227 BEEP 587, @( 34 ) : BEEP 466, @( 15 )
228 @( 27 ) = @( 27 ) - 1
229 IF @( 27 ) = 0 GOTO 235
230 GOTO 200
231 IF @( 11 ) <= @( 2 ) @( 9 ) = 1 : @( 11 ) = @( 11 ) + @( 9 ) : @( 10 ) = @( 10 ) - @( 8 ) : @( 12 ) = @( 12 ) - 1 : @( 33 ) = @( 33 ) - 1 : BEEP 523, @( 34 )
232 LOCATE @( 10 ), @( 11 ), 0
233 PRINT "0";
234 GOTO 210
235 GOSUB 500
236 BEEP @( 18 ), @( 15 ) : BEEP @( 19 ), @( 15 ) : BEEP @( 20 ), @( 15 ) : BEEP @( 19 ), @( 15 )
237 BEEP @( 20 ), @( 15 ) : BEEP @( 21 ), @( 15 ) : BEEP @( 22 ), @( 15 ) : BEEP @( 21 ), @( 15 )
238 BEEP @( 23 ), @( 15 ) : BEEP @( 18 ), @( 15 ) : BEEP 220, @( 16 ) : BEEP @( 18 ), @( 16 )
239 PRINT "Play Again? (Y/N) > ";
240 GET @( 32 )
241 IF ( @( 32 ) = 89 ) + ( @( 32 ) = 121 ) GOTO 100
242 CLS
243 STOP
300 LOCATE @( 6 ) - @( 14 ), @( 1 ) - 1, 0
301 FOR @( 29 ) = 0 TO @( 13 ) - 1
302 PRINT " ";
303 NEXT
304 RETURN
400 LOCATE @( 6 ) - @( 14 ), @( 1 ) - 1, 0
401 FOR @( 29 ) = 0 TO @( 13 ) - 1
402 PRINT "=";
403 NEXT
404 RETURN
500 LOCATE 0, @( 1 ) + 1, 0
501 PRINT " Points: ", @( 28 ), " Lives: ", @( 27 ), " ";
502 RETURN
Also, just wanted to let you guys know that I've been so busy writing my new game, that I haven't had time to address your latest comments. I'll be back on track shortly.