问题描述
中国象棋里面双方的“将”和“帅”各自呆在自己的九宫格里,一步只能横移或纵移一格,而且双方不能见面(既不能处在同一条纵线上)。在残局时有的人会用这一规则走出绝妙杀招。假设一方的“将”为A,另一方的“帅”为B,现在求双方所能出现的所有合法位置,所需变量只能用一个字节来保存。
我的解法
#include
int main(void)
{
unsigned char chPos...
分类:
其他好文 时间:
2014-11-30 12:36:04
阅读次数:
133
改编来源:http://www.cnblogs.com/在cocos2dx官网看到了这么个教程,是cocos2dx 2.x版本的,于是用 cocos2dx 3.2 照着敲了一遍,原先的代码里面有些bug也顺道修了一下。实现了个主体功能,开始啦,走棋及其判断,胜负判断。效果图如下:代码下载地址:htt...
分类:
其他好文 时间:
2014-11-28 19:54:47
阅读次数:
200
题目大意:给出棋盘的大小,问任意行和列放置的棋子都不超过两个有多少种方案。
思路:一个比较麻烦的DP。f[i][j][k]表示到前i行,放置了一个棋子的列为j,放置了两个棋子的列为k的方案数,然后有六个转移:
f[i][j][k] = f[i - 1][j][k] //不取
+ f[i - 1][j - 1][k] * (n - (j - 1)...
分类:
其他好文 时间:
2014-11-26 19:07:05
阅读次数:
189
代码下载地址:https://code.csdn.net/FansUnion/chinesechess-v1/** * 项目名称: FansChineseChess * 版本号:1.0 * 名字:雷文 * 博客: http://FansUnion.cn * CSDN:http://blog.csdn.net/FansUnion * 邮箱: leiwen@FansUnion.cn * QQ:240-...
分类:
其他好文 时间:
2014-11-22 09:18:52
阅读次数:
138
在上一节中实现了走棋规则,这节中将实现悔棋
首先看一下悔棋的效果:
通过观察上图中的演示可知,当单击悔棋按钮后,移动了的棋子会回到原来的位置上,
实现方式:
首先在SceneGame类中定义一个成员变量CCArray* _steps,用于保存每步棋的棋子信息
//保存每步走的棋子
CCArray* _steps;
在SceneGame类中的成员函数init...
分类:
其他好文 时间:
2014-11-21 21:55:44
阅读次数:
325
在上一节中实现了悔棋,在这节将介绍如何在游戏中添加背景音乐
看一下效果:
实现思路:
当单击后游戏中播放背景音乐,并且背景音乐切换按钮由变成
当单击后停止播放背景音乐,并且背景音乐切换按钮由变成
当游戏进入后台后停止播放背景音乐
当游戏恢复后继续播放背景音乐
实现代码:
在SceneGame类中定义一个成员函数Voice(CCObject*)用于实现背景音乐的切...
分类:
其他好文 时间:
2014-11-21 21:53:16
阅读次数:
226
题目大意:给定一个棋盘,放置一些炮,要求任意两个炮不能互相攻击,求方案数对p取模的值
首先任意两个炮不互相攻击等价于一条线上最多只能有两个炮
直接状压DP的话是50分
考虑到每一列都是等价的 那么我们可以直接递推
令f[i][j][k]为前i行有j列有一个炮 k列有两个炮
那么讨论
这行不放炮 方案数为f[i-1][j][k]
在原先没有炮的列放炮 方案数为f[i-1][j-1][k...
分类:
其他好文 时间:
2014-11-19 01:56:35
阅读次数:
158