中国象棋,棋盘上只有“将”和“帅”,按照中国象棋中两者不能照面的规则,输出两者所有的合法位置组合,要求在代码中只能使用一个变量。
将象棋里两个老大分别可以走的9个位置编号如下:
1 2 3
4 5 6
7 8 9
书中给出的第一个解法好长,我想到了后面的解法认为不需要这么复杂的实现也暂时没有去看了……以下是我的想法:
编号后很快可以发现每一列的共同点是编号对模3运算的结果是相等的,问题就好解决了,两者的位置编号模3运算结果不等则是合法的位置组合,将其输出即可,否则是不合法的。这样的过程用2层嵌套的循环即可,那么问题就是怎样只使用一个变量实现2层嵌套的循环。
这个题给我的启发主要是这样一个循环的实现,如下:
int i = 81;
while (i-- != 0) {
if (i / 9 % 3 != i % 9 % 3)
System.out.println("A=" + (i / 9 + 1) + "\tB=" + (i % 9 + 1));
}
用一个int实现了等效于如下的循环:
for (int i = 8; i > 0; i--) {
for (int j = 8; j > 0; j--) {
if (i % 3 != j % 3)
System.out.println("A=" + (i + 1) + "\tB=" + (j + 1));
}
}
分享到:
相关推荐
Java编程达人分享:中国象棋游戏源代码,看看界面,是不是相当不错,作者:yaoyun,CSDN达人写的Java象棋游戏,编译环境:JDK1.7 Eclipse3.7 呵呵,可能比较老的环境了。 注:程序中用到了一个字体太大了,删除了...
有关中国象棋将帅问题的算法和vc++程序实现
华为oj平台,编程训练高级题目:象棋将帅Java语言版。
VC 毕业论文附源码:中国象棋网上对弈程序附文档,采用两层C/S架构来实现相互之间的通信。它主要包含以下几大模块:网络通信模块,图像绘制模块和规则设置模块。网络通信模块使得玩家可以方便的迅速建立起网络连接,...
Java毕业设计 论文:中国象棋源代码资料,作者:王学峰。里面包括Java中国象棋需求、象棋txt版本资料。关键词:中国象棋,位棋盘,Zobrist键值,alpha-beta搜索,置换表,局面评价。本毕业设计论文根据国际象棋程序...
用c++实现了CChinaChess类,该类包含了五个方法,除方法5外每个方法对应一种实现思路。方法5实现了用一个变量实现三层循环。
Pygame游戏源代码:中国象棋 包含代码、图片、声音等所有资源,可直接运行
王学峰:中国象棋Java版源码 实验报告,针对中国象棋程序设计的一系列问题,总结出一些搜索引擎的设计方法,并给出java语言的实现。这次Java实验,感觉挺好玩的,第一次做了一个小游戏,还是我交喜欢的象棋游戏。试着...
中国象棋 图片素材
这是c#课程上完成的一个小程序,中国象棋单机版,可判断棋的走位,获胜条件等等基础象棋功能,使用vs2008版本编写
中国象棋小游戏,使用C语言编写
代码中有注释(很多)人机对弈(已经更新最新版本,文件介绍:https://blog.csdn.net/weixin_46409629/article/details/125353521?utm_source=app&app_version=5.5.0&code=app_1562916241&uLinkId=usr1mkqgl919blen...
知识点1:中国象棋程序设计的研究现状 中国象棋是中国传统的棋类游戏,随着计算机技术和人工智能的发展,中国象棋程序设计也逐渐成为了一个热门的研究方向。本文研究了中国象棋程序设计的国内外研究现状,分析了...
JavaScript中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋utf8中国象棋...
知识点1:中国象棋的研究现状 ------------------------------------------------ 中国象棋是中国古典棋类游戏,具有悠久的历史和文化价值。近年来,随着计算机技术的发展,中国象棋的计算机实现也取得了很大的进步...
Java 版中国象棋项目设计毕业论文 本文档是关于设计中国象棋程序的毕业论文,论文中讨论了中国象棋程序设计的一些思路和方法,并对...关键词:中国象棋、位棋盘、Zobrist 键值、alpha-beta 搜索、置换表、局面评价
Scratch高级版:国际象棋
基于VC++ ,最简单的游戏程序,有注释,是个学习网络编程的极好例子
C++实现的中国象棋控件,包括中国象棋 MFC 扩展库,中国象棋 activex 控件 ,中国象棋Qt插件,人工智能引擎等 功能 控件 中国象棋库 中国象棋基本规则 棋局保存和复盘 中国象棋 MFC 扩展动态库 中国象棋 ...