中国象棋人人对战

中国象棋人人对战
中国象棋人人对战

中国象棋----人人对战设计

学号:

系别:

姓名:

班级:

成员:

中国象棋--人人对战设计

1 、问题定义

中国象棋在单击游戏可执行文件进入游戏,游戏系统初始化游戏界面,进入游戏系统后,用户可能单击棋子,再点击相应棋子坐标或棋子,实现棋子移动、吃棋子功能。实现人机对弈。用户在对弈中,可以实现悔棋、新游戏、退出游戏功能。系统的用例图如下所示:

图1系统用例图

2 、可行性研究

用户进入系统,进入游戏,把自己的电脑设为主机实现人机对弈。从功能上基本能满足用户的需求。性能稳定可靠。

3、需求分析

3.1象棋棋子走法规则和功能分析

(1) 中国象棋是双方在有着9调竖线和10条横线的棋盘上对弈,竖线和横线的交叉称为棋点或对弈点,每个棋子都是在棋点上行走,而不是在方格中行走。

(2) 河界将棋盘分成两等份,每一边都有一块有9个点组成的九宫,棋子“将”,“帅”和“士”只能在九宫内移动,并且“将”和“帅”每一步只可以水平或垂直移动一个棋点;“士”只能在九宫内移动,并且它每一步只可以沿着对角线移动一

个棋点;“象”必须一次沿着对角线方向走两个棋点,但它不能过河也不能跳过或穿越障碍,即“象”不能别眼,“马”没一步只可以水平或垂直移动两个棋点,但必须按对角线向左或向右移动。中国象棋的“马”不能跳过障碍,即马不能别腿。“车”可以水平或垂直方向移动入一个无障碍的点。“炮”移动起来和车类似,但它必须跳过一个棋子来吃掉对方的一个棋子。“兵”每步只能向前移动一个棋子过河以后,它便增加了向左右移动的能力,并不允许向后移动。

3.2 系统数据流图

(1)0层数据流图

图2 0层数据流图

(2)1层数据流图

图3 1层数据流图

(3)2层数据流图

图4 2层数据流图

3.3数据字典设计

3.4状态转换图

下图图5 状态转换图:

4、总体设计

4.1总体流程图和中国象棋功能模块

中国象棋游戏需要实现的基本功能应包括以下几个方面:(1) 提供棋盘和棋子;

(2) 设定棋子的走棋规则;(3) 可以悔棋、重来、退出;(4) 判断胜负。

根据对中国象棋游戏的功能分析,设计得到中国象棋游戏的总流程图如图6

图6总体流程图

4.2各部分功能流程图

4.2.1开始游戏

该功能为本游戏的最核心的部分,它实现了中国象棋游戏的最主要的操作,是其他功能的基础。

开始游戏流程图如图7所示:

5

5

图8 系统总体结构图

5.2 棋盘、棋子绘制的算法设计

本中国象棋有限的棋盘和棋子采用的都是图片,采用图片比较简单,不用绘制那么多条线,用图片来代替棋盘和棋子。建立坐标系,只需使用函数调用图片文件,把象棋图片有序的排列,再使用排列棋子的函数把棋子有序排列。其中,棋盘距页面左边距离为24,上面为56,棋盘一格为57,棋子直径为55,棋子间的距离为2,例如从上面开始,黑棋子“车”的坐标为(24,56),黑马为(81,56),红“车”的坐标(24,596),依此类推就可以计算各棋子的坐标,这样算法较易实现。

5.3 棋种走棋规则的算法设计

5.3.1“车”的走棋规则的算法设计

“车”,它只能走直线,且中间不能有任何棋子,设计时分为两种情况来考虑,一种是纵向行走;一种是横向行走。用if语句来判断实现,例如车纵向行走,首先,用if来判断棋子是否纵向行走,接着再用另一判断语句if来判断中间有没别的棋子。横向行走同理。如果棋子车符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设车的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图9所示:

图9 “车”的走棋规则算法设计流程图

5.3.2 “马”的走棋规则的算法设计

“马”,它只能走“日”字格,而且马腿不能被其它的棋子压到。设计时可

两种情况来考虑,一种是横向走两个棋点,纵向走一个棋点;一种是纵向走两个棋点,横向走一个棋点。用if语句来判断。首先,用if来判断棋子是否横向走两个棋点,纵向走一个棋点,接着再用判断语句if来判断马腿是否被其它棋子压着。纵向走“日”同理。如果棋子马符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设马的棋点坐标为(a,b),a为横坐标,b为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图10所示:

图10 “马”的走棋规则算法设计流程图

5.3.3 “卒”的走棋规则的算法设计

“卒”,它的行走规则分两种情况。一种是棋子没过河界,另一种是棋子过了河界。用if语句来判断,首先,用if语句来设定棋子没过河界,接着设定棋子在没过河界的情况下只能向前行走一个棋点;然后用if语句来设定棋子过了河界,紧接着设定棋子在过了河界的情况下只能向前、向左、向右行走一个棋点。如果棋子卒符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设卒的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图11所示:

图11 “卒”的走棋规则算法设计流程图

5.3.4 “将”的走棋规则的算法设计

“将”,它只能在“九宫”中行走,而且每次只能横着或者纵着行走一棋点。直接用if语句来判断,首先,用if来判断棋子是否是在“九宫”里行走,接着判断棋子是否是横向或纵向只走一个棋点。如果棋子将符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设将的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图12所示:

图12“将”的走棋规则算法设计流程图

5.3.5 “炮”的走棋规则的算法设计

“炮”,它只能走直线,且中间有且只能有一个棋子。假设现在坐标为(i,j),则算法设计流程图如图13所示:

图13“炮”的走棋规则算法设计流程图

5.3.6 “象”的走棋规则的算法设计

“象”,它只能走“田”字格,而且不能过河,象腿不能被其它的棋子压到。这样只有一种情况考虑,那就是纵向走两个棋点,横向也走两个棋点。用if语句来判断,首先,用if来判断棋子是否走"田"字格,而且不能过河,接着再用判断语句if来判断象腿是否被其它棋子压着。如果棋子象走动符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设象的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图14所示:

图14“象”的走棋规则算法设计流程图

5.3.7 “士”的走棋规则的算法设计

“士”,它只能在“九宫”中行走,而且每次只能斜着行走一格。这样只有一种情况来考虑,即纵向走一个棋点,横向走一个棋点。if语句来判断,如果棋子士符合以上的走棋规则,则可以走动,否则棋子强制放回原处。现在假设士的棋点坐标为(i,j),i为横坐标,j为纵坐标,再设x,y为棋盘内任意值。

算法设计流程图如图15所示:

图15 “士”的走棋规则算法设计流程图

6、编码

见附页。

7、运行结果测试与分析

下图是进入游戏主界面后的游戏界面。

图16 游戏主界面

7.1测试进入主界面后工具栏的各功能

进入游戏主界面,在主界面的工具栏中,分别有“悔棋”、”退出”“新游戏”功能按钮。可以点击“退出”结束游戏系统。在游戏过程中点击“悔棋”实现棋子返回上一步的位置。在游戏过程中点击“新游戏”结束当前的游戏,开始新的游戏。

7.2对“车”、“马”、“象”、“士”、“卒”、“炮”、“将”走法的测试

“车”的测试,拖动“车”使其隔棋子或按斜角线走动,结果“车”不能被移动,拖动其按直线在界面范围内上下左右移动,结果可以移动,但中间隔了棋子,其不能被移动。

