热门搜索 :
考研考公
您的当前位置:首页正文

下棋规则

来源:东饰资讯网


㈠下棋规则:

黑方先行,双方轮流依次落子。在一方落子之前,另一方必须等待。 为实现这个功能,必须使双方的棋盘交替处于激活(True)状态。

在双方网络未连接成功以前,双方的棋盘均处于禁止(False)状态,不接受落子操作。一旦,网络连接成功,持黑子的一方率先使用Form1.Picture1.Enabled = True语句来激活本方棋盘。此时,黑方棋盘可以接受落子操作。用户用鼠标在棋盘的相应位置上点击左键,程序捕获鼠标在棋盘上的点击位置,并计算出所处行列,在相应位置上显示一枚黑色棋子。自此,黑方操作结束,棋盘再次被Picture1.Enabled = False语句所禁止。然后,将落子的行列信息传送给白方。

白方接收到黑方的落子信息后,先在本方棋盘的相应位置上显示一枚黑色棋子。然后,使用Form1.Picture1.Enabled = True语句来激活本方棋盘进行落子操作。落子后,禁止本方棋盘,再发送棋子信息给黑方。 双方重复上述操作直到此局结束为止。 ㈡胜负规则:

⑴率先在棋盘上形成横向、竖向或斜向上连续的相同颜色的五个棋子(含五个以上)的一方为胜。在15*15的棋盘上,共有八种获胜可能。如图4.5所示:

图4.5

其中,1、5为反斜向五子连珠,3、7为正斜向五子连珠,2、6为竖向五子连珠,4、8为横向五子连珠。

根据每一种不同方向上的获胜情况,它们的判别程序也有所不同: 反斜向五子连珠:

正斜向五子连珠:

竖向五子连珠:

横向五子连珠:

⑵一方认输,则另一方获胜

在游戏运行过程中,如果一方点击Form1.Command5按钮,则被判负,并向对方发送“认输”信息。为了避免用户在游戏过程中误点Command5按钮,在此设计了一个确认对话框,以确认用户是否“认输”。确认操作必须在10秒内完成,否则被将视为否认操作。

㈢和棋规则: ⑴棋盘满

当棋盘上的225个交叉位置上均有棋子,但双方均未五子连珠,则判为双方和棋。在此设计了一个计数器C,每下一步棋或则接收到一步棋时,计数器均C均加1。当计数器达到225时,则表示棋盘已满,双方和棋。

⑵双方协商:

在游戏运行过程中,如果一方点击Form1.Command6按钮,则向对方对方提出“和棋”请求。对方在收到和棋请求后,弹出确认对话框,对方可以点击“是”来接受“和棋”请求,也可以点击“否”来拒绝“和棋”请求。一旦对方接受“和棋”请求,则本局结束,双方和棋。

为避免用户在游戏过程中误点Command6按钮,在这也同样设计了一个确认对话框。

另外,为防止用户在游戏过程中无限制的连续的点击此按钮,破坏游戏的可玩性。在此还设计了一个防止连续点击的程序。一旦,用户确认自己的“和棋”的操作,Command6按钮就被禁止,用户无法再次点击。只有等到下一次该用户下棋为止,Command6按钮才被再次激活。

㈢执黑规则:

对弈双方连接成功以后,由选择“我要当主机”的主机方率先执黑,以后各盘双方轮流执黑。

4.4 按钮功能的实现

在Form1中共有Command1~Command7 7个命令按钮,它们各自完成不同的

功能。为美观起见,按钮的大小一样,均为Height:20 Pixel (像素) Width:65Pixel(像素)。下面详细介绍各个按钮功能的实现: ⑴“发送”按钮:

在网络连接成功以前,此按钮应设为禁止(False)状态。只有当网络连接成功以后,此按钮才被Form1.Command1.Eabled=True设为激活状态。

另外,为方便用户使用,在Combo1组合框中增加了KeyPress事件。用户可以在Combo1组合框输入字符后,直接按回车键进行发送,其作用和“发送”按钮相同。 ⑵“设置”按钮:

在网络连接成功以前,此按钮应设为激活(True)状态。点击次按钮将显示Form2窗体,以对各种参数进行设置。在设置过中将禁止对Form1窗体上的所有操作,直到Form2窗体关闭为止。

当网络连接成功以后,Form1.Command2将被置于禁止(False)状态。 ⑶“断线”按钮:

在网络连接成功以前,此按钮被设为禁止(False)状态。当双方用户已经建立好连接并在下棋时,双方的“断线”按钮仍然是处于禁止(False)状态的,只有当一局结束以后,“断线”按钮才被置于激活(True)状态。

当一局结束以后,一方点击“断线”按钮,点击方先向对方发送断线指令,然后,使用Form1.Winsock1.Close语句切断与对方的TCP连接。 ⑷“开始”按钮:

在网络连接成功以前,此按钮也被设为禁止(False)状态。只有当一局结束以后,“开始”按钮才被置于激活(True)状态。

“开始”按钮的作用是:清空棋盘上的所有棋子;棋子计数器C清零;双方

倒计时器复位;黑白棋子互换,并通知对方作同样的操作,开始新局。

