-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKLOTSKI-CAKE.BAS
57 lines (56 loc) · 1.47 KB
/
KLOTSKI-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
52
53
54
55
56
57
' Klotski | IchigoCake BASIC
' Copyright (c) 2020-2025 Keiichi Shiga (BALLOON | FU-SEN)
' The MIT License (MIT) - https://mit.balloon.net.eu.org/#2020-2025
POKE#1798,255,129,129,129,129,129,129,255
POKE#17B0,255,128,128,128,128,128,128,255
POKE#17B8,255,1,1,1,1,1,1,255
POKE#17C8,255,129,129,129,129,129,129,129
POKE#17D8,129,129,129,129,129,129,129,255
POKE#17E0,255,128,128,128,128,128,128,128
POKE#17E8,255,1,1,1,1,1,1,1
POKE#17F0,128,128,128,128,128,128,128,255
POKE#17F8,1,1,1,1,1,1,1,255
POKE#1800,0,0,0,0,0,0,243,0
POKE#1808,0,0,0,0,246,0,247,0
POKE#1810,0,0,249,0,0,0,251,0
POKE#1818,252,0,253,0,254,0,255,0
10 'ʺ²Ø ѽÒ
20 VIDEO 6:CLS
30 COPY #798,#1798,136
40 ?CHR$(0,0,249,252,253,249)
50 ?CHR$(0,0,251,254,255,251)
60 ?CHR$(0,0,249,246,247,249)
70 ?CHR$(0,0,251,243,243,251)
80 ?CHR$(0,0,243,1,1,243)
90 ?CHR$(0,0,0,2,2,0);
100 X=2:Y=4:M=0
110 LC X+2,Y,1
120 K=INKEY():IF !K CONT
130 IF K<>32 GOTO 160
140 IF !M AND SCR(X+2,Y)=1 GOTO 120
150 M=1-M:?CHR$(17);:GOTO 120
160 IF !M GOTO 380
170 P=SCR(X+2,Y):IF P=1 GOTO 380
180 P=P-240:Q=P%4:P=P-Q
190 A=X-Q%2:B=Y-Q/2
200 FOR S=0 TO 3
210 IF ![P+S] GOTO 230
220 LC A+S%2+2,B+S/2:?CHR$(1)
230 NEXT
240 C=A-(K=28)+(K=29)
250 D=B-(K=30)+(K=31):N=0
260 FOR S=0 TO 3
270 IF ![P+S] GOTO 290
280 IF SCR(C+S%2+2,D+S/2)<>1 N=1
290 NEXT
300 IF N=1 C=A:D=B:K=0
310 FOR S=0 TO 3
320 IF ![P+S] GOTO 350
330 LC C+S%2+2,D+S/2
340 ?CHR$([P+S])
350 NEXT
360 IF SCR(3,3)<>252 GOTO 380
370 LC 5,5:END
380 X=(X-(K=28)+(K=29)+4)%4
390 Y=(Y-(K=30)+(K=31)+5)%5
400 GOTO 110