Mehr TXT RD CHAR blödsinn:
10 REM*****MOUSE BY G.REDMAN*****
20 REM(c)Computing with the Amstrad
30 REM*****INITIAL SETTING UP*****
40 ON BREAK GOSUB 1350:KEY 139,"SPEED KEY 10,5:INK 1,25:PEN 1"+CHR$(13)
50 RANDOMIZE TIME:SPEED KEY 1,1
60 ad2=34999:GOSUB 1080:ad3=35020:GOSUB 1240
70 REM**MOUSE & MARKER CHARACTERS**
80 SYMBOL AFTER 200:SYMBOL 201,0,8,60,126,34,12,0,0
90 SYMBOL 202,0,16,60,126,68,48,0,0
100 SYMBOL 203,0,0,60,60,60,60,0,0
110 REM*COLOUR AND WINDOW SETTINGS*
120 BORDER 4:INK 0,0:INK 1,0:INK 2,0:INK 3,0:PAPER 0:CLS
130 WINDOW#2,2,39,25,25:WINDOW#4,2,39,2,23:PAPER#4,0:PAPER #2,2:PEN#2,0
140 t%=10000
150 GOSUB 750:REM**TITLE & INSTR***
160 REM***DRAW BORDER***
170 CLS:INK 3,0:PEN 3:PRINT STRING$(40,143)
180 FOR n=2 TO 25:LOCATE 40,n:PRINT CHR$(143);:NEXT
190 LOCATE 1,24:PRINT STRING$(40,143)
200 LOCATE 1,1:FOR n=1 TO 25:LOCATE 1,n:PRINT CHR$(143);:NEXT:INK 3,6
210 REM***SCORE WINDOW***
220 CLS#2:LOCATE#2,3,1:PRINT#2,"Your Score":s%=0:LOCATE#2,20,1:PRINT#2,"Best Score":LOCATE#2,30,1:IF t%<>10000 THEN PRINT#2,t%
230 REM*SOUND VARIABLES & START**
240 ENT 1,1,12,6,1,-12,6:ENV 1,6,-1,1
250 x%=INT(RND(1)*30)+4:y%=INT(RND(1)*20)+3:g%=INT(RND(1)*30)+4:h%=INT(RND(1)*20)+3:dir=INT(RND(1)*4)+1:PEN 2
260 REM***MAIN PROGRAM LOOP***
270 IF dir=1 OR dir=2 THEN mou=202 ELSE mou=201
280 LOCATE g%,h%:PRINT CHR$(mou)
290 PEN 0:LOCATE#2,13,1:PRINT#2,s%:s%=s%+1
300 GOSUB 950:REM**MOVE MAN**
310 LOCATE g%,h%:PRINT CHR$(143):PEN 2
320 GOSUB 400:REM**MOVE MOUSE**
330 LOCATE (g%+i%),h%:GOSUB 1190:REM**LOOK FOR WALL**
340 IF k%=1 THEN m%=1:GOSUB 460:REM**CHANGE MOUSE DIRECTION**
350 m%=0:k%=0:LOCATE g%,(h%+j%):GOSUB 1190
360 IF k%=1 THEN m%=2:GOSUB 460
370 k%=0:m%=0:GOTO 270
380 REM***END OF MAIN LOOP***
390 REM***MOVEMENT ROUTINE***
400 IF dir=1 THEN g%=g%+1:h%=h%+1:i%=1:j%=1
410 IF dir=2 THEN g%=g%+1:h%=h%-1:i%=1:j%=-1
420 IF dir=3 THEN g%=g%-1:h%=h%-1:i%=-1:j%=-1
430 IF dir=4 THEN g%=g%-1:h%=h%+1:i%=-1:j%=1
440 RETURN
450 REM**DIRECTION CHANGE ROUTINE**
460 IF x%=g% AND y%=h% THEN GOTO 570
470 SOUND 1,160,6,15,1,1,0
480 IF dir=1 AND m%=1 THEN dir=4:RETURN
490 IF dir=1 AND m%=2 THEN dir=2:RETURN
500 IF dir=2 AND m%=1 THEN dir=3:RETURN
510 IF dir=2 AND m%=2 THEN dir=1:RETURN
520 IF dir=3 AND m%=1 THEN dir=2:RETURN
530 IF dir=3 AND m%=2 THEN dir=4:RETURN
540 IF dir=4 AND m%=1 THEN dir=1:RETURN
550 IF dir=4 AND m%=2 THEN dir=3:RETURN
560 REM***MOUSE CAPTURED ROUTINE***
570 IF x%>36 THEN x%=36
580 IF y%>20 THEN y%=20
590 IF x%<3 THEN x%=3
600 IF y%<3 THEN y%=3
610 WINDOW#3,(x%-2),(x%+2),(y%-2),(y%+2):PAPER#3,3:CLS#3:PEN#3,2:LOCATE#3,2,2:PRINT#3,"GOT":LOCATE#3,2,4:PRINT#3,"HIM"
620 ENT 1,15,7,2,15,-7,2
630 FOR n=100 TO 250 STEP 2:SOUND 1,n,3,6,0,1,0:NEXT
640 SOUND 1,210,50,6,0,0,9
650 IF s%<t% THEN t%=s%-1
660 LOCATE #2,30,1:PRINT #2,t%
670 LOCATE 5,24:PEN 1:PRINT" PRESS SPACE BAR WHEN READY "
680 WHILE INKEY$<>" ":WEND
690 REM****REPEAT GAME****
700 CLS#4:LOCATE 5,24:PEN 3:PRINT STRING$(31,143):PEN 2:LOCATE 12,13:PRINT "Another game ? (Y/N)"
710 x$=UPPER$(INKEY$):IF x$="Y"THEN CLS #4:GOTO 220
720 IF x$="N" THEN GOTO 1350
730 GOTO 710
740 REM****TITLE & INSTRUCTIONS****
750 WINDOW#1,8,33,2,9:PEN#1,1
760 RESTORE 900
770 FOR n=1 TO 104
780 READ tit:PRINT#1,CHR$(tit);
790 NEXT
800 PEN#1,2:PRINT#1:FOR n=1 TO 13:PRINT#1,CHR$(202);CHR$(201);:NEXT n
810 PEN#4,3:LOCATE#4,1,8:PRINT#4," Using the joystick or the cursor keys you must chase the mouse ";:PEN#4,2:PRINT#4,CHR$(202);;:PEN#4,3:PRINT#4,"and capture him."
820 PRINT #4:PRINT#4," To do this you must move yourman to the same position as the mouse. The trail you leave behindwill act like a wall and confine themouse so you can capture him."
830 PRINT#4:PRINT#4," Do this as fast as you can. The LOWEST score is the best."
840 PEN 2:LOCATE 5,23:PRINT "BEWARE, THIS MOUSE CAN GNAW !!!!"
850 LOCATE 10,25:PRINT "PRESS THE SPACE BAR.";
860 INK 1,14:INK 2,24:INK 3,15
870 WHILE INKEY$<>" ":WEND
880 CLS#4:RETURN
890 REM**DATA FOR TITLE******
900 DATA 214,32,32,32,32,215,32,32,214,143,215,32,32,214,32,215,32,32,214,143,215,32,32,214,143,215
910 DATA 143,215,32,32,214,143,32,32,143,32,143,32,32,143,32,143,32,32,213,210,32,32,32,143,210,32
920 DATA 143,213,215,214,212,143,32,32,143,32,143,32,32,143,32,143,32,32,32,208,215,32,32,143,208,32
930 DATA 213,32,213,212,32,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212
940 REM***INKEYS/JOY m/c ROUTINE***
950 CALL ad2+1:in=PEEK(ad2):man=248
960 PEN 1:LOCATE x%,y%:PRINT CHR$(203)
970 IF in=8 OR in=242 THEN x%=x%-1:man=250
980 IF in=9 OR in=243 THEN x%=x%+1:man=251
990 IF in=11 OR in=240 THEN y%=y%-1:man=249
1000 IF in=10 OR in=241 THEN y%=y%+1:man=249
1010 IF x%>39 THEN x%=39
1020 IF x%<2 THEN x%=2
1030 IF y%>23 THEN y%=23
1040 IF y%<2 THEN y%=2
1050 PEN 2:LOCATE x%,y%:PRINT CHR$(man):PEN 0:SOUND 1,200,1,2,0,0,0
1060 RETURN
1070 REM***POKE INKEYS m/c***
1080 c=INT(ad2/256):b=ad2-256*c
1090 RESTORE 1160
1100 FOR n=ad2 TO ad2+13
1110 READ d:IF d=999 THEN d=b
1120 IF d=998 THEN d=c
1130 POKE n,d
1140 NEXT n
1150 RETURN
1160 DATA 0,62,0,50,999,998,205,27
1170 DATA 187,208,50,999,998,201
1180 REM**CHECK CHAR POSITION**
1190 CALL ad3+1
1200 ch=PEEK(ad3)
1210 IF ch=143 OR ch=203 THEN k%=1
1220 RETURN
1230 REM**POKE CHAR CHECK m/c***
1240 c=INT(ad3/256):b=ad3-256*c
1250 RESTORE 1320
1260 FOR n=ad3 TO ad3+13
1270 READ d:IF d=999 THEN d=b
1280 IF d=998 THEN d=c
1290 POKE n,d
1300 NEXT n
1310 RETURN
1320 DATA 0,62,244,50,999,998,205,96
1330 DATA 187,208,50,999,998,201
1340 REM*****END ROUTINE*******
1350 CLS:INK 1,25:PEN 1:LOCATE 1,13:PRINT "Type R to RUN again or E to END program.":SPEED KEY 10,5
1360 x$=UPPER$(INKEY$):IF x$="E" THEN END
1370 IF x$="R" THEN RUN
1380 GOTO 1360
können werden:
10 REM*****MOUSE BY G.REDMAN*****
20 REM(c)Computing with the Amstrad
30 REM*****INITIAL SETTING UP*****
40 ON BREAK GOSUB 1350:KEY 139,"SPEED KEY 10,5:INK 1,25:PEN 1"+CHR$(13)
50 RANDOMIZE TIME:SPEED KEY 1,1
60 ad2=34999:GOSUB 1080
70 REM**MOUSE & MARKER CHARACTERS**
80 SYMBOL AFTER 200:SYMBOL 201,0,8,60,126,34,12,0,0
90 SYMBOL 202,0,16,60,126,68,48,0,0
100 SYMBOL 203,0,0,60,60,60,60,0,0
110 REM*COLOUR AND WINDOW SETTINGS*
120 MODE 1:BORDER 4:INK 0,0:INK 1,0:INK 2,0:INK 3,0:PAPER 0:CLS
130 WINDOW#2,2,39,25,25:WINDOW#4,2,39,2,23:PAPER#4,0:PAPER #2,2:PEN#2,0
140 t%=10000
150 GOSUB 750:REM**TITLE & INSTR***
160 REM***DRAW BORDER***
170 CLS:INK 3,0:PEN 3:PRINT STRING$(40,143)
180 FOR n=2 TO 25:LOCATE 40,n:PRINT CHR$(143);:NEXT
190 LOCATE 1,24:PRINT STRING$(40,143)
200 LOCATE 1,1:FOR n=1 TO 25:LOCATE 1,n:PRINT CHR$(143);:NEXT:INK 3,6
210 REM***SCORE WINDOW***
220 CLS#2:LOCATE#2,3,1:PRINT#2,"Your Score":s%=0:LOCATE#2,20,1:PRINT#2,"Best Score":LOCATE#2,30,1:IF t%<>10000 THEN PRINT#2,t%
230 REM*SOUND VARIABLES & START**
240 ENT 1,1,12,6,1,-12,6:ENV 1,6,-1,1
250 x%=INT(RND(1)*30)+4:y%=INT(RND(1)*20)+3:g%=INT(RND(1)*30)+4:h%=INT(RND(1)*20)+3:dir=INT(RND(1)*4)+1:PEN 2
251 gg%=(g%-1)*16+4:gh%=398-((h%-1)*16)-4
260 REM***MAIN PROGRAM LOOP***
270 IF dir=1 OR dir=2 THEN mou=202 ELSE mou=201
280 LOCATE g%,h%:PRINT CHR$(mou)
290 PEN 0:LOCATE#2,13,1:PRINT#2,s%:s%=s%+1
300 GOSUB 950:REM**MOVE MAN**
310 LOCATE g%,h%:PRINT CHR$(143):PEN 2
320 GOSUB 400:REM**MOVE MOUSE**
330 REM**LOOK FOR WALL**
340 IF TEST(gg%+i%,gh%)<>0 THEN m%=1:GOSUB 460
350 m%=0
360 IF TEST(gg%,gh%+j%)<>0 THEN m%=2:GOSUB 460
370 m%=0:GOTO 270
380 REM***END OF MAIN LOOP***
390 REM***MOVEMENT ROUTINE***
400 IF dir=1 THEN g%=g%+1:h%=h%+1:gg%=gg%+16:gh%=gh%-16:i%=16:j%=-16
410 IF dir=2 THEN g%=g%+1:h%=h%-1:gg%=gg%+16:gh%=gh%+16:i%=16:j%=16
420 IF dir=3 THEN g%=g%-1:h%=h%-1:gg%=gg%-16:gh%=gh%+16:i%=-16:j%=16
430 IF dir=4 THEN g%=g%-1:h%=h%+1:gg%=gg%-16:gh%=gh%-16:i%=-16:j%=-16
440 RETURN
450 REM**DIRECTION CHANGE ROUTINE**
460 IF x%=g% AND y%=h% THEN GOTO 570
470 SOUND 1,160,6,15,1,1,0
480 IF dir=1 AND m%=1 THEN dir=4:RETURN
490 IF dir=1 AND m%=2 THEN dir=2:RETURN
500 IF dir=2 AND m%=1 THEN dir=3:RETURN
510 IF dir=2 AND m%=2 THEN dir=1:RETURN
520 IF dir=3 AND m%=1 THEN dir=2:RETURN
530 IF dir=3 AND m%=2 THEN dir=4:RETURN
540 IF dir=4 AND m%=1 THEN dir=1:RETURN
550 IF dir=4 AND m%=2 THEN dir=3:RETURN
560 REM***MOUSE CAPTURED ROUTINE***
570 IF x%>36 THEN x%=36
580 IF y%>20 THEN y%=20
590 IF x%<3 THEN x%=3
600 IF y%<3 THEN y%=3
610 WINDOW#3,(x%-2),(x%+2),(y%-2),(y%+2):PAPER#3,3:CLS#3:PEN#3,2:LOCATE#3,2,2:PRINT#3,"GOT":LOCATE#3,2,4:PRINT#3,"HIM"
620 ENT 1,15,7,2,15,-7,2
630 FOR n=100 TO 250 STEP 2:SOUND 1,n,3,6,0,1,0:NEXT
640 SOUND 1,210,50,6,0,0,9
650 IF s%<t% THEN t%=s%-1
660 LOCATE #2,30,1:PRINT #2,t%
670 LOCATE 5,24:PEN 1:PRINT" PRESS SPACE BAR WHEN READY "
680 WHILE INKEY$<>" ":WEND
690 REM****REPEAT GAME****
700 CLS#4:LOCATE 5,24:PEN 3:PRINT STRING$(31,143):PEN 2:LOCATE 12,13:PRINT "Another game ? (Y/N)"
710 x$=UPPER$(INKEY$):IF x$="Y"THEN CLS #4:GOTO 220
720 IF x$="N" THEN GOTO 1350
730 GOTO 710
740 REM****TITLE & INSTRUCTIONS****
750 WINDOW#1,8,33,2,9:PEN#1,1
760 RESTORE 900
770 FOR n=1 TO 104
780 READ tit:PRINT#1,CHR$(tit);
790 NEXT
800 PEN#1,2:PRINT#1:FOR n=1 TO 13:PRINT#1,CHR$(202);CHR$(201);:NEXT n
810 PEN#4,3:LOCATE#4,1,8:PRINT#4," Using the joystick or the cursor keys you must chase the mouse ";:PEN#4,2:PRINT#4,CHR$(202);;:PEN#4,3:PRINT#4,"and capture him."
820 PRINT #4:PRINT#4," To do this you must move yourman to the same position as the mouse. The trail you leave behindwill act like a wall and confine themouse so you can capture him."
830 PRINT#4:PRINT#4," Do this as fast as you can. The LOWEST score is the best."
840 PEN 2:LOCATE 5,23:PRINT "BEWARE, THIS MOUSE CAN GNAW !!!!"
850 LOCATE 10,25:PRINT "PRESS THE SPACE BAR.";
860 INK 1,14:INK 2,24:INK 3,15
870 WHILE INKEY$<>" ":WEND
880 CLS#4:RETURN
890 REM**DATA FOR TITLE******
900 DATA 214,32,32,32,32,215,32,32,214,143,215,32,32,214,32,215,32,32,214,143,215,32,32,214,143,215
910 DATA 143,215,32,32,214,143,32,32,143,32,143,32,32,143,32,143,32,32,213,210,32,32,32,143,210,32
920 DATA 143,213,215,214,212,143,32,32,143,32,143,32,32,143,32,143,32,32,32,208,215,32,32,143,208,32
930 DATA 213,32,213,212,32,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212,32,32,213,143,212
940 REM***INKEYS/JOY m/c ROUTINE***
950 CALL ad2+1:in=PEEK(ad2):man=248
960 PEN 1:LOCATE x%,y%:PRINT CHR$(203)
970 IF in=8 OR in=242 THEN x%=x%-1:man=250
980 IF in=9 OR in=243 THEN x%=x%+1:man=251
990 IF in=11 OR in=240 THEN y%=y%-1:man=249
1000 IF in=10 OR in=241 THEN y%=y%+1:man=249
1010 IF x%>39 THEN x%=39
1020 IF x%<2 THEN x%=2
1030 IF y%>23 THEN y%=23
1040 IF y%<2 THEN y%=2
1050 PEN 2:LOCATE x%,y%:PRINT CHR$(man):PEN 0:SOUND 1,200,1,2,0,0,0
1060 RETURN
1070 REM***POKE INKEYS m/c***
1080 c=INT(ad2/256):b=ad2-256*c
1090 RESTORE 1160
1100 FOR n=ad2 TO ad2+13
1110 READ d:IF d=999 THEN d=b
1120 IF d=998 THEN d=c
1130 POKE n,d
1140 NEXT n
1150 RETURN
1160 DATA 0,62,0,50,999,998,205,27
1170 DATA 187,208,50,999,998,201
1340 REM*****END ROUTINE*******
1350 CLS:INK 1,25:PEN 1:LOCATE 1,13:PRINT "Type R to RUN again or E to END program.":SPEED KEY 10,5
1360 x$=UPPER$(INKEY$):IF x$="E" THEN END
1370 IF x$="R" THEN RUN
1380 GOTO 1360