91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.02MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-27
  • 語言: C/C++
  • 標簽: C++Builder??

資源簡介

C++Builder的五子棋源代碼(供參考學習用)

資源截圖

代碼片段和文件信息

//---------------------------------------------------------------------------
//?描述:SK?五子棋?1.0?核心算法
//?作者:seeker
//?聲明:本代碼僅供學習,任何人可以修改復制,但必須注明原作者信息!
//?注意:版權所屬:seeker
//?日期:2006-12-31
//?更新:2007-12-28
//?感謝:天地之靈
//---------------------------------------------------------------------------
#pragma?hdrstop

#include?“CH5.h“
#include?“stdlib.h“
//---------------------------------------------------------------------------
#pragma?package(smart_init)

//========================================================
MYCH5::MYCH5()
{
???Reset();//初始化
???srand((unsigned(time(0))));
}
//--------------------------------------------------
//?得到第?i?步的坐標值和顏色值,用于保存文件
void?MYCH5::GetStepOfIndex(int?iint?&txint?&tyint?&tc)
{
??tx=STEPS[i].x;??ty=STEPS[i].y;??tc=STEPS[i].color;
}
//--------------------------------------------------
//?設置第?i?步的坐標值和顏色值,
//?用于讀取文件之后設置棋盤
void?MYCH5::SetStepOfIndex(int?iint?txint?tyint?tc)
{
??STEPS[i].x=tx;??STEPS[i].y=ty;??STEPS[i].color=tc;
}
//--------------------------------------------------
//?初始化(重置)棋盤和游戲狀態
//??默認人機對戰,人先下,人先執黑
void?MYCH5::Reset()
{
??int?ij;
??for(i=0;i<15;i++)
????for(j=0;j<15;j++)
???????CH5[i][j]=0;

??StepLen=0;????//?開始
??UserColor=BLACK;?//?默認人先執黑
??PlayState=MAN;??//人機對戰,人先下
}
//---------------------------------------------------------------------------
//設置誰先下棋
int?MYCH5::SetFirst(int?playstatebool?read_PcFirst)
{
??//?保證范圍,可以不要
??PlayState=(playstate<4&&playstate>0)?playstate:PC;
??//?read_PcFirst=true?表明從機器先下的文件讀取數據
??//?那么接下來就應該是用戶下棋,且顏色為白色(2)!
??if(read_PcFirst)
??{
????PlayState=MAN;??????//讀完文件輪到人下,且顏色為白色
????UserColor=WHITE;?//白色
//???return?UserColor;
??}
??if(PlayState==PC)?????//如果是機器先下,則機器為白色
????UserColor=WHITE;
??return?UserColor;??
}
//---------------------------------------------------------------------------

//?定義一個宏,用來定位,將二維數組當作一維使用
#define?GetBoardXY(xy)?Board[(x)*15+(y)]

//?該函數判斷是否有人贏,包括禁手。
int?MYCH5::JudgeWin(int?xint?yint?*Board)?//判斷是否有人勝利
{
??int?ij;???//?i?是循環變量,?J?用來記錄同顏色的連續棋子有多少個
??int?tt1;
??int?dxdy;?//?用來控制坐標的變化!
??int?x1y1;?//?搜索的開始位置

??int?Color=GetBoardXY(xy);?//?返回xy棋格處的棋子顏色

??for?(i=0;i<4;i++) ?????//i=0到3分別表示4個方向。
??{
????switch?(i)
????{
????case?0:dx=0;??dy=1;??break;?//向下---向上
????case?1:dx=1;??dy=0;??break;?//向右---向左
????case?2:dx=1;??dy=1;??break;?//右下---左上
????case?3:dx=1;??dy=-1;?break;?//右上---左下
????default:dx=0;?dy=0;??break;?//不變
????}
????j=1;????????//J?用來記錄多少個同顏色棋子(己方)相鄰,用于判斷禁手或者輸贏
????x1=x;?y1=y;?//不用說也是從x,y位置開始判斷
????//?正向
????while?((x1+dx<=14)&&(y1+dy<=14)&&(y1+dy>=0)?//保證范圍不會超過棋盤范圍
???????????&&(GetBoardXY(x1+=dxy1+=dy)==Color))//判斷顏色是否相等
???????j++;
???????
????x1=x;
????y1=y;
????//反向
????while?((x1-dx>=0)&&(y1-dy>=0)&&(y1-dy<=14)
???????????&&(GetBoardXY(x1-=dxy1-=dy)==Color))
???????j++;
????if?((Color==BLACK)&&(j>5))
????????return?2;??????????//黑棋長連禁手的判斷,白方贏
????if?(j>4)
??????return?Color;??//?如果5子相連,則返回贏方顏色
??}//?for
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????16706??2007-12-27?23:40??五子棋源代碼\CH5.cpp

?????文件???????2373??2007-12-27?23:42??五子棋源代碼\CH5.h

?????文件???????5718??2009-04-25?19:15??五子棋源代碼\CH5.obj

?????文件???????5992??2006-12-31?15:39??五子棋源代碼\myFiveChess.bpr

?????文件???????1130??2006-12-31?15:39??五子棋源代碼\myFiveChess.cpp

?????文件????3415552??2009-04-25?19:15??五子棋源代碼\myFiveChess.exe

?????文件???????8802??2009-04-25?19:15??五子棋源代碼\myFiveChess.obj

?????文件????????876??2006-12-31?15:39??五子棋源代碼\myFiveChess.res

?????文件?????983040??2009-04-25?19:17??五子棋源代碼\myFiveChess.tds

?????文件??????12885??2006-12-24?21:06??五子棋源代碼\res\loginpic.JPG

?????文件??????11432??2006-12-31?12:51??五子棋源代碼\res\lose.wav

?????文件?????139752??2004-12-28?00:00??五子棋源代碼\res\main.wav

?????文件????????205??2006-12-31?00:01??五子棋源代碼\res\picres.rc

?????文件????2502468??2007-12-27?23:43??五子棋源代碼\res\picres.res

?????文件???????2120??1998-04-17?00:37??五子棋源代碼\res\put.wav

?????文件???????3810??2006-12-31?12:50??五子棋源代碼\res\undo.wav

?????文件??????44718??1998-04-17?00:37??五子棋源代碼\res\win.wav

?????文件?????849126??2006-12-23?22:16??五子棋源代碼\res\棋盤.bmp

?????文件???????3590??2006-12-23?21:30??五子棋源代碼\res\白棋.bmp

?????文件????1646022??2006-12-24?17:17??五子棋源代碼\res\空.bmp

?????文件???????3590??2006-12-23?21:30??五子棋源代碼\res\黑棋.bmp

?????文件?????650752??2007-12-27?23:47??五子棋源代碼\SK五子棋.exe

?????文件???????3483??2007-01-03?20:44??五子棋源代碼\ulogin.cpp

?????文件??????31047??2006-12-31?14:07??五子棋源代碼\ulogin.dfm

?????文件???????1496??2006-12-31?16:14??五子棋源代碼\ulogin.h

?????文件??????24082??2009-04-25?19:15??五子棋源代碼\ulogin.obj

?????文件??????15088??2007-12-27?23:38??五子棋源代碼\uMain.cpp

?????文件???????7542??2007-12-27?23:33??五子棋源代碼\uMain.dfm

?????文件???????3327??2007-12-27?23:38??五子棋源代碼\uMain.h

?????文件??????54160??2009-04-25?19:15??五子棋源代碼\uMain.obj

............此處省略7個文件信息

評論

共有 條評論