字符炸弹
10 KEY OFF: CLS : RANDOMIZE (TIMER)
20 LOCATE 9, 13: PRINT "W e l c o m e t o t h i s P R O G R A M !"
30 LOCATE 10, 13: PRINT "---------------------------------------------"
40 LOCATE 20, 25: PRINT "Press a key to begin..."
50 IF INKEY$ = "" THEN 50
60 INPUT "How many letters"; NUM: IF NUM < 1 THEN 60
70 INPUT "Speed(1-9)"; SP: IF SP > 9 OR SP < 1 THEN 70
80 SPEED = 300 * (10 - SP): M = 1: CLS
90 FOR T = 1 TO 79
100 LOCATE 2, T: PRINT CHR$(1)
110 LOCATE 23, T: PRINT CHR$(2)
120 NEXT T
130 WHILE M <= NUM
140 X = INT(RND * 79) + 1
150 LETTER$ = CHR$(INT(RND * 93) + 33)
160 GOSUB 240
165 M = M + 1
170 WEND
180 MARK = W / NUM * 100: CLS : LOCATE 10, 28: PRINT "GAME OVER!": LOCATE 12, 28
190 IF MARK >= 80 THEN PRINT " GREAT!" ELSE IF MARK >= 60 THEN PRINT "NOT TOO BAD."
210 IF MARK < 60 THEN LOCATE 12, 20: PRINT "Sorry your mark is bad. Practise more!"
220 LOCATE 14, 26: PRINT "Your mark:"; MARK; "%"
230 END
240 FOR Y = 3 TO 23
260 LOCATE Y, X: PRINT LETTER$
270 FOR L = 1 TO SPEED: NEXT L
280 LOCATE Y, X: PRINT " "
290 IF INKEY$ = LETTER$ THEN GOSUB 350: RETURN
300 IF INKEY$ = CHR$(27) THEN CLS : END
310 IF INKEY$ = CHR$(32) THEN CLS : GOTO 70
320 IF INKEY$ <> "" THEN BEEP
330 NEXT Y
340 RETURN
350 LOCATE Y, X: PRINT LETTER$
370 FOR H = 22 TO Y + 1 STEP -1
380 LOCATE H, X: PRINT CHR$(24): SOUND (23 - H) * 50, .05
400 LOCATE H, X: PRINT " "
410 NEXT H
420 LOCATE H, X: PRINT CHR$(15): SOUND 400, .1: SOUND 100, .1
440 LOCATE H, X: PRINT " "
450 W = W + 1
460 RETURN