“马”的测试,拖动“马”使其按上下左右方向在主界面中移动,结果不可能移动“马”。按向左或右走一格,再向上或下走二格时,其中上下左右没有棋子挡着时,可以移动,按向左或右走二格,再向上或下走二格时,其中上下左右没有棋子挡着时,可以移动,中间有棋子时,则移动不了。

“象”、“相”的测试,在主界面范围内,移动象、相向左或右走二格再向上

或下行两格(“田”字格),如果在“田”字中间的十字上有棋子,则象或相,移动不了。相反则可以移。拖动“象”、“相”按其它任意方向或方式走,棋子无法移动。

“士”、“仕”的测试,拖动“士”、“仕”“九宫”中斜向走一格,结果可以移动,相反,使其按上下左右移动则不可动,向“九宫”外走则棋子不动。

“炮”的测试,拖动“炮”纵、横行,若在纵、横行中,前方有一个棋子,在这个棋子前方有对方的棋子,则可以行走,吃掉对方的棋子。若纵、横方向没有棋子挡住,则可以纵、横走。拖动“炮”斜着走,则其不可移动。

“将”的测试,拖其在“九宫”中行走,当其不在“九宫”中行走时,将会停在原处,不能移动。在“九宫”中其可以纵、横、斜着行走。

“卒”、“兵”的测试,当其没有过河时,拖其向后、左、右行时,则其停在原处,不能移动,拖其向前行时,其可以移动。当其过的楚河汉界后,可以向前左、右行,当拖其向后行时,棋子无法向后移动。

通过对软件各功能的测试发现,该软件各功能都能实现,性能可靠!

附件:源代码(以上的设计思想是根据下面的代码分析的)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.util.*;

import java.io.*;

public class Chess{

public static void main(String args[]){

new ChessMainFrame("中国象棋:");

}

}

class ChessMainFrame extends JFrame implements ActionListener,MouseListener,Runnable{

//玩家

JLabel play[] = new JLabel[32];

//棋盘

JLabel image;

//窗格

Container con;

//工具栏

JToolBar jmain;

//重新开始

JButton anew;

//悔棋

JButton repent;

//退出

JButton exit;

//当前信息

JLabel text;

//保存当前操作

Vector Var;

//规则类对象(使于调用方法)

ChessRule rule;

/**

** 单击棋子

** chessManClick = true 闪烁棋子并给线程响应

** chessManClick = false 吃棋子停止闪烁并给线程响应*/

boolean chessManClick;

/**

** 控制玩家走棋

** chessPlayClick=1 黑棋走棋

** chessPlayClick=2 红棋走棋默认红棋** chessPlayClick=3 双方都不能走棋

*/

int chessPlayClick=2;

//控制棋子闪烁的线程

Thread tmain;

//把第一次的单击棋子给线程响应static int Man,i;

ChessMainFrame(){

new ChessMainFrame("中国象棋"); }

/**

** 构造函数

** 初始化图形用户界面

*/

ChessMainFrame(String Title){

//获行客格引用

con = this.getContentPane();

con.setLayout(null);

//实例化规则类

rule = new ChessRule();

Var = new Vector();

//创建工具栏

jmain = new JToolBar();

text = new JLabel("欢迎使用象棋对弈系统");

//当鼠标放上显示信息

text.setToolTipText("信息提示");

anew = new JButton(" 新游戏");

anew.setToolTipText("重新开始新的一局");

exit = new JButton(" 退出");

exit.setToolTipText("退出象棋程序程序"); repent = new JButton(" 悔棋");

repent.setToolTipText("返回到上次走棋的位置");

//把组件添加到工具栏

jmain.setLayout(new GridLayout(0,4));

jmain.add(anew);

jmain.add(repent);

jmain.add(exit);

jmain.add(text);

jmain.setBounds(0,0,558,30);

con.add(jmain);

//添加棋子标签

drawChessMan();

//注册按扭监听

anew.addActionListener(this);

repent.addActionListener(this);

exit.addActionListener(this);

中国象棋-游戏规则

棋盘和棋子 象棋是棋子共三十二个,分为红黑两组,各十六个,由对弈双方各执一组,兵种是一样的,分为七种: 红方:帅、仕、相、车、马、炮、兵 黑方:将、士、象、车、马、炮、卒 其中帅与将、仕与士、相与象、兵与卒的作用完全相同,仅仅是为了区分红棋和黑棋。 棋子活动的场所,叫做"棋盘",在长方形的平面上,绘有九条平行的竖线和十条平行的横线相交组成,共九十个交叉点,棋子就摆在这些交叉点上。中间第五、第六两横线之间未画竖线的空白地带,称为"河界",整个棋盘就以"河界"分为相等的两部分;两方将帅坐镇、画"米"字方格的地方,叫做"九宫"。 将或帅 移动范围:它只能在王宫内移动。 移动规则:它每一步只可以水平或垂直移动一点。 士 移动范围:它只能在王宫内移动。 移动规则:它每一步只可以沿对角线方向移动一点。 象 移动范围:河界的一侧。 移动规则:它每一步只可以沿对角线方向移动两点,另外,在移动的过程中不能够穿越障碍。 马 移动范围:任何位置

移动规则:每一步只可以水平或垂直移动一点,再按对角线方面向左或者右移动。另外,在移动的过程中不能够穿越障碍。 车 移动范围:任何位置 移动规则:可以水平或垂直方向移动任意个无阻碍的点。 炮 移动范围:任何位置 移动规则:移动起来和车很相似,但它必须跳过一个棋子来吃掉对方的一个棋子。 兵 移动范围:任何位置 移动规则:每步只能向前移动一点。过河以后,它便增加了向左右移动的能力,兵不允许向后移动。 胜、负、和 对局中,出现下列情况之一,本方算输,对方赢: 帅(将)被对方"将死",即被对方将军却无法应将; 自己宣布认输; 走棋超时; 走棋时循环反复向对方将军三次,违反"不得将三将"的规定。 出现以下情况,算和局: 一方提议作和,对方同意; 双方走棋出现循环反复达三次,符合"不变作和"的规定,双方又不愿变着时。

中国象棋比赛规则

2012年学院女子五子棋比赛规则 一、比赛宗旨 遵循友谊第一,比赛第二的原则,讲究棋风、棋德,赛出风格,比出水平。 二、赛制与判决标准 1、赛制:比赛采用单败淘汰制,由抽签决定比赛场次。 2、判决标准:每轮比赛通过双方选手猜子(单双数)来决定谁执黑,执黑的选手先下,以后每盘棋交替执黑,先赢满3盘的选手胜出,对手则被淘汰。 (在下棋的时候,如出现活三或四的情况,需向对方作一下提示;如果没有作提示,而照成对手漏判的,对手可以提出悔棋;如果黑方在禁手处落子,白方可以向黑方提出,则黑方这手棋可以重下,白方如果不向黑方提出则视作认同。) 3、本次比赛设个人冠军、亚军及参与奖。 基本规则 1) 黑先、白后,从天元开始相互顺序落子。 2) 白棋第一手应在天元为界自己一侧布子,之后双方可任意行子。 3) 最先在棋盘横向、竖向、斜向形成连续的相同色五个棋子的一方为胜。 4) 黑棋禁手判负、白棋无禁手。黑棋禁手包括“三、三” “四、四” “长连”。黑方只能“四、三”胜。 5) 如分不出胜负,则定为平局。 6) 对局中中途退场均判为负。 7) 五连与禁手同时形成,先五为胜。 棋型说明 1) 长连:在一条直线或斜线上,连续下成五个以上的棋型 2) 活三:在一条直线或斜线上,由三个子构成的,必须防守否则将成为“活四”导致速胜的棋型。三只有下面两种棋型结构:

