标题:想编一个一条龙(井字棋)的小游戏,但不知如何比较胜负。
只看楼主
razielzyc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-10-12
结帖率:66.67%
已结贴  问题点数:10 回复次数:2 
想编一个一条龙(井字棋)的小游戏,但不知如何比较胜负。
下面的是我初步编的代码,要想在游戏中决出胜负的话,就要在bool中把胜负写成三种类型。(横,竖,斜)
但本人实在不太清楚要如何写出这3个部分并把他们加到main中并提示结果。还请各位大师指点一二了。
#include <iostream>,
using namespace std;



bool checkWin(char symbol, char board[3][3])
{

}



void displayGrid(char game[3][3])
{
  cout << game[0][0] << '|' << game[0][1] << '|' << game[0][2] << endl;
  cout << "-+-+-" << endl;
  cout << game[1][0] << '|' << game[1][1] << '|' << game[1][2] << endl;
  cout << "-+-+-" << endl;
  cout << game[2][0] << '|' << game[2][1] << '|' << game[2][2] << endl;
}



int main()
{
  char gameGrid[3][3] = {{'X','O','O '},      
                         {' ','X','X'},      
                         {'X','O','X '}};   
                        
  char player1 = 'X';
  char player2 = 'O';

  cout << "The position is: " << endl;
  displayGrid(gameGrid);
  
  
  return 0;
}
搜索更多相关主题的帖子: 一条龙 胜负 小游戏 
2010-11-06 12:53
无名可用
Rank: 4
等 级:业余侠客
帖 子:79
专家分:259
注 册:2010-7-27
得分:10 
遍历整个棋盘,遇到棋子就对它的横.竖.斜三个方向相邻的格子判断一下是否为相同的棋子

例如
for(int i=0;i<height;i++)
{
    for(int j=0;j<width;j++)
    {
        if(map[i][j].是棋子)
        {
            ///横向查看
             if(不出界)
            {
                if(map[i][j-1].是该类型的棋子 && map[i][j+1].是该类型的棋子)
                {
                    该方获胜;
                    break;
                }
            }
            ///纵向查看
            ///斜向查看
        }
    }
}
希望对你有帮助
2010-11-07 13:43
razielzyc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-10-12
得分:0 
回复 2楼 无名可用
虽然方法用的不太一样,但谢谢你的回答。
2010-11-09 12:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-325163-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114051 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved