16 puzzle game: Difference between revisions

Line 245:
 
void local fn move( tag as int )
int r, a, b, c, rc = (tag mod 10)
select tag / 10
case _left_up : a = rc* : b = a + 8 : c = +4
case _right mid$(board,: a = rc-3, * 4) : b = mid$(board,a rc- 2, 3): +c mid$(board,rc= -3,1)
case _right_down : a = rc* + 12 : b = a - 8 : c = -4
case _left mid$(board, : a = rc-3, * 4) =- mid$(board,3 rc,: 1)b = a + mid$(board,2 rc: -c 3,= 3)+1
case _up
for r = rc to 12 step 4
swap board[r], board[r+4]
next
case _down
for r = rc + 12 to 5 step -4
swap board[r], board[r-4]
next
end select
for r = rca to 12b step 4c
swap board[r], board[r+4c]
next
if board == winBoard then window 1, @"!!! YOU WON !!!" : text,,fn colorRed
fn drawBoard
68

edits