自动九宫格

这样处理就可以实现自动九宫格!!!


1,在ps中切出九宫格 ,分列10个图层 (包括背景图)

2,在flash cs中 导入上述psd文件

3,在舞台上把其转换为元件  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用回溯法实现Java奇数九宫格自动填充。具体实现思路如下: 1. 定义一个二维数组作为九宫格的模板,初始化为0; 2. 从第一行第一列开始,依次尝试填入数字1-9; 3. 每填入一个数字,检查当前行、当前列和当前宫(3x3的小方格)是否已经有重复的数字; 4. 如果没有重复的数字,则继续向下一格填入数字;如果有重复的数字,则回溯到上一格重新填入数字; 5. 当填满最后一格时,输出结果。 下面是Java代码实现示例: ``` public class OddMagicSquare { private static final int GRID_SIZE = 3; private boolean isMagicSquare(int[][] grid) { int magicNum = (GRID_SIZE * (GRID_SIZE * GRID_SIZE + 1)) / 2; // 检查每一行 for (int i = 0; i < GRID_SIZE; i++) { int sum = 0; for (int j = 0; j < GRID_SIZE; j++) { sum += grid[i][j]; } if (sum != magicNum) { return false; } } // 检查每一列 for (int i = 0; i < GRID_SIZE; i++) { int sum = 0; for (int j = 0; j < GRID_SIZE; j++) { sum += grid[j][i]; } if (sum != magicNum) { return false; } } // 检查对角线 int sum = 0; for (int i = 0; i < GRID_SIZE; i++) { sum += grid[i][i]; } if (sum != magicNum) { return false; } sum = 0; for (int i = 0; i < GRID_SIZE; i++) { sum += grid[i][GRID_SIZE - 1 - i]; } if (sum != magicNum) { return false; } return true; } private boolean solve(int[][] grid, int row, int col) { if (row == GRID_SIZE && col == 0) { return isMagicSquare(grid); } if (grid[row][col] != 0) { // 当前格已经有数字,跳过 if (col == GRID_SIZE - 1) { return solve(grid, row + 1, 0); } else { return solve(grid, row, col + 1); } } else { // 尝试填入数字 for (int i = 1; i <= GRID_SIZE * GRID_SIZE; i++) { grid[row][col] = i; if (col == GRID_SIZE - 1) { if (solve(grid, row + 1, 0)) { return true; } } else { if (solve(grid, row, col + 1)) { return true; } } grid[row][col] = 0; } return false; } } public void generateMagicSquare() { int[][] grid = new int[GRID_SIZE][GRID_SIZE]; solve(grid, 0, 0); printGrid(grid); } private void printGrid(int[][] grid) { for (int i = 0; i < GRID_SIZE; i++) { for (int j = 0; j < GRID_SIZE; j++) { System.out.print(grid[i][j] + " "); } System.out.println(); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值