将或帅 移动范围:它只能在王宫内移动。 移动规则:它每一步只可以水平或垂直移动一点。
士 移动范围:它只能在王宫内移动。 移动规则:它每一步只可以沿对角线方向移动一点。
象 移动范围:河界的一侧。 移动规则:它每一步只可以沿对角线方向移动两点,另外,在移动的过程中不能够穿越障碍。
马 移动范围:任何位置。 移动规则:每一步只可以水平或垂直移动一点,再按对角线方面向左或者右移动。另外,在移动的过程中不能够穿越障碍。
车 移动范围:任何位置。 移动规则:可以水平或垂直方向移动任意个无阻碍的点。
炮 移动范围:任何位置。 移动规则:移动起来和车很相似,但它必须跳过一个棋子来吃掉对方的一个棋子。
兵 移动范围:任何位置。 移动规则:每步只能向前移动一点。过河以后,它便增加了向左右移动的能力,兵不允许向后移动。
胜、负、和对局中,出现下列情况之一,本方算输,对方赢:帅(将)被对方"将死",即被对方将军却无法应将;自己宣布认输;走棋超时;走棋时循环反复向对方将军三次,违反"不得将三将"的规定。出现以下情况,算和局:一方提议作和,对方同意;双方走棋出现循环反复达三次,符合"不变作和"的规定,双方又不愿变着时。
2.2 软件的整体框架设计
本文设计的是一个网络版的双人对战的游戏平台,并没有加入电脑自动下棋系统,是人人对战的游戏软件。游戏可以实现现实游戏的所有的情况,加入联网是让在异地的人们切磋棋技。本设计是用VC++设计的,在网络上本设计采用了IP协议,用Sockt()函数读取两台电脑上的IP地址,通过这个来连接这两台电脑。文献综述
本设计是先设计一个可以运行的单机版象棋游戏,可以实现人人对战,然后在其中加入网络系统就可以使单机游戏变成联网游戏。
在设计单机游戏中要先建立游戏的界面上的90个点,然后加入游戏的主要规则,在这其中需要分别设计游戏棋子的吃子,棋子的走棋和胜负的判断。
完成以上的设计就基本上完成了单机版中国象棋游戏的设计,在这个基础上加入鼠标系统就可以在电脑上实现双人对弈了。
在完成单机版游戏后只需要加入联网系统就可以开始联网对战了,本设计是在两台电脑上完成的联网设计,不能加入第三方,是用客户机寻找主机后加入的办法完成联网的,主机和客户机在游戏设计上是没有区别的。
以上的工作完成后即可进行联网的象棋游戏。
2.3 小结
本章介绍了中国象棋的基本规则,给出了设计软件的大体框架及所要做的工作。为以后的设计列出了大纲,按照本章的方法应该会完成所需的任务。
3 软件的详细设计及实现源.自/751·论\文'网·www.751com.cn/
对于象棋来说,核心设计主要包括整个游戏中界面及程序辅助部分的实现,主要用 Visual C++ 进行开发,里面的MFC类库,使游戏开发更加方便。
本文的目标是实现一款可以在网络上联机对战的游戏程序,是可以实现人与人的远程对战的象棋游戏,可以让人足不出户就与人交流棋技。
本设计主要包括两个方面:一个是单机版的象棋游戏,可以实现游戏的基本功能,是二个人可以在一台电脑上进行的双人游戏;另一个是联网系统,可以传送数据,使本程序在不同的电脑上可以相互传输请求,实现网络版的游戏。