你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
利用WPF实现基于MSN协议的五子棋游戏(十三)
 

玩家之前下棋和聊天的界面如图5所示。


5  下棋和聊天界面

7  判断五子棋的输赢

 

    本五子棋程序可以判断输赢。对于五子棋程序来说,判断输赢非常简单,只需要判断最后一个走的棋子在如下四个方向是否存在连续五个同色棋子,如果存在,则走该棋子的玩家赢。

1)水平方向。

2)垂直方向。

3)西北到东南的方向。

4)东北到西南的方向。

    程序在判断每一个方向时,需要以当前棋子为中心,向两个方向对判断。如判断水平方向是否满足五子连续,需要以当前棋子为中心,先向左侧去判断是否满足条件,如果不满足,以左侧连续同色棋子的数目为基础,向右侧继续统计同色棋子的数目。如果满足条件,在水平方向上就满足连续五个同色棋子的条件。该玩家赢得游戏。这个算法的实现代码如下:

//  如果当前玩家赢得游戏,返回true,否则返回false

private bool verifyWinner()

{

    //  count变量的值为5时,表示在某个方向上已经有5个同色棋子,

    //  当前玩家赢得游戏

    int count = 0;           

    //  验证垂直方向,向上验证

    for (int i = currentRow; i >= 0; i--)

    {

        //  判断当前棋子是否和最后一个走的棋子为同色

        if (isSameChess(i, currentCol))

        {

            count++;

            if (count == 5)

                return true;

        }

        else

            break;

    }

    //  验证垂直方向,向下验证

    for (int i = currentRow + 1; i < Chessboard.GetLength(0); i++)

    {

        if (isSameChess(i, currentCol))

        {

            count++;

            if (count == 5)

                return true;

        }

        else

            break;

    }

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089