Created
November 14, 2012 03:43
-
-
Save teaplanet/4070128 to your computer and use it in GitHub Desktop.
15PUZZLE(SHARPポケコン PC-G815) 学生の頃に作ったやつっぽい。 ※注意 "|" ポケコンの [SHIFT + H]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 10 CLS:CLEAR | |
| 20 F$="1"'OPENNING | |
| 30 FOR J1=J3 TO 17 | |
| 40 LOCATE (23-J1+J2),1:PRINT F$ | |
| 50 NEXT | |
| 60 IF F$="1" THEN F$="5":J2=J2+1:J3=J3+1:GOTO 30 | |
| 70 IF F$="5" THEN F$=" ":J2=J2+1:J3=J3+1:GOTO 30 | |
| 80 IF F$=" " THEN F$="P":J2=J2+1:J3=J3+1:GOTO 30 | |
| 90 IF F$="P" THEN F$="U":J2=J2+1:J3=J3+1:GOTO 30 | |
| 100 IF F$="U" THEN F$="Z":J2=J2+1:J3=J3+1:GOTO 30 | |
| 110 FOR J1=0 TO 11 | |
| 120 LOCATE 23-J1:PRINT "Z" | |
| 130 NEXT | |
| 140 FOR J1=0 TO 10 | |
| 150 LOCATE 23-J1:PRINT "L" | |
| 160 NEXT | |
| 170 FOR J1=0 TO 9 | |
| 180 LOCATE 23-J1:PRINT "E" | |
| 190 NEXT | |
| 200 FOR J1=0 TO 8 | |
| 210 LOCATE 23-J1:PRINT " " | |
| 220 NEXT | |
| 230 LOCATE 7,3:PRINT "[SPACE]" | |
| 240 IF INKEY$ =" " THEN 260 | |
| 250 GOTO 240 | |
| 260 CLS | |
| 270 FOR I1=0 TO 3 | |
| 280 LOCATE I1,I2:PRINT CHR$ (65+I1+I3) | |
| 290 NEXT | |
| 300 IF I2=3 THEN 330 | |
| 310 I2=I2+1:I3=I3+4 | |
| 320 GOTO 270 | |
| 330 FOR I=0 TO 3 | |
| 340 LOCATE 4,I:PRINT "|" | |
| 350 NEXT | |
| 360 LOCATE 7,0:PRINT "GAME LEVEL":LOCATE 8,1:PRINT "1:EASY":LOCATE 8,2:PRINT "2: NORMAL":LOCATE 8,3:PRINT "3:HARD" | |
| 370 IF INKEY$ ="1" THEN L=50:G=(5/2):GOTO 420 | |
| 380 IF INKEY$ ="2" THEN L=100:G=(5):GOTO 420 | |
| 390 IF INKEY$ ="3" THEN L=150:G=(15/2):GOTO 420 | |
| 400 IF INKEY$ =CHR$ 2 THEN L=300:G=(15):GOTO 420 | |
| 410 GOTO 370 | |
| 420 I1=0:I2=0 | |
| 430 DIM N1$(3,3):I3=65 | |
| 440 FOR I1=0 TO 3 | |
| 450 N1$(I1,I2)= CHR$ (I1+I3) | |
| 460 NEXT | |
| 470 IF I2=3 THEN N1$(3,3)=" ":GOTO 500 | |
| 480 I2=I2+1:I3=I3+4 | |
| 490 GOTO 440 | |
| 500 I1=0:I2=0 | |
| 510 CLS :X=3:Y=3 | |
| 520 LOCATE 5,0:PRINT "Please Wait!" | |
| 530 LOCATE 6,1:PRINT "Now Loadinfg!" | |
| 540 GOSUB 950'MAIN | |
| 550 CLS | |
| 560 FOR I1=0 TO 3 | |
| 570 LOCATE I1,I2:PRINT N1$(I1,I2) | |
| 580 NEXT | |
| 590 IF I2=3 THEN 620 | |
| 600 I2=I2+1 | |
| 610 GOTO 560 | |
| 620 FOR I=0 TO 3 | |
| 630 LOCATE 4,1:PRINT "|" | |
| 640 NEXT | |
| 650 LOCATE 8,0:PRINT "MOVE":LOCATE 9,1:PRINT "8":LOCATE 8,2:PRINT "4":LOCATE 10, 2:PRINT "6":LOCATE 9,3:PRINT "2":LOCATE 16,0:PRINT "OK!":LOCATE 15,2:PRINT " SPACE" | |
| 660 IF INKEY$ ="4" THEN 720 | |
| 670 IF INKEY$ ="6" THEN 730 | |
| 680 IF INKEY$ ="8" THEN 740 | |
| 690 IF INKEY$ ="2" THEN 750 | |
| 700 IF INKEY$ =" " THEN 860 | |
| 710 GOTO 660 | |
| 720 IF X=3 THEN 660 ELSE V=1:GOSUB 770:GOTO 660 | |
| 730 IF X=0 THEN 660 ELSE V=2:GOSUB 770:GOTO 660 | |
| 740 IF Y=3 THEN 660 ELSE V=3:GOSUB 770:GOTO 660 | |
| 750 IF Y=0 THEN 660 ELSE V=4:GOSUB 770:GOTO 660 | |
| 760 ON V GOTO 770,790,810,830 | |
| 770 WAIT 10:N$=N1$(X,Y):N1$(X,Y)=N1$(X+1,Y):N1$(X+1,Y)=N$ | |
| 780 LOCATE X+1,Y:PRINT N1$(X+1,Y):LOCATE X,Y:PRINT N1$(X,Y):X=X+1:WAIT 0:GOTO 9 0 | |
| 790 WAIT 10:N$=N1$(X,Y):N1$(X,Y)=N1$(X-1,Y):N1$(X-1,Y)=N$ | |
| 800 LOCATE X-1,Y:PRINT N1$(X-1,Y):LOCATE X,Y:PRINT N1$(X,Y):X=X-1:WAIT 0:GOTO 89 0 | |
| 810 WAIT 10:N$=N1$(X,Y):N1$(X,Y)=N1$(X,Y+1):N1$(X,Y+1)=N$ | |
| 820 LOCATE X,Y+1:PRINT N1$(X,Y+1):LOCATE X,Y:PRINT N1$(X,Y):Y=Y+1:WAIT 0:GOTO 89 0 | |
| 830 WAIT 10:N$=N1$(X,Y):N1$(X,Y)=N1$(X,Y-1):N1$(X,Y-1)=N$ | |
| 840 LOCATE X,Y-1:PRINT N1$(X,Y-1):LOCATE X,Y:PRINT N1$(X,Y):Y=Y-1:WAIT 0:GOTO 89 0 | |
| 850 RETURN | |
| 860 I1=0:I2=0:I3=0:Z=0 | |
| 870 IF N1$(I1,I2)= CHR$ (65+I1+I3) THEN 880 ELSE 660 | |
| 880 IF I2=3 THEN 900 | |
| 890 IF I1=3 THEN I2=I2+1 | |
| 900 IF N1$(0,3)="M" AND N1$(1,3)="N" AND N1$(2,3)="O" AND N1$(3,3)=" " THEN H=1: GOTO 910 ELSE 660 | |
| 910 IF H=1 THEN 1140 | |
| 920 IF I1=3 THEN I1=0:I2=I2+1:I3=I3+4 | |
| 930 I1=I1+1 | |
| 940 GOTO 870 | |
| 950 WAIT 0:RANDOMIZE | |
| 960 LOCATE 0,3:PRINT "0%" | |
| 970 LOCATE 9,3:PRINT "50%" | |
| 980 LOCATE 20,3:PRINT "100%":U=22 | |
| 990 FOR C=1 TO L | |
| 1000 IF (5*C/G)=10 OR (5*C/G)=100 THEN U=U-1 | |
| 1010 LOCATE (C/G),2:PRINT ">" | |
| 1020 P$= STR$ INT (5*C/G):LOCATE U,2:PRINT P$;"%" | |
| 1030 D= RND 4 | |
| 1040 IF D=1 THEN GOSUB 1100 | |
| 1050 IF D=3 THEN GOSUB 1110 | |
| 1060 IF D=2 THEN GOSUB 1120 | |
| 1070 IF D=4 THEN GOSUB 1130 ELSE 1030 | |
| 1080 NEXT | |
| 1090 RETURN | |
| 1100 IF X=3 THEN RETURN ELSE 1370 | |
| 1110 IF X=0 THEN RETURN ELSE 1390 | |
| 1120 IF Y=3 THEN RETURN ELSE 1410 | |
| 1130 IF Y=0 THEN RETURN ELSE 1430 | |
| 1140 CLS | |
| 1150 F$="*" | |
| 1160 FOR I1=0 TO 23 | |
| 1170 LOCATE I1,I2:PRINT F$ | |
| 1180 NEXT | |
| 1190 IF I2=3 THEN 1220 | |
| 1200 I2=I2+1 | |
| 1210 GOTO 1160 | |
| 1220 IF F$=" " THEN 1250 | |
| 1230 F$=" " :I2=0 | |
| 1240 GOTO 1160 | |
| 1250 IF L=50 THEN 1290 | |
| 1260 IF L=100 THEN 1300 | |
| 1270 IF L=150 THEN 1310 | |
| 1280 IF L=300 THEN 1320 | |
| 1290 LOCATE 0,1:PRINT "CHARENGE NORMAL LEVEL!!!":GOTO 1330 | |
| 1300 LOCATE 0,1:PRINT "CHARENGE HARD LEVEL!!!!!":GOTO 1330 | |
| 1310 LOCATE 0,1:PRINT "SET LEVEL:HIT [CLS]!!!!!":GOTO 1330 | |
| 1320 LOCATE 3,1:PRINT "ALL LEVEL CLEAR!!!":GOTO 1330 | |
| 1330 LOCATE 4,3:PRINT "ONE MORE? [Y/N]" | |
| 1340 IF INKEY$ ="Y" THEN 10 | |
| 1350 IF INKEY$ ="N" THEN 1370 | |
| 1360 GOTO 1340 | |
| 1370 CLS :CLEAR :END | |
| 1380 N$=N1$(X,Y):N1$(X,Y)=N1$(X+1,Y):N1$(X+1,Y)=N$:X=X+1 | |
| 1390 RETURN | |
| 1400 N$=N1$(X,Y):N1$(X,Y)=N1$(X-1,Y):N1$(X-1,Y)=N$:X=X-1 | |
| 1410 RETURN | |
| 1420 N$=N1$(X,Y):N1$(X,Y)=N1$(X,Y+1):N1$(X,Y+1)=N$:Y=Y+1 | |
| 1430 RETURN | |
| 1440 N$=N1$(X,Y):N1$(X,Y)=N1$(X,Y-1):N1$(X,Y-1)=N$:Y=Y-1 | |
| 1450 RETURN | |
| 1460 END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment