15 puzzle game: Difference between revisions
1-bad
(1-bad) |
|||
Line 4,298:
[https://easylang.online/apps/15-puzzle.html Run it]
<syntaxhighlight lang="text">
#
background 432
textsize 13
len f[] 16
func draw . .
clear
for i
h = f[i]
if h < 16
x = (i - 1) mod 4 * 24 + 3
y = (i - 1) div 4 * 24 + 3
color 210
move x y
rect 22 22
move x + 4 y +
if h < 10
move x + 6 y +
.
color 885
Line 4,323 ⟶ 4,325:
func init . .
done = 0
for i
f[i] = i
.
# shuffle
for i =
r = random
swap f[r] f[i]
.
# make it solvable
inv = 0
for i
for j
if f[j] > f[i]
inv += 1
Line 4,341 ⟶ 4,343:
.
if inv mod 2 <> 0
swap f[
.
textsize 12
Line 4,349 ⟶ 4,351:
c = mouse_x div 25
r = mouse_y div 25
i = r * 4 + c + 1
if c > 0 and f[i - 1] = 16
swap f[i] f[i - 1]
Line 4,361 ⟶ 4,363:
call draw
done = 1
for i
if f[i] > f[i + 1]
done = 0
|