3) 活四:指在一条直线或斜线上,由连续的四个字所构成的,无论对方怎样防守,只要再走一手棋将必定成为五连的棋型: 4) 四:在一条直线或斜线上,由四个同色子构成的,必须防守否则下一步立刻成为“五连”导致速胜的棋型。活四也是四之一。 特殊规则 黑棋先行的优势很大。因此,在五子棋中,对黑棋做了禁手限制。 禁手:对局中禁止使用的着法,黑棋禁手包括“三三禁手”“四四禁手”和“长连禁手”,白棋无禁手。 禁手的判断 1) 长连禁手:当黑棋走一步棋,形成长连棋型,则此点为“禁手” 2) 三三禁手:当黑棋走一步棋,同时形成两个或两个以上的“活三”且没有形成“五连”时,那一步棋就是黑棋禁手。 3) 四四禁手:当黑棋走一步棋,同时形成两个或两个以上的“四”且没有形成“五连”时,那一步棋就是黑棋禁手。 胜负判断 胜局: 1) 最先在棋盘上形成五连,并得到系统认可的一方为胜。白棋长连视同五连。 2) 黑方五连与禁手同时形成,禁手失效,黑方胜。 3)黑方被迫形成禁手,黑方输。 4) 对局中,一方出现下列情况之一,系统判对方胜。 (1)超过规定时限者; (2)一方宣布认输者; (3)中途退出比赛者即逃跑者。 和局: 1) 对局双方一致同意和棋。

2019年全国象棋锦标赛(个人)竞赛规程

年全国象棋锦标赛(个人)竞赛规程 一、主办单位:国家体育总局棋牌运动管理中心、中国象棋协会 二、承办单位:江苏省棋类运动协会、无锡市体育局、无锡市惠山区文化体育和旅游局、无锡弈友文化体育传播有限公司 三、协办单位:无锡市棋类协会、无锡市惠山区棋类协会 四、竞赛日期:男子乙组:月21日—日;男子甲组和女子组:月25日—月日。 五、竞赛地点:江苏省无锡市。 六、参赛单位:各省、自治区、直辖市、计划单列市体育局、行业体协和经主办单位核准的单位。 七、竞赛项目:男、女个人赛。 八、参赛资格 (一)各队参赛棋手须为年度注册棋手。 (二)男子 .甲组:年全国象棋锦标赛(个人)男子甲组前名棋手;年男子乙组前名。 .乙组:年全国象棋锦标赛(个人)甲组名(含)以后棋手和其他资格参赛棋手。 (三)女子:年全国象棋锦标赛(个人)女子组前名棋手及其他资格参赛棋手。 (四)其他资格 - 1 - / 6

全国象棋等级赛男子前六名、女子前三名。 年全国象棋青年锦标赛男、女个人前三名。 年全国象棋少年锦标赛岁、岁组男、女个人冠军。 .中国象棋协会指定的有关比赛资格人选。 .截至年月日男子等级分在以上(含)、女子等级分在以上(含)的棋手、国家大师及特级大师,具有参赛资格,每人交参赛服务费元。 .参赛单位可增报男、女各名具有“三级运动员”(含)以上或“棋协大师”技术等级称号的棋手参加比赛,交参赛服务费元。报名时须交验等级证书复印件并注册。 (五)参加男、女两个组别比赛的单位可报领队、教练各人,参加一个组别比赛的单位可报领队或教练人。 九、竞赛办法 (一)执行中国象棋协会审定的《象棋竞赛规则》()。 (二)赛制和轮次 .男子乙组:采用轮积分编排,第轮后晋级前名、第轮和第轮后各晋级前名,共名棋手晋级。 .男子甲组:采用一局单败淘汰赛,先后手抽签确定(和棋加赛不再抽签,依次换先直至比赛结束,如需进入附加赛采用和棋黑胜时,应由第一次抽签中没机会选择先后手的一方选择先后手),胜者晋级; 如和棋,加赛一局快棋;快棋加赛如和棋,加赛区分名次办法如下: ()比赛:则进行附加赛,和棋黑胜。

中国象棋教程

如何学习训练象棋技术 关于如何下好象棋----节选自《弈林新编》(杨官璘编著) 象棋是一种充满挑战的艺术,可以训练思考能力,因而广受大众喜爱.随着我国文化体育的发展,棋艺水准也不断地提高.但是,对一个象棋爱好者或者棋手来说,怎样才能在短期内提高棋艺呢?这就成为许多象棋爱好者深感兴趣的课题,这里谈谈我个人的一些看法,供大家参考. 第一节研究象棋的主项与副项 象棋艺术,大致上可以分为全盘对弈、让子局对弈、布局、中局、实用残局、排局等项目.在这些项目中,研究的时候应该以那一项为主呢? 以住,有些人专门以双傌来取胜棋艺较差的,并且把让双傌局当成秘诀.因此,在这些人看来,让双傌局是他们研究的主要对象.又有些人喜欢研究排局,很少下全盘对弈,认为排局的杀法比全盘对弈的杀法还要精采,于是排局就成为这些人的主要研究对象.但是,象棋比赛是以全盘对弈为准则的,大多数的象棋爱好者,都是以提高全盘的功力为目标.所以,研究全盘对弈,应作为主要的项目(以下简称「主项」),其余则可称为辅助项目(简称副项).主项与副项的关系如何呢?总的说来,一个棋手必须具备全盘对弈功力,然而全盘对弈功力是由多种因素构成的.让子对弈、布局构思、中局对杀、残局运筹以及排局研究等等,都是提高全盘功力所不可缺少的.以排局来说,它的形势是实战所不能弈成的,但是它那些运子取势和解杀还杀的技巧,对于实战有参考价值.例如以「七星聚会」排局来说,通过研究,可以学习兵和车卒的互相牵制的技巧,也能充实全盘对弈的功力. 关于让双傌对弈,多数是高低手的对弈.让方因为少双傌需要采取快速的进攻和避免同等的兑子.被让方则相反,主要是先守后攻和巧妙地兑子,或者以持久战来造成多子的优势.总之,这种对弈的战略战术,可以给全盘对弈作为参考.尤其是在全盘对弈中兑去双傌的,如果熟悉双双傌局的,对于双车双炮的运,总有帮助. 在提高全盘对弈功力的过程中,常常会在某一方面出现主要薄弱环节,影响到全盘对弈功力的提升.因此,如何克服这个薄弱环节,也就成为棋手在某个阶段研究的主要问题.克服了这个薄弱环节,全盘对弈的功力就能提高一步.克服一个薄弱环节,可能又出现另一个薄弱环节,棋手要及时发现它,并努力克服.全盘对弈的功力就是在不断克服薄弱环节的过程中提高的. 全盘对弈大致分为布局、中局、残局等三个阶段,一般来说,这些参考资料都可以在棋书里找到,尤其是布局和实用残局更多.关于实用残局,特别是例杀例和的残局,基本上都是棋手们从实践中归纳出来的经验,而且有许多局势己成定式.研究的时候,可以反覆推敲,从而加深印象,记住基本的变化.同时,还要理解它的要领,即胜或和的关键所在.换句话说,既要知其然,还要知其所以然,才能有利于触类旁通. 研究布局,当然也可以参考棋谱里的资料,但布局和实用残局不同,随着时代的演进,象棋的布局也在不断地发展.目前的各种布局,已经比过去有了很大的进步,有些布局在以往看来,是「先进」的,但现在便不一定了. 对弈时采取何种布局,常常因人而异.不同的对手采取不同的布局,即使是同一对手,也不宜一成不变.在上次对中,这种布局取得了优势,在下次对弈时再采取这种布局,就不一定能占优势,因为对方也在研究对策.所以,没有什么绝对「先进」的布局.各种布局的优劣都是相对的,因时因人而起变化的.但是,并不能因此而不去研究前人和别人的布局,只是在研究的时候,要着眼于创新,分析运子的度数是否严密,有无迁就的着法,结合自己的实践,注意能否符合实战的问题.

中国象棋竞赛规则(1999版)

中国象棋竞赛规则 (1999年版) 国家体育总局审定 中国象棋协会编写 上海辞书出版社出版 序 1987年版<<中国象棋竞赛规则>>问世至今已有十来个年头,这部规则以象棋运动的发展和技术水平的提高,起到了积极的作用.但随着时代的发展,旧规则已不能适应新的时代的发展和节奏.在广大棋手.裁判和象棋爱好者的强烈呼吁下,中国象棋协会于1998年3月在云南昆明.7月在北京.10月在江苏泰州相继召开三次会议,象棋界有代表性的权威们都出席了会议,经过认真讨论和研究,数易其稿,一部新的规则终于定稿了. 新规则是在旧规则的基础上修订完成的.此次修改的主要宗旨是简洁明了,易于操作.它是否达到目的,有待于在实践中验正.恳请象棋界人士提出宝贵的意见,以便不断改正和完善. 新规则出台了,希望棋手和裁判们能很好地理解条文,吃透精神,准确而又灵活地运用它.新规则不可能就棋赛中所有可能出现的情况及所涉及的问题都作出具体规定.如所遇情况无明确条文可循,则参照规则中的原则精神,引伸出正确的处理决定.裁判员公平.公正执法的原则是至关重要的,裁判员的判断能力和应变能力也是必不可少的.好规则和高水平的裁判缺一不可. 参加新规则修订工作的有:胡荣华.季本涵.朱宝位.王廷文.柳大华.刘殿中.刘晓放.李雪.韩宽.王孔兴.蔡伟林.由季本涵.王廷文.韩宽,李雪执笔.以上各位为新规则的及早出台倾注了心血. 在此,谨向对新规则的修改和出版给予关注的各有关领导.热心象棋的各界人士及乐意接受出版新规则的上海辞书出版社表示衷心的感谢! 中国象棋协会秘书长胡海波 1998年11月

第一章行棋规定 第1条棋盘和棋子 1.1象棋盘由九道直线和十道横线交叉组成。棋盘上共有九十个交叉点,象棋子就摆在和活动在这些交叉点上。 棋盘中间没有划通直线的地方,叫做“河界”;划有斜交叉线的地方,叫做“九宫”。 九道直线,红棋方面从右到左用中文数字一至九来代表;黑棋方面用阿拉伯数字1至9来代表。 1.2棋子共有三十二个,分为红、黑两组,每组共十六个,各分七种,其名称和数目如下: 红棋子:帅一个,车、马、炮、相、士各两个,兵五个。 黑棋子:将一个,车、马、炮、象、士各两个,卒五个。 1.3对局开始前,双方棋子在棋盘上的摆法见下图(印刷体棋图规定:红方棋子在下,用阳文;黑方棋子在上,用阴文)。 1.4比赛用的标准棋盘,应每格都为正方形,每方格长宽均应为3.2至4.6cm。每个平面圆形棋子直径应为 2.7至 3.2cm,大小与棋盘合适配套。棋盘和棋子底色,均应为白色或浅色。棋盘上直线和横线应为红色或深色,四周应有适当空白面积。棋子面色分为红黑两组,字体和圆框应当醒目。 演示比赛用的大棋盘为直式,红方在下,黑方在上。棋盘和棋子大小,应配合场所相应增大。 第2条走棋和吃子 2.1对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。 轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。 双方各走一着,称为一个回合。 2.2各种棋子的走法如下: 帅(将)每一着只许走一步,前进、后退、横走都可以,但不能走出“九宫”。将和帅不准在同一直线上直接对面,如一方已先占据,另一方必须回避。 士每一着只许沿“九宫”斜线走一步,可进可退。 相(象)不能越过“河界”,每一着斜走两步,可进可退,即俗称“相(象)走田字”。当田字中心有别的棋子时,俗称“塞(相)象眼”,则不许走过去。 马每着走一直(或一横)一斜,可进可退,即俗称“马走日字”。如果在要去的方向有别的棋子挡住。俗称“蹩马腿”,则不许走过去。 车每一着可以直进、直退、横走,不限步数。 炮在不吃子的时候,走法同车一样。 兵(卒)在没有过“河界”前,每着只许向前直走一步;过“河界”后,每着可向前直走或横走一步,但不能后退。 2.3走一着棋时,如果己方棋子能够走到的位置有对方棋子存在,就可以把对方棋子吃掉而占领那个位置。只有炮吃子时必须隔一个棋子(无论是哪一方的)跳吃,即俗称“炮打隔子”。 除帅(将)外其他棋子都可以听任对方吃,或主动送吃。吃子的一方,必须立即把被吃掉的棋子从棋盘上拿走。 第3条将死和困毙 3.1一方的棋子攻击对方的帅(将),并在下一着要把它吃掉,称为“照将”,或简称“将”。“照将”不必声明。 被“照将”的一方必须立即“应将”,即用自己的着法去化解被“将”的状态。 如果被“照将”而无法“应将”,就算被“将死”。 3.2轮到走棋的一方,无子可走,就算被“困毙”。 第4条胜、负、和 4.1对局时一方出现下列情况之一,为输棋(负),对方取胜: 4. 1.1帅(将)被对方“将死”。

中国象棋基本战术(新)

中国象棋基本战术 ——海保荣整理编辑 中国象棋博大精深,从开局、中局到残局,双方对弈过程中,优劣之间的转化,瞬息万变,精彩纷呈...... 其中充满了智慧的较量,和博弈艺术的升华之美!若想在方寸棋盘上能够骁勇善战,所向披靡,也非易事。需要精通棋道,而且要有顽强的意志。不但要敢于斗争,而且还要善于斗争。 而善于斗争,就是要掌握象棋的内在规律。具体说,就是要掌握象棋对弈的博弈艺术。其中最基础的就是中国象棋的基本战术。只有掌握了这些基本战术,那么就能够有效地在象棋对弈过程中,组织有效的进攻和防御。这些基本战术包括:捉双战术, 闪击战术, 双重威胁, 腾挪战术, 吸引战术, 引离战术,迂回战术, 顿挫战术, 兑子战术, 封锁战术, 隔断战术, 弃子战术,先弃后取战术,借力战术,运子战术,困子战术, 拦截战术, 牵制战术, 解杀还杀等等。 (一)捉双战术 捉双战术是象棋对弈过程中,最为常见的战术。它包括一个子同时捉对方的两个子,或者因为移动一个棋子,而出现自己的两个棋子,同时捉对方的两个棋子。捉双战术是谋取子力优势的主要手段。车马炮这三个强子,在捉双战术运用中,最为活跃。其他如兵、卒,仕、相、将、帅等也都有捉双的机会。 捉双战术应用实例:

