拼图能否根据图案复杂度自动调整难度?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1872个文字,预计阅读时间需要8分钟。
基本思路:
1.使用8块方块和1个空块组成拼图效果,数字1~8代表方块,0代表空块,如3x3数组(棋盘)。
2.移动方法:按j键移动当前方块,函数Check搜索附近的前后左右方块。
示例代码:
pythondef Check(board, x, y): for i in range(3): for j in range(3): if (i, j) !=(x, y) and board[i][j] !=0: if abs(x-i) + abs(y-j)==1: return True return Falsedef move(board, x, y): if Check(board, x, y): board[x][y], board[x+1 if x<2 else 0][y]=board[x+1 if x<2 else 0][y], 0 print_board(board)
def print_board(board): for row in board: print(' '.join(str(x) if x !=0 else ' ' for x in row))
初始化棋盘board=[[1, 2, 3], [4, 0, 5], [6, 7, 8]]
移动方块move(board, 1, 1) # 移动第2行第2列的方块print_board(board)
基本思路:1.由8块方块和一个空块组成的拼图效果,八块由数字1~8,0表示空的块,用3×3的数组存储(棋盘2)。本文共计1872个文字,预计阅读时间需要8分钟。
基本思路:
1.使用8块方块和1个空块组成拼图效果,数字1~8代表方块,0代表空块,如3x3数组(棋盘)。
2.移动方法:按j键移动当前方块,函数Check搜索附近的前后左右方块。
示例代码:
pythondef Check(board, x, y): for i in range(3): for j in range(3): if (i, j) !=(x, y) and board[i][j] !=0: if abs(x-i) + abs(y-j)==1: return True return Falsedef move(board, x, y): if Check(board, x, y): board[x][y], board[x+1 if x<2 else 0][y]=board[x+1 if x<2 else 0][y], 0 print_board(board)
def print_board(board): for row in board: print(' '.join(str(x) if x !=0 else ' ' for x in row))
初始化棋盘board=[[1, 2, 3], [4, 0, 5], [6, 7, 8]]
移动方块move(board, 1, 1) # 移动第2行第2列的方块print_board(board)
基本思路:1.由8块方块和一个空块组成的拼图效果,八块由数字1~8,0表示空的块,用3×3的数组存储(棋盘2)。