⑸“认输”按钮:在前面的“胜负规则”里已经详细说明了,这里不再赘述。 ⑹“和棋”按钮:在前面的“和棋规则”里已经详细说明了,这里也不再赘述。 ⑺“悔棋”按钮:

在网络连接成功以前,此按钮被设为禁止(False)状态。只有在棋局过程中,并且轮到该本方落子,并且棋盘有2个棋子或2个棋子以上时,“悔棋”按钮才被置于激活(True)状态。

在游戏运行过程中,如果一方点击Form1.Command7按钮,则向对方提出“悔棋”请求。对方在收到“悔棋”请求后,弹出确认对话框,对方可以点击“是”来接受“悔棋”请求,也可以点击“否”来拒绝“悔棋”请求。如果对方接受“悔棋”请求,则在双方棋盘上清除最新下的两步棋子。然后,请求方继续执行落子操作。

和“和棋”按钮相同,为避免用户在游戏过程中误点Command7按钮,在这也设计了一个确认对话框。另外,为防止用户在游戏过程中无限制的连续的点击此按钮,破坏游戏的可玩性。也在此设计了一个防止连续点击的程序。一旦,用

户确认自己的“悔棋”的操作,Command7按钮就被禁止,用户无法再次点击。只有等到下一次该用户下棋为止,Command7按钮才被再次激活。

徐志摩曾说过:“一生中至少该有一次,为了某个人而忘记了自己,不求结果,不求同行,不求曾经拥有,甚至不求你爱我,只求在我最美的年华里,遇见你。”我不知道自己是何等的幸运能在茫茫人海中与你相遇?我也不知道你的出现是恩赐还是劫?但总归要说声“谢谢你,谢谢你曾来过……” 还记得初相识时你那拘谨的样子,话不是很多只是坐在那里听我不停地说着各种不着边际的话。可能因为紧张我也不知道自己想要表达什么?只知道乱七八糟的在说,而你只是静静地听着,偶尔插一两句。想想自己也不知道一个慢热甚至在不熟的人面前不苟言笑的我那天怎么会那么多话?后来才知道那就是你给的莫名的熟悉感和包容吧!

有一句话说:“人的一生会遇到两个人,一个惊艳了时光,一个温柔了岁月。” 惊艳了时光的那个人,是青春回忆里最绚烂、最耀眼的存在,不后悔跟他经历过的快乐与感动,哪怕后来的大风大浪都是他给的,但还是想对他说,有生之年,欣喜相逢。 你给过我太多的快乐和感动,太多的收获和意外,也有太多的心酸和坎坷。可总归你来过我的生命,也带给我许多的美好和小幸福。我不知道是怎样的缘分让我们相遇,可我都不想去追究了,因为我相信每一种遇见,都有意义,每一个爱过的人,都有记忆。无论怎样,都是幸运的,因为你带给了我一些特殊的感受,以至于每次回味起来,都觉得人生是精彩的。 我始终还记得那年夏天你为了在我路过的城市见我冒着大雨开车几百公里,只为在车站短短的停留……我也记得在街头只因我看了一眼那各式的冰糖葫芦,你穿越熙攘的人群排队为我拿回最后一个糖葫芦欣喜的样子,不是爱吃甜食的我那晚一口气吃掉了那个糖葫芦,而你看着我憋得满嘴和通红的脸只是宠溺的笑笑……我还记得因为我随口一说自己都没在意的东西而你却把它买回来了,就在有次离别的车站,当我不告而别你知道后发疯的电话、视频和在机场着急的身影,手里还提着我自己也不知道什么时候说过的东西时我就知道你就是那个惊艳了时光也温柔了我曾经岁月的人。 “路漫漫其修远兮,吾将上下而求索”人生的路坎坎坷坷,舍与得在一念之间,我也曾满怀期待所有的相遇与分别是事出有因或者可以久别重逢。可怎奈,当再次面临抉择时才知道有的相遇只是漫漫人生路上的一个劫,一份缘的未尽而已…… 谢谢你来过,谢谢你给过我那么多,也谢谢你给我那些惊艳的时光!很知足过去有你陪伴的时光,很怀念那些和你一起走过的日子。未来我不知道该怎么取舍,我也不知道以后又会怎样?可无论是什么我都不会后悔认识你了,无论你带给我的是恩赐还是劫难我都不后悔了,至少我感受过你的温柔,拥有过你的怀抱,也和你十指相扣的走过了一段路。所以,以后无论怎样你都是我不经意间想起和思念的人。 谢谢你来过!不管你是否真的快乐?不管岁月是否善待你我,也不管能否一直有你带给我的小确幸,还是谢谢你!谢谢你带给我的幸运,谢谢你曾为了我付出了全部的时间与爱,也谢谢你给我的岁月平淡和温情有于…… 没有太多的修饰,只是很庆幸曾经你也是我的“那个他”。谢谢你来过,谢谢你让我觉得我不会孤单,谢谢你用漫漫柔情,温暖了我的生命。你给的美好,我会悉数珍藏,用力保护的。 以后也许三里清风,三里路,步步清风再无你。可也无悔你来过!人生的路你陪我一程,我念你一生………

因篇幅问题不能全部显示,请点此查看更多更全内容

Top