(二)闪击战术 在象棋对弈过程中,闪击是一种比较经常出现的战术。在某种局面情况下,闪开一子,露出后面的棋子,向对方进行攻击。这种方式被称为“闪击”。也有的书上称做“挪”。适用于车马炮等强子之间配合组合运用。但有时候,也可以由车炮与相、兵配合使用。由于前面闪开的棋子往往同时具有捉、献、拦、垫将等作用,所以,实际上闪击同时具有双重威胁的作用,使对手常常首尾不能兼顾,难于防范。所以说,闪击战术具有一定的突击能力,和突防能力。 闪击战术应用实例:

象棋游戏规则

中国象棋比赛规则 一、基本规则 遵循友谊第一,比赛第二的原则,讲究棋风、棋德,赛出风格,比出水平。 二、赛制与计分 1.赛制:小组积分循环,取前2名。然后进行交叉比赛。 (1)小组积分循环:赛2盘,胜者积3分,和积1分,负/弃权不积分。小组积分相同看胜负关系,胜负关系循环看净胜局数。 (2)交叉比赛:赛2盘,若两盘平局加赛一局。比赛猜先,红先黑后,和棋先手算负。 (3)比赛开始5分钟未到指定地点参赛的视为弃权,积0分,判参赛对方胜,胜者积2分。 (4)已经排好对阵的双方,如果有特殊情况不能按规定时间参赛,请于提前告知,以便及时协调调整。 2.比赛用时:任意时间(对于特殊情况酌情处理)。 三、胜负判定 (1)对局时,一方出现下列情况之一,就算输棋,对方得胜: 帅(将)被对方“将死”; 走棋后形成帅(将)直接对面; 被困毙(轮到走棋的一方,无子可走,就算被“困毙”); 长将、长吃;

自己宣布认输; 在同一棋局中,三次“犯规; 在对局中拒绝遵守本规则或严重违反纪律。 (2)对局时,出现下列情况之一,就算和棋: 属于理论上公认的双方均无取胜可能的局势; 提议作和,应使双方机会均等。只要是一方提和,另一方已宣告同意,双方都不许反悔; 双方走棋出现循环反复三次,符合“棋例”中“不变作和”的有关规定。 四、行棋规则 1.一着棋走了以后,不得再予更改。落子生根,以手离开棋子为准。 2.触摸对方的棋子,就必须吃掉那个棋子,只有当己方的任何棋子都无法去吃时,才可以另行走子。 3.不准摸子,否则按技术犯规论处。 五、犯规 对局时,一方出现下列情况之一,即为犯规: 1.在对方走棋时间内,无故提出问题,或有其他构成干扰对方注意力的行为; 2.提议作和经对方拒绝后,连续提出; 3.摸触了己方不可能走动的棋子; 4.摸触了对方的棋子,而己方的任何棋子都无法吃掉它; 六、判决标准 1.循环赛结束后,每组积分最高者胜出。

1999中国象棋竞赛规则节选手机版

第六章棋例总纲 第25条棋例释义 25.1 对局中有时出现双方着法循环不变的重复局面。椐以裁处这种局面的规则条例,称为“棋例”。 25.2 长将、长杀、长捉、一将一杀、一将一捉、一杀一捉等循环重复的攻击手段,统称为“禁止着法”。 闲着(含:兑、献、拦、跟)、数将一闲、数杀一闲、数捉一闲等着法,不论是否循环重复,统称为“允许着法”。 25.3 车、马、炮、过河兵(卒)、士、相(象),均算“子力”。帅(将)、未过河兵(卒),不算“子力”。“子力”简称“子”。 子力价值是衡量子力得失的尺度,也是判断是否“捉子”的依据之一。原则上,一车相当于双马、双炮或一马一炮;马炮相等;士相(象)相等;过河兵(卒)价值浮动,一兵换取数子或一子换取数兵均不算得子。 第26条棋例总则 26.1 在任何情况下,均不允许单方面长将。 26.2 双方均为允许着法,双方不变作和。 26.3 双方均禁止着法(不包括一方为长将),双方不变作和。 26.4 一方为禁止着法,另一方为允许着法,应由前者变着,不变判负。

第27条棋例通则 27.1 允许帅(将)本身步步叫吃对方的棋子,按闲着处理。 其他棋子和帅(将)同时捉吃或借帅(将)之力捉吃对方的棋子,均按捉处理。 27.2 兵(卒)本身捉吃对方的棋子(不含将、杀),按闲处理;如形成相互长打局面,则应按捉处理。 27.3 占据防守要点,立即构成简明和棋,附带产生的捉士相(象),按闲处理。 27.4 凡走子兼具多种作用时,应从重称呼和裁处如杀兼捉,按杀;捉兼兑,按捉等,依此类推。 第28条术语解释 28.1 将 凡走子直接攻击对方帅(将)者,称为“照将”,简称“将”。 28.2 杀 凡走子企图在下一着照将或连续照将,将死对方者,称为“杀着”,简称“杀”。 28.3 捉 凡走子后能够造成在下一着(包括从下一着开始运用连续照将或连续交换的手段)吃掉对方某个无根子,称为“捉”。 28.4 打 将、杀、捉等攻击手段,统称为“打”。 28.5 兑

象棋活动方案

象棋比赛活动方案为丰富职工的业余生活,陶冶职工的情趣和爱好,焦化公司团总支决定于五月份举行中国象棋比赛,通过比赛,促进公司的精神文明建设,丰富职工的业余文娱生活,增进职工的友谊,提高职工的棋艺,切磋棋艺,共同提高。促进职工之间的棋艺交流与合作,加强职工之间的交流、沟通、互动,为棋艺爱好者提供一个展现自我的机会。 一、组织单位 焦化公司团总支 二、比赛时间、地点时间:5月17号上午9:00 比赛地点:职工之家活动室 三、人员安排 负责人:冀鹏州、常开峰 裁判:王仰奎、史九援、梁晶、李虹明 四、参赛对象 新型建材厂、焦化公司机关、供电车间、洗煤车间、备煤筛焦车间、炼焦车间、化产车间 五、比赛规则(一)每场比赛时间为30分钟,选手每步行棋时间为1分钟,超过3分钟不行棋的,如无法分出胜负(未出现和棋情况下),不行棋方判负。 (二)对局中出现下列情况为和棋。 1、一方在自己的行棋时间内提议作和,另一方表示同意 2、双方走棋在连续20个回合中,双方都没有吃过一个棋子或照将。 3、和棋后,方可再次对垒一次决定胜负。 (三)在同一棋局中三次犯规者该局判负。 1、对方行棋时,无故提出问题,或有意干扰对方注意力的行为。 2、在对局中,不够和棋条件,提议作和经对方拒绝后,连续提出。 3、摸触了双方不可能走动的棋子,规则规定的其他犯规。 (四)胜负判定:对局时,一方出现下列情况之一,就算输棋,对方得胜。 1、帅(将)被对方将死 2、帅(将)被将军,无法避免地同对方将(帅)直接对面

3、自己宣布认输 六、比赛方式 1、所有参赛选手抽签进行淘汰赛,采取三局二胜制。 2、第一轮为淘汰赛,采取三局二胜制,第一轮选出7名选手进入下一轮。 3、第二轮为淘汰赛,采取三局二胜制,第二轮选出4名选手进入下一轮。 4、第三轮为循环赛,采取三局二胜制,采取积分制,积分多的获胜,如果积分相同的,看小分赛出优胜者。 七、其他注意事项 1、各参赛人员必须提前十分钟到达比赛现场,比赛开始10分钟参赛人员未到达比赛现场,当作自动弃权处理。 2、比赛完的参赛人员不得离开现场,必须在比赛场地等候 工作人员作出下一轮的比赛安排。 3、非参赛人员可以在比赛人员旁边观看,但必须遵守会场纪律,不能大声喧哗或其他方式干扰比赛选手。 4.非参赛人员不能以任何方式提醒参赛选手。 5.如比赛有异议时,参赛选手可向象棋负责人提出。 焦化选煤车间团支部 2013年5月12日篇二:教职工象棋比赛活动方案 蒙家岭九年制学校教职工象棋比赛活动方案 一、活动目的: 丰富和活跃校园文化生活,增强教师之间的友谊和竞争意识。二、活动时间: 注:活动时间如果与教学时间有冲突,可以另行安排,以保证正常教学。三、比赛地点: 教师宿办楼四、参与选手: 全体教职工五、比赛方式: 以随机抽签先后顺序编号,首轮、半决赛、决赛一律实行淘汰制(一局定胜负,和则加赛,加赛时和棋,黑胜)。 初赛八组对决顺序:a1-b1、a2-b2、a3-b3、a4-b4、a5-b5、a6-b6、a7-b7、a8-b8、a9-b9、a10-b10、a11-b11、a12-b12。

中国象棋入门教程1

.

“中国象棋”进课堂,校本课程创特色。 “校本课程”这个概念,根据我们的理解,包含两层含义:一是使国家课程和地方课程校本化、个性化,即学校和教师通过选择、改编、整合、补充、拓展等方式,对国家课程和地方课程进行再加工、再创造,使之更符合学生、学校和社区的特点和需要;二是学校设计开发新的课程,即学校在对本校学生的需求进行科学的评估,并充分考虑当地社区和学校课程资源的基础上,以学校和教师为主体,开发旨在发展学生个性特长的、多样的、可供学生选择的课程。我们北岗学校摸索开发的校本课程就属于第二种情况,也就是学校自己设计开发新的课程。 伟大的革命导师列宁的“象棋是智慧的体操”这一著名论断给我们指明了方向。我们想到了中国象棋。象棋是我国人民创造的优秀文化遗产之一,源远流长,历千年而日趋兴盛,有着深厚的群众基础。它不仅具有很强的娱乐功能,而且它以红黑棋代表两军对垒的智力竞技,是一门开发智慧、提高智力水平的综合艺术。前苏联教育家苏霍姆林斯基曾经这样认为“不下棋就不可能充分增强智能和记忆力,下棋应当作为智能修养的科目之一列入学校教学大纲。”受到苏霍姆林斯基这一话语的启发,一个大胆的设想应运而生,那就是把象棋列入我校的教学活动中。象棋慢慢进入课堂,也慢慢深入学生心中。课余饭后,校园内的凉亭内、石板棋盘上、教室

内的讲台上、课桌上,你随时可看到专心对弈的小棋手,一边的旁观者也是那样的安静。校园里很少再见到因没有适合的娱乐活动而追逐打闹的学生。象棋课程的开发,丰富了学生的课余生活,也为我们学校构筑了一道亮丽的风景线。 中国象棋目录 第一单元象棋入门基础知识 1、现代象棋的情况 2、认识棋盘、棋子 3、象棋的基本技术 第二单元介绍各子的价值与运用原则 ⒈车的价值及运用原则 ⒉马的价值及运用原则 ⒊炮的价值及其运用原则 ⒋兵卒的价值及其运用原则 ⒌士象的价值及其运用原则 ⒍将帅的价值及其运用原则 第三单元简单棋规 1、长将 2、长杀 3、长捉 4、象棋术语

中国象棋的规则

中国象棋的规则 走棋和吃子 1、对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走一着。双方各走一着,称为一个回合。 2、各种棋子的走法 ?帅(将):帅和将是棋中的首脑,是双方竭力争夺的目标。它只能在"九宫"之内活动,可上可下,可左可右,每次走动只能按竖线或横线走动一格。帅与将不能在同一直线上直接对面,否则走方判负。 ?仕(士):仕(士)是帅(将)的贴身保镖,它也只能在九宫内走动。它的行棋路径只能是九宫内的斜线。 ?相(象):相(象)的主要作用是防守,保护自己的帅(将)。它的走法是每次循对角线走两格,俗称"象走田"。相(象)的活动范围限于"河界"以内的本方阵地,不能过河,且如果它走的"田"字中央有一个棋子,就不能走,俗称"塞象眼"。 ?车:车在象棋中威力最大,无论横线、竖线均可行走,只要无子阻拦,步数不受限制。因此,一车可以控制十七个点,故有"一车十子寒"之称。 ?炮:炮在不吃子的时候,走动与车完全相同。 ?马:马走动的方法是一直一斜,即先横着或直着走一格,然后再斜着走一个对角线,俗称"马走日"。马一次可走的选择点可以达到四周的八个点,故有"八面威风"之说。如果在要去的方向有别的棋子挡住,马就无法走过去,俗称"蹩马腿"。 ?兵(卒):兵(卒)在未过河前,只能向前一步步走,过河以后,除不能后退外,允许左右移动,但也只能一次一步。 3、吃子:任何棋子走动时,如果目标位置上有对方的棋子,就可以把对方的棋子拿出棋盘,再换上自己的棋子(即"吃子")。只有炮的吃子方式与其他子不同:炮与被吃子之间必须隔一个棋子,进行跳吃,俗称"架炮"或"炮打隔子"。 《棋盘和棋子》 象棋是一种双方对阵的竞技项目。棋子共有三十二个,分为红黑两组,各有十六个,由对弈的双方各执一组。兵种是一样的,分为七种: 红方:红方有帅一个,仕、相、车、马、炮各两个,兵五个。 黑方: 黑方有将一个,士、象、车、马、炮各两个,卒五个。 其中帅与将;仕与士;相与象;兵与卒的作用完全相同,仅仅是为了区别红棋和黑棋而已。 棋子活动的场所,叫作"棋盘"。在长方形的平面上,绘有九条平行的竖线和十条平

中国象棋比赛规则

中国象棋比赛规则 1. 基本规则:遵循友谊第一,比赛第二的原则,讲究棋风、棋德,赛出风格,比出水平。 2. 时间规定:比赛时用秒表或手表计算双方走棋时间。30分钟之内自由走棋,没有时 间限制;超过30分钟后,每方走一着棋的时间不得超过30 秒,如超出30秒,判技术犯规一次,两次技术犯规后判负。 3. 对弈:在对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜负或走成和 棋为止。 4. 胜负判定: 对局时,一方出现下列情况之一,就算输棋,对方得胜: (一) 帅(将)被对方将死 (二) 帅(将)被将军,无法避免地同对方将(帅)直接对面 (三) 被困毙 (四) 同一局棋技术犯规两次判负 (五) 自己宣布认输 5. 对局时,出现下列情况之一,就算和棋 (一)属于理论上公认的双方均无取胜可能的局势; (二)提议作和,应使双方机会均等。只要是一方提和,另一方已宣告同意,双方都不 许反悔。

(三)双方走棋出现循环反复已达三次,符合棋例中不变作和的有关规定,可由任何一 方提议作和,经审查局面属实,即使另一方不同意,裁判员也有权判为和棋。如 双方都没有提和,而循环反复局面还在延续,裁判员有权不征得双方同意就决定 判和。 6、赛制: (一)团体赛:每个班选派5名选手,5对5进行比赛。开始仍采用二进一淘汰制,每位 选手每赢一局为学院积2分,平一局积1分,输一局积0分,最后累计得分最多的 学院胜出,进入下一轮比赛。直至决出前四名。后采用循环赛,每个学院需与其 他三个学院各赛一局,最后总积分高者获胜。 7、行棋规则 (一)一着棋走了以后,不得再予更改。落子生根,以手离开棋子为准。 (二) 触摸自己方面的哪个棋子,就应走哪个棋子,除非所触摸的那个棋子,按行棋规定 根本不能走,才可以另走别的棋子。 (三) 触摸对方的棋子,就必须吃掉那个棋子,只有当己方的任何棋子都无法去吃时,才 可以另行走子。

中国象棋入门教案

乌鲁木齐第106中学少年宫2016年 中国象棋组 活 动 教 案

中国象棋教案 第一课时 一、教学内容:让学生在实际观察中了解、学习中国象棋 二、教学目标: 1、了解象棋的起源与发展及象棋的功能 2、初步学习象棋的下法及布局 教学重点难点:象棋的下法、行棋与吃子 三、教学过程 一、教师讲解引入课题 象棋融体育、艺术、科学、文化于一身,是中国传统文化园地中的一朵奇葩。引人入胜的对局,构思精巧的排局,往往令人叫绝,它就像一曲悠扬动听的音乐,一幅赏心悦目的图画,供人们去品味、去欣赏,让人百听不厌,百看不烦,余味无穷。 二、教师讲解象棋的起源与发展 1、象棋是中华民族的文化瑰宝,趣味浓厚,历史久远。大量文献证明,玩制象棋始于唐,定型于宋,至今已有上千年的历史。 2、教师讲关于象棋起源有趣的传说。 3、教师讲关于象棋的演变历程及象棋棋子的演化。 三、棋子于棋盘 每小组发一幅象棋,让学生们熟悉象棋棋子于棋盘。 棋子和棋盘是象棋的重要组成部分。象棋棋子共有三十二个,分为红黑两组,各有十六个,由对弈的双方各执一组。

对弈开始之前,红黑双方应把棋子摆放在规定的位置。 四、象棋规则 教师:象棋规则比较复杂,从1956年全国比赛制定了正式规则之后,曾几经修改,目前使用的是1999年的象棋规则。 教师再讲解输棋、和棋规则。 五、行棋与吃子 让学生以小组为单位,摆放好棋子,可以简单开局对弈,教师边巡视边讲注意事项。 1、车走直线。 2、炮翻山。 3、马走日。 4、象飞田。 5、帅士不能出九宫。 6、兵、卒能进不能退,过河以后横直动。 六、课堂小结。

第二课时 教学内容:认识棋盘和棋子 教学目标:1、了解棋盘的构成和棋子。 2、培养下中国象棋的兴趣。 教学准备:中国象棋一副 简单教学过程: 一、组织: 1、课堂常规教育。课前要准备好象棋,上课时先听老师讲象棋知识,学到一些本领后再打开象棋下。 2、可以先让会下棋的学生简单介绍一下。 师介绍:这个学期我们要学习的是中国象棋。走象棋就像是两军作战,双方都要充分调动自己的兵力杀死对方的最高首领,一旦对方的将或帅被杀死,对方就全军覆没,我方就获胜了。 二、认识棋盘: 1、棋盘,是完全相同的两部分相对组成的,就一方来说是,是由五条横线和9条竖线交叉而成。 2、中间有一条空白的横道,象征着界限,写着“楚河”“汉界”,叫“河界”。合起来就是横十竖九的完整棋盘了。“河界”中间虽然没有线,但是不论横走或者斜走都和有线是一样的。只是有些子不能过河。 3、每一方直线的标法,从右往左,依次为1-9路,双方刚好相反。 4、双方阵营的一、三路横线与4、6路直线的方框内有两条对角线,组成一个“米”字,称为“九宫”。 将(帅)士的活动范围不能走出“九宫”。 三、认识棋子: 考虑到很多学生认识棋,可以用比赛的方式进行认棋比赛。 四、学生互相介绍,拿出棋盘对照自己的,进行巩固介绍记忆。

中国象棋打谱的解释

Chess.Java 该Java文件生成的类负责创建程序的主窗口。该类含有main方法,程序从该类开始执行。 ChessBoard.java 该文件生成的类负责创建“对弈棋盘”,用户可以用鼠标拖动棋盘上的棋子,当松开鼠标是则将棋子放在棋点。该棋盘不允许用户将棋子拖放到非棋点上。棋盘上的rule对象负责判断走棋是否遵守了中国象棋的规则,例如“马”走日,“象”走田,“小卒”一去不回头等等。如果用户的走法不符合规则,棋子将被放回原处,重新走着。棋盘的MakeChessManual对象负责记录棋谱,当用户选择“保存棋谱”菜单项时,可以将当前棋谱保存成文件。另外,该棋盘还能进行悔棋,悔棋将不被记录到棋谱。 Chesspoint.Java 该文件生成的类负责创建棋点对象。棋点对象可以判断该棋点上是否有棋子,指定当前棋点上的棋子,获取当前棋点上的棋子,移动当前棋点上的棋子。ChessPiece.java 该文件生成的类负责创建棋子对象。并绘制棋子的外观。棋子对象可以获取本身的颜色,大小,名字,也可以设置和获取本身的类别,即红棋和黑棋。MakeChessManual,java 该文件生成的类负责创建记录棋谱的对象,该对象可以将棋谱记录到一个链接表中,并在一个文本区显示棋谱。当对弈者悔棋时,该对象将修改棋谱,并更新文本区域的信息。 Ruler.java 该文件生成的类负责创建“走棋规则”对象,该对象负责用户用户的走法是否符合规则。 Demon.java 该文件生成的类负责创建“棋谱演示”对象,该对象可以演示以保存的棋谱。MoveStep.java 该类创建的对象记录一个棋步。

线程的设计 在Java中,创建线程的方法有两种:一种是通过创建Thread类的子类来实现;另一种是通过实现Runnable接口的类来实现。 这两种创建线程方法并没有本质上的区别,但是由于Java不允许多重继承,所以当一个类要继承另一个非Thread类而实现多线程的话,只能通过实现Runnable接口的方式来实现。 4.1.1 通过Thread类实现 定义一个线程类,他继承类Thread并重写其中的run()方法。这时在初始化这个类的实例时,目标对象target可以为null,表示这个实例本身具有线程体。由于Java只支持单继承,用这种方法定义的类不能再继承其他类。1 Thread类定义的用来帮助管理线程的方法主要包括以下内容。 ●void run()方法:线程的入口点,运行线程中的代码。 ●void start()方法:通过调用运行方法来启动线程,使之由出生状态转入就绪状态。 ●void sleep(long milis):在一段时间内挂起线程,令线程睡眠,在此期间,线程不消耗CPU资源;以毫秒为单位。 ●void interrupt():中断线程。 ●boolean isAlive():判定线程是否仍在在运行,出于活动状态。 ●void stName(String threadName):改变线程的名字。 ●String getName():获取由setName()方法实质的线程名字的字符串。 ●Yield():将CPU控制权主动移交到下一个可运行的线程。 ●setPriority(int p):设置线程优先级。 ●getPriority():获得线程优先级。 ●Join():等待一个线程终止。 4.1.2 实现Runnable接口 创建线程的最简单的方法就是创建一个实现Runnable接口的类。然后根据工作需要重新设计线程的run方法;再建立该类的对象。Runnable抽象了一个执行代码单元。你可以通过实现Runnable接口的方法创建每一个对象的线程。为实现Runnable接口,一个类仅需实现一个run()的简单方法。线程的生命周期 每个线程的生命周期一共包括5种状态:出生,就绪,运行,阻塞和死亡。线程从出生到死亡的过程称为线程的生命周期。通过特定的操作可以进行状态间的转换。

中国象棋基础知识

中国象棋基础知识 棋盘和棋子 象棋(为区别于国际象棋,也称中国象棋)棋盘由九道直线和十道横线交叉组成。棋盘上共有九十个交叉点,棋子就在这些交叉点上摆放和活动。双方都从自己的右边数起,红方的一路纵线就是黑方的9路纵线,二是8,依次类推。 棋盘中间没有划通直线的地方,叫做“河界”;划有斜交叉线的地方,叫做“九宫”。棋子共有三十二个,分为红黑两组。红黑各有七个兵种。红子包括帅一个、车马炮仕相各两个,兵五个;黑子包括将一个、车马炮士象各两个、卒五个。 红方着法用大写数字一到九表示。黑方着法用阿拉伯数字1到9表示。完整记录是将每一着棋用四个字表示,第一个字是棋子的名称,如“车”、“卒”、“相”等;第二个字是棋子所在直线的号码,如“三”、“5”等;第三个字是棋子的运动方向,对双方相对而言,向前走为“进”,向后走为“退”,横向走为“平”。第四个字是棋子进、退的步数(纵向走棋时)或是到达直线的号码(横向、斜向走棋时)。如图,红车往前走三步吃卒叫车一进三,再平到第六条竖线吃卒叫车一平六。红马跳到中线吃象叫马三进五,再退回第六条竖线吃炮叫马五退六。如将车马换成黑棋,上述四步棋应记作车9退3、车9平4、马7退5、马5进4。

行棋与吃子 对局时,由执红的一方先行,双方轮流各走一着,直至分出结果。 轮到走棋的一方,将某个棋子从一个交叉点走到另外一个交叉点,或者吃掉对方的棋子而占据其交叉点,都视为走了一着。双方各走一着,称为一个回合。 帅、将每一着只允许走一步,前进、后退、横走都可以,但不能走出九宫。帅与将不许在相同的直线上直接对面,如果一方已经抢先占据,另外一方必须回避。 仕、士每一着只允许按照九宫中的斜线走一步,可进可退。 相、象不能越过河界,每一步斜走两步,可进可退,俗称走田字。当田字中心有其它棋子时,俗称塞相、象眼,则不许走过去。 马每着走一直一斜或一横一斜,可进可退,俗称马走日。如果在要去的方向有其它棋子挡道,俗称蹩马腿,则不许走过去。 车每一着可以直进直退横走不限制步数。 炮在不吃子的时候,走法同车一样。吃子时必须隔一个棋子跳吃,俗称炮打隔子。 兵卒在没有越过河界前,每着只允许向前直走一步;越过河界之后,每着可以向前直走或横走一步,但任何时候都不能后退。 走一着棋时,如果自己的棋子能够走到的位置有对方棋子存在,就可以把对方的棋子吃掉并占领那个位置。除了将帅以外,其它棋子都可以听任对方吃掉,或主动送吃。吃子的一方,必须把吃掉的棋子从棋盘上拿走。

象棋比赛规程

上海市职工运动会中国象棋比赛规程 一、承办单位 上海市医务职工桥牌协会 二、比赛项目 中国象棋男、女个人赛 三、比赛时间 2012年7月 四、比赛地点 待定 五、报名办法 1、按照本届运动会竞赛规程总则的有关规定执行。 2、每单位可报领队和教练员各l名,男、女选手均不超过2名。 六、竞赛办法与规则(规则附后) 七、名次及奖励办法 按照本届运动会竞赛规程总则的有关规定执行。 八、未尽事宜,另行通知。 九、最终解释权归市卫生系统第十届职工运动会组委会。

上海市卫生系统第十届职工运动会中国象棋比赛规则 一、走棋和吃子 1、对局时,由执红棋的一方先走,双方轮流各走一着,直至分 出胜、负、和,对局即终了。轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。双方各走一着,称为一个回合。 2、将死和困毙 1)一方的棋子攻击对方的帅(将),并在下一着要把它吃掉,称为“照将”,或简称“将”。“照将”不必声明。被“照将”的一方必须立即“应将”,即用自己的着法去化解被“将”的状态。 如果被“照将”而无法“应将”,就算被“将死”。 2)轮到走棋的一方,无子可走,就算被“困毙”。 3、胜、负、和 1)对局时一方出现下列情况之一,为输棋(负),对方取胜: 2)帅(将)被对方“将死”。 3)走棋后形成帅(将)直接对面。 4)被“困毙”。 5)在规定的时限内未走满规定的着数。 6)超过了比赛规定的迟到判负时限。 7)走棋违反行棋规定。 8)走棋违反禁例,应变着而不变。 9)在同一棋局中,三次“犯规”。 10)自己宣布认输。 11)在对局中拒绝遵守本规则或严重违反纪律。 12)出现下列情况之一,为和棋:

中国象棋的游戏规则

中国象棋的游戏规则 走棋和吃子 1、对局时,由执红棋的一方先走,双方轮流各走一着,直至分出胜、负、和,对局即终了。轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走一着。双方各走一着,称为一个回合。 2、各种棋子的走法 ?帅(将):帅和将是棋中的首脑,是双方竭力争夺的目标。它只能在"九宫"之内活动,可上可下,可左可右,每次走动只能按竖线或横线走动一格。帅与将不能在同一直线上直接对面,否则走方判负。 ?仕(士):仕(士)是帅(将)的贴身保镖,它也只能在九宫内走动。它的行棋路径只能是九宫内的斜线。 ?相(象):相(象)的主要作用是防守,保护自己的帅(将)。它的走法是每次循对角线走两格,俗称"象走田"。相(象)的活动范围限于"河界"以内的本方阵地,不能过河,且如果它走的"田"字中央有一个棋子,就不能走,俗称"塞象眼"。 ?车:车在象棋中威力最大,无论横线、竖线均可行走,只要无子阻拦,步数不受限制。因此,一车可以控制十七个点,故有"一车十子寒"之称。 ?炮:炮在不吃子的时候,走动与车完全相同。 ?马:马走动的方法是一直一斜,即先横着或直着走一格,然后再斜着走一个对角线,俗称"马走日"。马一次可走的选择点可以达到四周的八个点,故有"八面威风"之说。如果在要去的方向有别的棋子挡住,马就无法走过去,俗称"蹩马腿"。 ?兵(卒):兵(卒)在未过河前,只能向前一步步走,过河以后,除不能后退外,允许左右移动,但也只能一次一步。 3、吃子:任何棋子走动时,如果目标位置上有对方的棋子,就可以把对方的棋子拿出棋盘,再换上自己的棋子(即"吃子")。只有炮的吃子方式与其他子不同:炮与被吃子之间必须隔一个棋子,进行跳吃,俗称"架炮"或"炮打隔子"。 《棋盘和棋子》 象棋是一种双方对阵的竞技项目。棋子共有三十二个,分为红黑两组,各有十六个,由对弈的双方各执一组。兵种是一样的,分为七种: 红方:红方有帅一个,仕、相、车、马、炮各两个,兵五个。 黑方: 黑方有将一个,士、象、车、马、炮各两个,卒五个。 其中帅与将;仕与士;相与象;兵与卒的作用完全相同,仅仅是为了区别红棋和黑棋而已。 棋子活动的场所,叫作"棋盘"。在长方形的平面上,绘有九条平行的竖线和十条平

相关文档
最新文档