Skip to content

Instantly share code, notes, and snippets.

@fu-sen
Last active April 19, 2025 02:14
Show Gist options
  • Save fu-sen/953869bd416af653ffc272ba1770d58e to your computer and use it in GitHub Desktop.
Save fu-sen/953869bd416af653ffc272ba1770d58e to your computer and use it in GitHub Desktop.
15 puzzle version 2 - SHARP POCKET COMPUTER PC-G850 series BASIC https://poke-com.jimdofree.com/basic-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0/
1 ' Calendar | SHARP POCKET COMPUTER PC-G850 series BASIC
2 ' Copyright (c) 2025 BALLOON | FU-SEN
3 ' The MIT License (MIT) - https://mit.balloon.net.eu.org/#2025
100 RANDOMIZE :M=15:S=0:DIM P(15):CLS
110 FOR I=0 TO 14
120 LINE ((I MOD 4)*12+49, INT (I/4)*12+1)-((I MOD 4)*12+58, INT (I/4)*12+10),S,B
130 GCURSOR ((I MOD 4)*12+50, INT (I/4)*12+9)
140 P=I+1:GOSUB 490
150 P(I)=I+1:NEXT I
160 P(15)=16
170 LOCATE 17,2:PRINT "WAIT"
180 FOR I=99 TO 0 STEP -1
190 LOCATE 17,3:PRINT I;" ";
200 R= RND 4
210 ON R GOSUB 450,460,470,480
220 IF M=T GOTO 200
230 LINE ((T MOD 4)*12+49, INT (T/4)*12+1)-((T MOD 4)*12+58, INT (T/4)*12+10),R,BF
240 LINE ((M MOD 4)*12+49, INT (M/4)*12+1)-((M MOD 4)*12+58, INT (M/4)*12+10),S,B
250 GCURSOR ((M MOD 4)*12+50, INT (M/4)*12+9)
260 P=P(T):GOSUB 490
270 P(M)=P(T):P(T)=16:M=T:NEXT
280 LOCATE 17,2:PRINT "COUNT"
290 LOCATE 17,3:PRINT S:C=15
300 IF P(C)<>C+1 GOTO 330
310 C=C-1:IF C>0 GOTO 300
320 END
330 I$= INKEY$
340 IF I$="8" OR I$= CHR$ (4) GOSUB 450
350 IF I$="6" OR I$= CHR$ (14) GOSUB 460
360 IF I$="2" OR I$= CHR$ (5) GOSUB 470
370 IF I$="4" OR I$= CHR$ (15) GOSUB 480
380 IF M=T GOTO 330
390 LINE ((T MOD 4)*12+49, INT (T/4)*12+1)-((T MOD 4)*12+58, INT (T/4)*12+10),R,BF
400 LINE ((M MOD 4)*12+49, INT (M/4)*12+1)-((M MOD 4)*12+58, INT (M/4)*12+10),S,B
410 GCURSOR ((M MOD 4)*12+50, INT (M/4)*12+9)
420 P=P(T):GOSUB 490
430 P(M)=P(T):P(T)=16:M=T
440 S=S+1:GOTO 290
450 T=M+(M>3)*4:RETURN
460 T=M-(M MOD 4<3):RETURN
470 T=M-(M<12)*4:RETURN
480 T=M+(M MOD 4>0):RETURN
490 IF P=1 GPRINT "FFFFFFFFFFFF0000":RETURN
500 IF P=2 GPRINT "FFFFFF0404242020":RETURN
510 IF P=3 GPRINT "FFFFFF2424240000":RETURN
520 IF P=4 GPRINT "FFFFFFE0E0E70000":RETURN
530 IF P=5 GPRINT "FFFFFF2020240404":RETURN
540 IF P=6 GPRINT "FFFFFF0000240404":RETURN
550 IF P=7 GPRINT "FFFFFFFCFCFC0000":RETURN
560 IF P=8 GPRINT "FFFFFF0000240000":RETURN
570 IF P=9 GPRINT "FFFFFF2020240000":RETURN
580 IF P=10 GPRINT "0000FF00003C0000":RETURN
590 IF P=11 GPRINT "0000FFFFFFFF0000":RETURN
600 IF P=12 GPRINT "0000FF0404242020":RETURN
610 IF P=13 GPRINT "0000FF2424240000":RETURN
620 IF P=14 GPRINT "0000FFE0E0E70000":RETURN
630 IF P=15 GPRINT "0000FF2020240404":RETURN
640 GPRINT "0000000000000000":RETURN
@fu-sen
Copy link
Author

fu-sen commented Jan 25, 2025

15puzzv2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment