10 REM Ah Bod!!
60 DIM set(9,20)
70 DIM hs(8):DIM na$(8)
80 RESTORE 100
90 FOR f=1 TO 8:READ hs(f),na$(f):NEXT f
100 DATA 5500,Mr,5000,Del Monte,4000,Says,3500,Yes!!,3000,Stomper,2500,Ah Bod!!,2000,Blob's,1500,Revenge
110 GOSUB 1610:REM U.D.G's
120 GOSUB 2650:REM codigo maquina
130 GOSUB 2180:REM instrucciones
140 GOSUB 2010:REM variables
150 GOSUB 1240:REM dibuja pantallas
160 LET eggs=0
170 LOCATE bootx,booty:PEN 1:PRINT MID$(eh$,p1,1):LOCATE bootx,booty+1:PRINT MID$(eb$,p1,1):LOCATE 18,2:PEN 3:PRINT lives
180 REM **** Bucle Principal ****
210 LOCATE 6,2:PEN 3:PRINT sc
220 IF INKEY(71)=0 OR INKEY(63)=0 OR INKEY (30)=0 THEN GOSUB 410
230 IF INKEY(31)=0 THEN GOSUB 600
240 IF INKEY(22)=0 THEN GOSUB 700 
250 IF set(z,x)=2 THEN LET sc=sc+10:LET set(z,x)=5
260 IF set(z,x)=3 THEN GOTO 960
270 IF level>2 THEN GOSUB 1070
280 IF booty=y AND bootx=x THEN GOTO 800
290 IF set(z,x)=0 OR set(z,x)=4 THEN GOTO 800
300 GOSUB 330:REM disminuye el tiempo
310 IF ti<=2 THEN FOR f=1 TO 5:SOUND 1,0,10,7,0,0,1:INK 0,3:BORDER 3:SOUND 1,0,25,5,0,0,10:INK 0,0:BORDER 0:NEXT f:FOR f=1 TO 100:NEXT f:GOTO 800
315 LET fr=FRE("")
320 GOTO 180
330 REM ***** tiempo *******
360 LET ti=ti-(level/50)
380 LOCATE 19-ti,23:PAPER 3:PEN 1:PRINT CHR$(234);:PEN 0:PRINT CHR$(235):PAPER 0
400 RETURN
410 REM **** Mueve Bod ********
440 IF INKEY(30)=0 THEN GOTO 520
450 IF INKEY(63)=0 THEN LET bod=bod-1
460 IF INKEY(71)=0 THEN LET bod=bod+1
470 IF bod=0 THEN LET bod=4
480 IF bod=5 THEN LET bod=1
490 LOCATE x,y:PEN 12:PRINT MID$(bh$,bod,1)
500 LOCATE x,y+1:PRINT MID$(bb$,bod,1)
510 RETURN
520 LOCATE x,y:PAPER 3:PRINT" ":LOCATE x,y+1:PRINT" ":PAPER 0
530 IF bod=1 AND x<20 THEN LET set(z,x)=0:LET x=x+1:sc=sc+1
540 IF bod=2 AND y<20 THEN LET set(z,x)=0:LET y=y+2:LET z=z+1:sc=sc+1
550 IF bod=3 AND x>1 THEN LET set(z,x)=0:LET x=x-1:sc=sc+1  
560 IF bod=4 AND y>4 THEN LET set(z,x)=0:y=y-2:LET z=z-1:sc=sc+1  
570 LOCATE x,y:PEN 12:PRINT MID$(bh$,bod,1):LOCATE x,y+1:PRINT MID$(bb$,bod,1)
580 SOUND 1,2900,20,5,0,0,1
590 RETURN
600 REM **** Gira a la izquierda ****
630 FOR f=1 TO 4:CALL high,y-1:CALL high,y:NEXT f
640 LET p3=set(z,1)
650 FOR f=1 TO 19:LET set(z,f)=set(z,f+1):NEXT f:LET set(z,20)=p3
660 LET x=x-1:IF x=0 THEN LET x=20
670 IF booty=y THEN LET bootx=bootx-1
680 IF bootx=0 THEN LET bootx=20
690 RETURN
700 REM **** Gira a la derecha ****
730 FOR f=1 TO 4:CALL high+50,y-1:CALL high+50,y:NEXT f
740 LET p3=set(z,20)
750 FOR f=20 TO 2 STEP -1:LET set(z,f)=set(z,f-1):NEXT f:LET set(z,1)=p3
760 LET x=x+1:IF x=21 THEN LET x=1
770 IF booty=y THEN LET bootx=bootx+1
780 IF bootx=21 THEN LET bootx=1
790 RETURN
800 REM **** Pierdes vida ****
830 LOCATE bootx,booty:PAPER 3:PRINT" ":LOCATE bootx,booty+1:PRINT" ":PAPER 0:LOCATE x,y:PEN 12:PRINT MID$(bh$,bod,1):LOCATE x,y+1:PRINT MID$(bb$,bod,1)
834 IF bootz<0 THEN LET bootz=1
835 IF set(bootz,bootx)<>3 THEN LET set(bootz,bootx)=0 ELSE IF set(bootz,bootx)=3 THEN PEN 4:LOCATE bootx,booty:PRINT CHR$(222):LOCATE bootx,booty+1:PRINT CHR$(223)
836 LOCATE 1,23:PAPER 3:PEN 1:PRINT STRING$(18,CHR$(234)):PAPER 0:PEN 1
840 LET lives=lives-1:LET ti=18
850 IF lives=0 THEN GOTO 910
860 LET set(z,x)=1
870 FOR f=1 TO 100:OUT &BC00,8:OUT &BD00,1:SOUND 130,0,50,15,0,0,1:NEXT f:OUT &BD00,0:LOCATE 18,23:PAPER 3:PEN 1:PRINT CHR$(234):PRINT CHR$(22)+CHR$(1):LOCATE 2,23:PAPER 3:PEN 5:PRINT STRING$(17,CHR$(154)):PAPER 0:PRINT CHR$(22)+CHR$(0)
880 IF booty<>y AND bootx<>x THEN GOTO 170
890 IF x=20 AND y=20 THEN LET booty=4:LET bootx=1:GOTO 170
900 LET booty=20:LET bootx=20:GOTO 170
910 FOR f=1 TO 2:OUT &BC00,8:OUT &BD00,1:RESTORE 940:FOR g=1 TO 11:READ d,n:SOUND 1,n,d,7:SOUND 4,n+2,d,7:SOUND 5,0,3,0:NEXT g,f
920 OUT &BC00,8:OUT &BD00,0
930 LOCATE 1,1:SOUND 130,0,50,3,0,0,1:PRINT STRING$(26,11)
940 DATA 50,1016,37,1016,12,1016,50,1016,25,850,25,899,25,899,25,1016,25,1016,25,1136,100,1016
950 GOTO 2820
960 REM *** Aterriza en huevo ***
990 LET eggs=eggs+1
1000 SOUND 2,200,25,7,0,4:SOUND 2,200,25,5,0,1:LET sc=sc+100:LET set(z,x)=1
1010 IF eggs=level+3 THEN GOTO 1040
1020 GOSUB 1530
1030 GOTO 180
1040 LET sc=sc+INT(ti)*10:LET level=level+1
1050 LET ti=18
1060 GOTO 150
1070 REM *** Mueve enemigo ***
1090 IF bootz<0 THEN LET bootz=1
1100 IF level>6 AND set(bootz,bootx)=1 THEN LOCATE bootx,booty:PAPER 3:PRINT " ":LOCATE bootx,booty+1:PRINT" ":LET set(bootz,bootx)=0:PAPER 0:GOTO 1160
1110 IF set(booyz,bootx)=0 THEN LOCATE bootx,booty:PAPER 3:PRINT" ":LOCATE bootx,booty+1:PRINT" ":PAPER 0
1120 IF set(bootz,bootx)=1 THEN LOCATE bootx,booty:PEN 10:PRINT CHR$(200):LOCATE bootx,booty+1:PRINT CHR$(201)
1130 IF set(bootz,bootx)=2 THEN PEN 3:LOCATE bootx,booty:PRINT CHR$(212):LOCATE bootx,booty+1:PRINT CHR$(213)
1140 IF set(bootz,bootx)=3 THEN PEN 4:LOCATE bootx,booty:PRINT CHR$(222):LOCATE bootx,booty+1:PRINT CHR$(223)
1150 IF set(bootz,bootx)=4 THEN PEN monster+5:LOCATE bootx,booty:PRINT MID$(mh$,monster,1):LOCATE bootx,booty+1:PRINT MID$(mb$,monster,1)
1160 LET mov=INT(RND*4)+1
1170 IF mov=1 AND bootx<20 THEN LET bootx=bootx+1
1180 IF mov=2 AND booty<20 THEN LET booty=booty+2:LET bootz=bootz+1
1190 IF mov=3 AND bootx>1 THEN LET bootx=bootx-1
1200 IF mov=4 AND booty>4 THEN LET booty=booty-2:LET bootz=bootz-1
1210 LOCATE bootx,booty:PEN 1:PRINT MID$(eh$,p1,1):LOCATE bootx,booty+1:PRINT MID$(eb$,p1,1)         
1220 SOUND 1,266,5,7:SOUND 1,399,5,7
1230 RETURN
1240 REM *** Dibuja pantalla ***
1270 LET y=10:LET x=10:LET z=4:LET bootx=20:LET booty=20:LET bootz=9
1280 PAPER 0:BORDER 0:CLS
1290 LET monster=INT(RND*4)+1:LET p1=INT(RND*4)+1
1300 FOR f=1 TO 9:FOR g=1 TO 20:LET set(f,g)=1:NEXT g,f
1310 FOR f=1 TO 6+level
1320 LET x1=INT(RND*20)+1:LET y1=INT(RND*9)+1
1330 IF x1=10 THEN GOTO 1320
1340 LET set(y1,x1)=4
1350 NEXT f
1360 FOR f=1 TO 3+level
1370 LET x1=INT(RND*20)+1:LET y1=INT(RND*9)+1
1380 IF set(y1,x1)=1 THEN LET set(y1,x1)=2
1390 NEXT f
1400 LET count=1
1410 FOR f=4 TO 20 STEP 2:FOR g=1 TO 20
1420 IF set(count,g)=1 THEN LOCATE g,f:PEN 10:PRINT CHR$(200):LOCATE g,f+1:PRINT CHR$(201)
1430 IF set(count,g)=2 THEN LOCATE g,f:PEN 3:PRINT CHR$(212):LOCATE g,f+1:PRINT CHR$(213)
1440 IF set(count,g)=4 THEN PEN monster+5:LOCATE g,f:PRINT MID$(mh$,monster,1):LOCATE g,f+1:PRINT MID$(mb$,monster,1)
1450 NEXT g:LET count=count+1:NEXT f
1460 LOCATE x,y:PEN 12:PRINT MID$(bh$,bod,1):LOCATE x,y+1:PRINT MID$(bb$,bod,1)
1470 LOCATE bootx,booty:PEN 1:PRINT MID$(eh$,p1,1):LOCATE bootx,booty+1:PRINT MID$(eb$,p1,1)
1480 LOCATE 1,2:PEN 2:PRINT" 1UP:";TAB(12);"LIVES:"
1490 LOCATE 1,1:PEN 3:PRINT STRING$(20,CHR$(131)):LOCATE 1,3:PRINT STRING$(20,CHR$(140))
1500 LOCATE 1,22:PAPER 3:PEN 1:PRINT STRING$(59,CHR$(234)):LOCATE 20,24:PRINT CHR$(234):PAPER 0
1510 LOCATE 1,23:PRINT CHR$(22)+CHR$(1):LOCATE 2,23:PEN 5:PRINT STRING$(17,CHR$(154));:LOCATE 19,23:PRINT CHR$(230);CHR$(232):LOCATE 19,24:PRINT CHR$(231);CHR$(233):LOCATE 7,24:PEN 4:PRINT".. TIME..":LOCATE 7,22:PRINT"..TIME.."
1520 LOCATE 1,23:PRINT CHR$(22)+CHR$(0)
1530 REM *** Pone huevo en pantalla ***
1560 LET y1=INT(RND*9)+1:LET x1=INT(RND*20)+1:IF y1=20 AND x1=20 THEN GOTO 1560
1570 IF set(y1,x1)=1 THEN LET set(y1,x1)=3 ELSE GOTO 1560
1580 LET count=1:FOR f=4 TO 20 STEP 2:FOR g=1 TO  20
1590 IF set(count,g)=3 THEN PEN 4:LOCATE g,f:PRINT CHR$(222):LOCATE g,f+1:PRINT CHR$(223) ELSE NEXT g:LET count=count+1:NEXT f
1600 RETURN
1610 REM *** U.D.G. ***
1640 SYMBOL AFTER 199
1650 SYMBOL 200,126,255,129,185,165,165,165,185
1660 SYMBOL 201,185,165,165,165,185,129,255,126
1670 SYMBOL 202,0,248,248,80,112,80,112,80
1680 SYMBOL 203,112,80,112,80,254,255,255,126
1690 SYMBOL 204,24,24,126,44,34,36,24,60
1700 SYMBOL 205,110,111,103,119,62,24,24,28
1710 SYMBOL 206,28,28,127,62,62,28,8,28
1720 SYMBOL 207,62,127,127,127,62,28,20,54
1730 SYMBOL 208,28,28,127,54,42,34,28,8
1740 SYMBOL 209,28,62,93,93,62,8,20,54
1750 SYMBOL 210,24,24,126,52,68,36,24,60
1760 SYMBOL 211,118,246,230,238,124,24,24,48
1770 SYMBOL 212,3,15,63,115,247,115,55,15
1780 SYMBOL 213,3,1,1,1,1,1,3,7
1790 SYMBOL 214,24,60,60,126,94,74,82,122
1800 SYMBOL 215,126,126,153,195,255,255,255,155
1810 SYMBOL 216,0,195,66,66,90,60,90,153
1820 SYMBOL 217,219,126,60,24,24,36,36,231
1830 SYMBOL 218,129,126,153,24,60,90,189,255
1840 SYMBOL 219,219,102,60,24,102,36,36,231
1850 SYMBOL 220,24,60,126,219,102,60,24,255
1860 SYMBOL 221,189,189,153,153,60,126,255,255
1870 SYMBOL 222,24,60,60,126,126,255,255,255
1880 SYMBOL 223,126,126,60,60,24,0,0,0
1890 SYMBOL 224,24,24,126,255,153,255,219,102
1900 SYMBOL 225,189,195,126,24,24,24,24,126
1910 SYMBOL 226,153,36,46,69,210,146,74,131
1920 SYMBOL 227,149,210,97,45,42,18,156,73
1930 SYMBOL 228,28,62,107,255,247,91,99,254
1940 SYMBOL 229,195,255,255,126,60,28,12,6
1950 SYMBOL 230,0,31,32,223,192,64,92,72
1960 SYMBOL 231,74,75,66,66,32,31,0,0
1970 SYMBOL 232,0,248,4,250,2,58,18,18
1980 SYMBOL 233,18,66,194,66,4,248,0,0
1985 SYMBOL 234,146,255,73,255,146,255,73,255
1990 SYMBOL 235,132,74,40,151,95,40,68,146
1995 SYMBOL 236,198,165,198,165,6,40,40,16
2000 RETURN
2010 REM *** Variables ***
2040 ENT 1,5,1,1,10,-1,1,10,1,1,10,1,5,1,1,5:ENV 3,3,2,2,3,-2,2:ENT 4,5,-10,10,1,0,5
2050 LET mh$=CHR$(214)+CHR$(216)+CHR$(218)+CHR$(220)
2060 LET mb$=CHR$(215)+CHR$(217)+CHR$(219)+CHR$(221)
2070 LET bh$=CHR$(204)+CHR$(208)+CHR$(210)+CHR$(206)
2080 LET bb$=CHR$(205)+CHR$(209)+CHR$(211)+CHR$(207)
2090 LET bod=1
2100 LET eh$=CHR$(202)+CHR$(224)+CHR$(226)+CHR$(228)
2110 LET eb$=CHR$(203)+CHR$(225)+CHR$(227)+CHR$(229)
2120 LET lives=3
2130 LET sc=0
2140 LET level=1
2150 MODE 0
2160 LET ti=18
2170 RETURN
2180 REM *** Instrucciones ***
2210 BORDER 0:GOTO 2290
2220 MODE 1:PEN 3:PRINT STRING$(40,CHR$(200)):LOCATE 1,2:PRINT STRING$(40,CHR$(201))
2230 LOCATE 1,3:PRINT CHR$(200);TAB (16);:PEN 2:PRINT"*AH BOD!!*";TAB(40):PEN 3:PRINT CHR$(200)
2240 LOCATE 1,4:PRINT CHR$(201);STRING$(38,CHR$(200));CHR$(201):LOCATE 2,5:PRINT STRING$(38,CHR$(201))
2245 IF f1=1 THEN RETURN
2250 LOCATE 1,20:PRINT STRING$(40,CHR$(200)):LOCATE 1,21:PRINT STRING$(40,CHR$(201))
2260 LOCATE 1,22:PRINT CHR$(200);TAB (8);:PEN 1:PRINT"Pulsa <ESPACIO> para continuar.";TAB(40):PEN 3:PRINT CHR$(200)
2270 LOCATE 1,23:PRINT CHR$(201);STRING$(38,CHR$(200));CHR$(201):LOCATE 2,24:PRINT STRING$(38,CHR$(201))
2280 RETURN
2290 INK 0,0:GOSUB 2220
2300 LOCATE 1,7:PEN 2
2310 PRINT"En la tierra de Block al norte  de Blob los malvados Stompers estan rompiendo   los huevos de los pajaros Wob-Wob que   cuidan los granjeros."
2320 PRINT"Unos dias despues de aparecer los Stom- pers, los granjeros estaban tristes y   decidieron ir a casa a jugar con su Ams-trad (Habia un antiguo modelo para los  granjeros)."
2330 PRINT"Como Bod no tenia Amstrad, para hacer   algo interesante decidio salvar a los   pajaros Wob-Wob."
2340 PRINT"Ayudale en su tarea."
2350 IF INKEY$<>"" THEN GOTO 2350
2360 WHILE INKEY$<>" ":WEND
2370 LOCATE 1,1:PRINT STRING$(26,11)
2380 GOSUB 2220
2390 LOCATE 1,7:PEN 2
2400 PRINT"Bod debe recoger los todos los huevos dela pantalla. Los huevos aparecen uno ca-da vez y tu debes coger todos antes de  que arda toda la mecha de la TNT."
2410 PRINT"En la pantalla hay banderas con las que consigues puntos extras recogiendolas.  Hay tambien riesgos en la tierra de     Block. Los restantes Strompers estan al-rededor de Bod. Despues de limpiar dos  pantallas un Stomper mutante empieza a  atac
arle."
2420 PRINT"Cada vez que Bod se mueve, el bloque queesta parado desaparece dejando un aguje-ro vacio que debes evitar."
2430 IF INKEY$<>""  THEN GOTO 2430
2440 WHILE INKEY$<>" ":WEND
2450 LOCATE 1,1:PRINT STRING$(26,11)
2460 GOSUB 2220
2470 LOCATE 1,7:PEN 2
2480 PRINT"Como no es el dia de Bod, huye de la    granja de huevos. Solo tiene raros pode-res en la tierra de los bloques. Puede  mover la fila de bloques en la que esta parado a la izquierda o a la derecha."
2490 PRINT"Bod no puede andar fuera de los bloques.Como puede girar en si mismo desaparece en un lado y aparece en otro."
2500 PRINT"Sumario-Recoge huevos y banderas. Elude los monstruos moviendote o parandote. Nopierdas tiempo alrededor de ellos y no  intentes cruzar agujeros vacios."
2510 IF INKEY$<>"" THEN GOTO 2510
2520 WHILE INKEY$<>" ":WEND
2530 LOCATE 1,1:PRINT STRING$(26,11)
2540 GOSUB 2220
2550 LOCATE 16,7:PEN 2: PRINT"LAS TECLAS":LOCATE 16,8:PEN 1:PRINT STRING$(10,CHR$(131))
2560 PEN 2:PRINT TAB(17):PRINT"Girar":PRINT"Izquierda-'Z'";TAB(26);"Derecha-'X'"
2570 PEN 3:PRINT TAB(15);"Moverse-'/'"
2580 PEN 1:PRINT:PRINT TAB(4);"  Mueve bloques a la izquierda-'.'"
2590 PEN 2:PRINT:PRINT TAB(4);"  Mueve bloques a la derecha-'ç'"
2600 LOCATE 14,19:PEN 1:PRINT"*BUENA-SUERTE*"
2610 IF INKEY$<>"" THEN GOTO 2610
2620 WHILE INKEY$<>" ":WEND
2630 LOCATE 1,1:PRINT STRING$(26,11)
2640 GOTO 2820
2650 REM *** Codigo Maquina ***
2680 LET hig=HIMEM:MEMORY hig:LET address=hig+1500:LET high=hig+1500:RESTORE 2740
2690 READ n
2700 LET sc=sc+n:IF n=999 THEN READ n:IF n<>sc THEN PRINT CHR$(7):PRINT STRING$(6,CHR$(7)):CLS:LOCATE 11,10:PEN 3:PRINT "ERROR EN CODIGO MAQUINA":END ELSE IF n=16121 THEN LET sc=0:RETURN
2710 POKE address,n
2720 LET address=address+1
2730 GOTO 2690
2740 REM *** Scroll izquierdo ***
2750 DATA &dd,&6e,&00,&26,&00,&cd,&1a,&bc,&e5,&7e,&f5,&54,&5d,&eb,&23,&cb,&f4,&cb,&fc,&0e,&4f,&7e,&12,&23,&cb,&f4,&cb,&fc,&eb,&23,&cb,&f4,&cb,&fc,&eb,&0d
2760 DATA &20,&ef,&f1,&12,&e1,&7c,&c6,&08,&67,&e6,&38,&20,&d7,&c9
2770 REM *** scroll derecho ***
2780 DATA &dd,&6e,&00,&26,&00,&cd,&1a,&bc,&01,&4f,&00,&09,&cb,&4f,&cb,&fc,&e5,&7e,&f5,&54,&5d,&2b,&cb,&f4,&cb,&fc,&0e,&4f,&7e,&12,&2b,&cb,&f4,&cb,&fc,&eb,&2b,&cb,&f4
2790 DATA &cb,&fc,&eb,&0d,&20,&ef,&f1,&12,&e1,&7c,&c6,&08,&67,&e6,&38,&20,&d8,&c9
2800 DATA 999,16121
2810 REM *** Max. Puntuacion ***
2820 MODE 1
2830 LET f1=1:GOSUB 2220:f1=0
2840 LOCATE 13,3:PEN 2:PRINT"MAXIMA PUNTUACION":PEN 3
2850 FOR f=6 TO 14 STEP 2:LOCATE 4,f:PRINT CHR$(200):LOCATE 4,f+1:PRINT CHR$(201):LOCATE 37,f:PRINT CHR$(200):LOCATE 37,f+1:PRINT CHR$(201):NEXT f
2860 LOCATE 5,16:PRINT STRING$(32,CHR$(201))
2870 FOR f=1 TO 8
2880 IF sc>hs(f) THEN GOSUB 2980:f=10
2890 NEXT f
2900 FOR f=1 TO 8:PEN 1:LOCATE 8,f+6:PRINT na$(f):LOCATE 18,f+6:PEN 3:PRINT"..........";hs(f):NEXT f
2910 LOCATE 1,17:PRINT STRING$(220," ")
2920 IF INKEY$<>"" THEN GOTO 2920
2930 PEN 2:LOCATE 1,20:PRINT STRING$(40,CHR$(154)):LOCATE 1,22:PRINT STRING$(40,CHR$(154)):PEN 1:
2940 LOCATE 1,23:PRINT STRING$(40," ")
2950 LOCATE 11,21:PEN 3:PRINT"PULSA";:PEN 1:PRINT"< ESPACIO >";:PEN 3:PRINT"PARA JUGAR.":PEN 1
2960 IF INKEY(47)<>0 THEN GOTO 2960
2970 LOCATE 1,1:PRINT STRING$(26,11):GOTO 140
2980 LET a$="ABCDEFGHIJKLMNOPQRSTUVWXYZ .#%&()!éè?*+"+CHR$(236)
2990 LET c=19:LOCATE 1,20:PEN 1:PRINT a$
3000 LOCATE 3,17:PEN 1:PRINT"USAR  CURSOR IZQUIERDO,DERECHO Y COPY":LOCATE 4,18:PRINT"PARA SELECCIONAR LETRAS.(MAX. DE 10.)":PEN 2:LOCATE 1,19:PRINT STRING$(40,CHR$(154)):LOCATE 1,22:PRINT STRING$(40,CHR$(154))
3010 LOCATE 12,23:PEN 3:PRINT"PULSE";:PEN 1:PRINT"< 'X' >";:PEN 3:PRINT"PARA SALIR.":PEN 1
3020 LET x$=""
3030 FOR z=1 TO 10
3040 LOCATE c,21:PEN 2:PRINT" "
3050 IF INKEY(1)=0 AND c<40 THEN LET c=c+1
3060 IF INKEY(8)=0 AND c>1 THEN LET c=c-1
3070 IF INKEY(9)=0 AND c=40 THEN LOCATE 7,f+6:PRINT"           ":LET z=100:GOTO 3120
3080 IF INKEY(63)=0 THEN LET z=11:GOTO 3120
3090 IF INKEY(9)<>0 THEN LOCATE c,21:PRINT"*":FOR a=1 TO 50:NEXT a:GOTO 3040
3100 LET x$=x$+MID$(a$,c,1):LOCATE 7+z,f+6:PEN 1:PRINT MID$(a$,c,1)
3110 FOR a=1 TO 200:NEXT a
3120 NEXT z
3130 IF z=101 THEN GOTO 3020
3140 LET hs(8)=sc:LET na$(8)=x$
3150 LET f=0
3160 FOR z=1 TO 7
3170 IF hs(z)<hs(z+1) THEN LET t=hs(z+1):LET hs(z+1)=hs(z):LET hs(z)=t:LET a$=na$(z+1):LET na$(z+1)=na$(z):LET na$(z)=a$:LET f=1
3180 NEXT z
3190 IF f=1 THEN GOTO 3150
3200 LET fr=FRE("")
3210 RETURN