华容道

把15-1 调整到1-15

先说值类型引用类型问题

按理说实现两块交换 应该是两个精灵的交换 所以建一个4*4数组

quyu = [];
var temp = [];
for (var m = 0; m < 4; m++) {

    for (var n = 4 * m; n < 4 + 4 * m; n++) {
        temp.push(btn[n]);

    }
    quyu.push(temp.clone());
    temp = [];
}

想法是交换数据结构中的精灵 然后精灵换位置 但是无法实现引用类型的交换

quyunodetemp = quyu[m - 1][n];
quyu[m - 1][n] = quyu[m][n];
quyu[m][n] = quyunodetemp;

后来用jquery 依旧不成

quyunodetemp=jQuery.extend(true,{}, quyu[m + 1][n]);

后来加了属性来表示位置

 if (target.hang + 1 == btn[m].hang && target.lie == btn[m].lie && btn[m].Text == "0") {
                hang = btn[m].hang;
                lie = btn[m].lie;

                btn[m].hang = target.hang;
                btn[m].lie = target.lie;

                target.hang = hang;
                target.lie = lie;

                quyunode = btn[m].getPosition();
                btn[m].setPosition(target.getPosition().x, target.getPosition().y);
                target.setPosition(quyunode.x, quyunode.y);

                count++;
                helloLabel1.setString("移动次数:"+count);

            } 

所以一个语言没有clone方法 那么可以在引用类型中加属性来解决交换的问题 引用类型添加属性算法

时间: 2024-08-09 19:50:43

华容道的相关文章

[RT][NOIP2013]华容道

1.题面 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间.小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空

noip2013 华容道

P1979 华容道 131通过 471提交 题目提供者该用户不存在 标签图论搜索/枚举2013NOIp提高组 难度省选/NOI- 提交该题 讨论 题解记录 最新讨论 要注意部分数据存在起点与终… 求助求助求助 题目数据是不是有问题啊 题目描述 [问题描述] 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一

NOIP2013 提高组day2 3 华容道 BFS

描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空白

华容道[NOIP2013]

时间限制:1 s   内存限制:128 MB 题解       考场上完全是按照暴搜来做的,但是打得大概不是很优美,连暴搜的分数都没拿全.题解倒是给的非常详细,但是看了很多遍都不知道应该怎么实现.最后决定一个函数一个函数地堆,堆了好多节课才堆完.唯一可取的地方大概是没有参考标程,完全是自己实现的,调过之后很有成就感.所以说即使是很困难的事,也还是有办法做到的啊. 棋盘毕竟小,除了暴搜之外其他看起来暴力的方法还是可以尝试的.华容道游戏可以分成两部分,第一部分是空白格移动到起始格周围,第二部分是空白

【noip】华容道

---恢复内容开始--- 描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的边)的格

华容道01--分析

一直想写一个华容道的游戏,现在就通过学习Cocos2D3.x写一个华容道的游戏吧. 这个游戏的要求是,最后生成安卓项目,安装到自己的手机上玩玩吧! 开发周期初步定在2-3天. 华容道有多种开局方式,不同的开局方式就是不同的关卡,所以需要有一个选关界面. 再就是游戏界面. 在华容道中,每个元素所占的空间是一定的,兵是最小的,也是最基本的单位,最大的占四个单位空间,然后是占2个单位空间的将,曹操占四个单位空间. 这个游戏中最核心的是判断胜负的条件,即,当曹操走到出口时,游戏结束.再就是,方块在地图中

bzoj 2013 华容道

比较难的题单独拉出来讲咯 华容道 描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的

【NOIP2013】华容道

P1675 - [NOIP2013]华容道 Description Input Output Sample Input Sample Output Hint 暴力:BFS. 搜索空白的格子往四周走. 队列里面记录空格的位置和目标块的位置和步数,并且标记这个状态不能重复走. 这样搞好像有80分. 正解:BFS+SPFA. 要使某个块走到特定的点,首先要使空格移到这个块的边上. 然后再不断地移这个块. 所以,先要BFS求出空白块移到这个块需要多少步. 然后空白块就在这个块边上了. 考虑到要不停的移这

《算法的乐趣》——华容道游戏

这一章来简单的介绍一下华容道游戏及如何利用算法来计算出其最优步数. 首先对于华容道游戏,我们来介绍一下它的规则. 有点类似于拼图,本质上这是一个5x4的矩阵,我们的目标就是让曹操(2x2)的矩阵从5x4的矩阵中的第5行的3.4列走出来. 游戏规则很简单,但是想要用最小的步数来完成就不那么容易了,这便是我们下面要着力解决的问题. 其实对于学过dfs和bfs的读者,可能已经想到解决的思路了,其实可以搜索所有的状态,然后形成状态树(这和笔者前面介绍的双人对局的博弈树是一个东西),在建树的过程中,我们设

NOIP 华容道

描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的华容道游戏略有不同,游戏规则是这样的: 在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的: 有些棋子是固定的,有些棋子则是可以移动的: 任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空白