资源简介
简单的五子棋人人对弈程序,可判定禁手,可保存棋局
代码片段和文件信息
// Dep.cpp: implementation of the CDep class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “wzq.h“
#include “Dep.h“
#include
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDep::CDep()
{
for(int i = 0;i < BOARD_ROW;i ++)
for(int j = 0; j < BOARD_ROW; j ++)
position[i][j] = NO_PIECE;
nStepNum = 0;
bRead = 0;
}
CDep::~CDep()
{
}
void CDep::Restart()
{
for(int i = 0;i < BOARD_ROW;i ++)
for(int j = 0; j < BOARD_ROW; j ++)
position[i][j] = NO_PIECE;
nStepNum = 0;
}
int CDep::GetStepNum() const
{
return nStepNum;
}
int CDep::GetPositionType(int iint j) const
{
return position[i][j];
}
void CDep::GainStepNum()
{
nStepNum++;
}
bool CDep::bPointExist( CPoint ptBoard )
{
if( position[ ptBoard.x ][ ptBoard.y ] != 0 )
return true;
else
return false;
}
bool CDep::GetbRead()
{
return bRead;
}
void CDep::SetbRead( int bSet )
{
bRead = (bool)bSet;
}
void CDep::RecordPro(CPoint ptBoard int nBlackOrWhite)
{
process[nStepNum].x = ptBoard.x;
process[nStepNum].y = ptBoard.y;
process[nStepNum].color = nBlackOrWhite;
nStepNum ++;
}
void CDep::RecordPos(CPoint ptBoard int nBlackOrWhite)
{
position[ptBoard.x][ptBoard.y] = nBlackOrWhite;
}
void CDep::Retract()
{
nStepNum -- ;
if(nStepNum >= 0)
position[ process[nStepNum].x ][ process[nStepNum].y ] = 0;
}
void CDep::StoreMyBoard()
{
}
void CDep::ResumeMyBoard()
{
}
bool CDep::bEnd() //判赢功能
{
CPoint pt ;
pt.x = process[nStepNum - 1].x;
pt.y = process[nStepNum - 1].y;
int ptColor = process[nStepNum - 1].color;
int link = 0;
int i = 0 j = 0;
//竖行判赢
for( i = pt.x - 1; i >= 0; i--)
{
if( position[ i ][ pt.y ] == ptColor )
link ++;
else
break;
}
for( i = pt.x + 1; i < BOARD_ROW ;i++ )
{
if( position[ i ][ pt.y ] == ptColor )
link ++;
else
break;
}
if( link >= 4 )
return true;
else
link = 0;
//横行判赢
for( j = pt.y - 1; j >= 0 ; j--)
{
if( position[ pt.x ][ j ] == ptColor )
link++;
else
break;
}
for( j = pt.y +1; j {
if( position[ pt.x ][ j ] == ptColor )
link++;
else
break;
}
if( link >= 4 )
return true;
else
link = 0;
//捺判赢
for( i = pt.x-1 j = pt.y-1; i >= 0 && j >= 0; i-- j-- )
{
if( position[ i ][ j ] == ptColor )
link++;
else
break;
}
for( i = pt.x+1 j = pt.y+1; i {
if( position[ i ][ j ] ==ptColor )
link++;
else
break;
}
if( link >= 4 )
return true;
else
link = 0;
//撇判赢
for( i = pt.x-1 j = pt.y+1; i>= 0 && j < BOARD
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 20482 2009-08-28 19:07 wzq\Debug\Dep.obj
文件 0 2009-08-28 19:07 wzq\Debug\Dep.sbr
文件 9927 2009-08-21 13:04 wzq\Debug\GameEnd.obj
文件 0 2009-08-21 13:04 wzq\Debug\GameEnd.sbr
文件 20376 2009-08-28 19:11 wzq\Debug\MainFrm.obj
文件 0 2009-08-28 19:11 wzq\Debug\MainFrm.sbr
文件 105502 2009-08-21 13:04 wzq\Debug\StdAfx.obj
文件 1374935 2009-08-21 13:04 wzq\Debug\StdAfx.sbr
文件 246784 2009-08-28 19:11 wzq\Debug\vc60.idb
文件 380928 2009-08-28 19:11 wzq\Debug\vc60.pdb
文件 5497856 2009-08-28 19:11 wzq\Debug\wzq.bsc
文件 139368 2009-08-28 19:11 wzq\Debug\wzq.exe
文件 365192 2009-08-28 19:11 wzq\Debug\wzq.ilk
文件 22644 2009-08-21 13:04 wzq\Debug\wzq.obj
文件 6869428 2009-08-21 13:04 wzq\Debug\wzq.pch
文件 484352 2009-08-28 19:11 wzq\Debug\wzq.pdb
文件 7136 2009-08-28 19:08 wzq\Debug\wzq.res
文件 0 2009-08-21 13:04 wzq\Debug\wzq.sbr
文件 17512 2009-08-21 13:04 wzq\Debug\wzqDoc.obj
文件 0 2009-08-21 13:04 wzq\Debug\wzqDoc.sbr
文件 54277 2009-08-28 19:11 wzq\Debug\wzqView.obj
文件 0 2009-08-28 19:11 wzq\Debug\wzqView.sbr
文件 13741 2009-08-27 20:57 wzq\Dep.cpp
文件 1118 2009-07-02 15:47 wzq\Dep.h
文件 1006 2009-06-29 00:10 wzq\FileSave.cpp
文件 1239 2009-06-29 00:10 wzq\FileSave.h
文件 925 2009-06-30 18:48 wzq\GameEnd.cpp
文件 1164 2009-06-30 18:48 wzq\GameEnd.h
文件 2506 2009-08-28 19:11 wzq\MainFrm.cpp
文件 1478 2009-08-28 19:09 wzq\MainFrm.h
............此处省略34个文件信息
- 上一篇:NPOI v2.2.1
- 下一篇:Myeclipse2017ci-6破解文件.zip
评论
共有 条评论