-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path15PUZZV2-CAKE.BAS
51 lines (50 loc) Β· 1.59 KB
/
15PUZZV2-CAKE.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
' 15 Puzzle version 2 | IchigoCake BASIC
' Copyright (c) 2025 Keiichi Shiga (BALLOON | FU-SEN)
' The MIT License (MIT) - https://mit.balloon.net.eu.org/#2025
POKE #1788,254,250,250,250,250,250,254,0
POKE #1790,254,226,250,226,238,226,254,0
POKE #1798,254,226,250,226,250,226,254,0
POKE #17A0,254,234,234,226,250,250,254,0
POKE #17A8,254,226,238,226,250,226,254,0
POKE #17B0,254,226,238,226,234,226,254,0
POKE #17B8,254,226,250,250,250,250,254,0
POKE #17C0,254,226,234,226,234,226,254,0
POKE #17C8,254,226,234,226,250,226,254,0
POKE #17D0,254,162,170,170,170,162,254,0
POKE #17D8,254,186,186,186,186,186,254,0
POKE #17E0,254,162,186,162,174,162,254,0
POKE #17E8,254,162,186,162,186,162,254,0
POKE #17F0,254,170,170,162,186,186,254,0
POKE #17F8,254,162,174,162,186,162,254,0
100 '15Puzzle version 2
110 VIDEO 5:CLV:M=15:CLS:?
120 COPY #788,#1788,120
130 ? CHR$(0,0,241,242,243,244)
140 ? CHR$(0,0,245,246,247,248)
150 ? CHR$(0,0,249,250,251,252)
160 ? CHR$(0,0,253,254,255)
170 FOR I=0 TO 15:[I]=I+1:NEXT
180 FOR I=99 TO 0 STEP -1
190 LC 3,0:? I;" "
200 R=RND(4)
210 X=M%4-(R==0)+(R==1)
220 Y=M/4-(R==2)+(R==3)
230 IF 0>X OR X>3 OR 0>Y OR Y>3 GOTO 200
240 LC X+2,Y+1:?" ";
250 LC M%4+2,M/4+1:? CHR$(240+[X+Y*4]);
260 T=[X+Y*4]:[X+Y*4]=0:[M]=T
270 M=X+Y*4:WAIT 10:NEXT
280 LC 3,0:? S:I=14
290 IF[I]!=I+1 GOTO 320
300 I=I-1:IF I GOTO 290
310 CLK:LC 5,4:END
320 I=INKEY()
330 X=M%4-(I==28)+(I==29)
340 Y=M/4-(I==30)+(I==31)
350 IF M%4==X AND M/4==Y GOTO 320
360 IF 0>X OR X>3 OR 0>Y OR Y>3 GOTO 320
370 IF INKEY() CONT
380 LC X+2,Y+1:?" ";
390 LC M%4+2,M/4+1:? CHR$(240+[X+Y*4]);
400 T=[X+Y*4]:[X+Y*4]=0:[M]=T
410 M=X+Y*4:S=S+1:GOTO 280