cao死我好湿好紧好爽动态视屏|精选久久久久久久久久|中文无码精品一区二区三区四季|AAA国语精品刺激对白视频|

當(dāng)前位置:首頁 > 軟件開放 > 正文內(nèi)容

qt五子棋代碼(qt做五子棋)

軟件開放2年前 (2023-03-10)1076

今天給各位分享qt五子棋代碼的知識,其中也會對qt做五子棋進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!

本文目錄一覽:

急求:五子棋的源代碼(數(shù)據(jù)結(jié)構(gòu)),每一步都要有解釋的?。。?/h2>

#includeiostream.h#includestdlib.h#define Num 15//********************************************************//類class T//定義類用來封裝所有相關(guān)函數(shù)和變量{ char board[Num][Num];//用數(shù)組board[Num][Num]來定義棋盤public: void PrintMenu(); //打印菜單 說明游戲規(guī)則和方法 void PrintBoard(); //打印棋盤 void GameStart(char*,int ,int ,char); //下棋 int whichwin(int,int,char); //判斷那個選手贏 void Choice(char ); //是否再玩 void Setboard(); //重置棋盤};//****************************************************************//main主函數(shù)void main ()//主函數(shù){ T s;//說明類的一個對象s s.PrintMenu();//通過s調(diào)用PrintMenu函數(shù)提示如何游戲 char player1[20],player2[20];//玩家姓名 int FirstWin=0,SecondWin=0,Draws=0,x,y,N;//說明變量,賦初值為0以待計算輸贏結(jié)果 char choice='Y'; cin.ignore(20,'\n');//輸入輸出流,前面如果有輸入把輸入行所有字符取空,以便后面的輸入從新的一行開始 cout"請輸入第一個玩家姓名:"; cin.getline(player1,20);//連續(xù)讀取數(shù)據(jù) cout"請輸入第二個玩家姓名:"; cin.getline(player2,20); while(choice=='Y'||choice=='y')//條件成立,執(zhí)行 { s.Setboard();//調(diào)用Setboard函數(shù) N=0; while(N=(Num*Num)) { s.PrintBoard();//打印棋盤 s.GameStart(player1,x,y,'O'); N++;//記錄已下棋子數(shù) if(s.whichwin(x-1,y-1,'O'))//返回值不為0則條件成立 { s.PrintBoard(); coutplayer1"贏了。"endl; FirstWin++;//記錄贏局?jǐn)?shù) break;//終止本次循環(huán) } s.PrintBoard();//同上 s.GameStart(player2,x,y,'X'); N++; if(s.whichwin(x-1,y-1,'X')) { s.PrintBoard(); coutplayer2"贏了。"endl; SecondWin++; break; } if(N==(Num*Num)) { cout"和棋!"; Draws++;//記錄平局?jǐn)?shù) break; } } s.Choice(choice);//給玩家提供一次選擇是否再玩的機會 } //輸出游戲輸贏次數(shù) coutplayer1"贏了"FirstWin"次"endl; coutplayer2"贏了"SecondWin"次"endl; cout"和"Draws"次"endl; cout"謝謝使用。"endl; cout"任意鍵繼續(xù)。"endl; cin.get();//很必要的,目的是空度換行字符}//*******************************************************************//定義公有成員函數(shù)void T::PrintMenu(){ cout"歡迎進(jìn)入五子棋游戲!\n"; cout"******************************************"endl; cout"\t游戲說明:"endlendl; cout"1.第一個玩家用O第二個玩家用X;"endl; cout"2.請根據(jù)提示輸入所要走的行和列;"endl; cout"3.按Enter下棋。"endl; cout"

c語言的五子棋代碼(博弈算法)

#include?stdio.h

#include?bios.h

#include?ctype.h

#include?conio.h

#include?dos.h

#define?CROSSRU?????0xbf???/*右上角點*/

#define?CROSSLU?????0xda???/*左上角點*/

#define?CROSSLD?????0xc0???/*左下角點*/

#define?CROSSRD?????0xd9???/*右下角點*/

#define?CROSSL???????0xc3???/*左邊*/

#define?CROSSR???????0xb4???/*右邊*/

#define?CROSSU???????0xc2???/*上邊*/

#define?CROSSD???????0xc1???/*下邊*/

#define?CROSS???????0xc5???/*十字交叉點*/

/*定義棋盤左上角點在屏幕上的位置*/

#define?MAPXOFT?????5

#define?MAPYOFT?????2

/*定義1號玩家的操作鍵鍵碼*/

#define?PLAY1UP?????0x1157/*上移--'W'*/

#define?PLAY1DOWN???0x1f53/*下移--'S'*/

#define?PLAY1LEFT???0x1e41/*左移--'A'*/

#define?PLAY1RIGHT???0x2044/*右移--'D'*/

#define?PLAY1DO?????0x3920/*落子--空格鍵*/

/*定義2號玩家的操作鍵鍵碼*/

#define?PLAY2UP?????0x4800/*上移--方向鍵up*/

#define?PLAY2DOWN???0x5000/*下移--方向鍵down*/

#define?PLAY2LEFT???0x4b00/*左移--方向鍵left*/

#define?PLAY2RIGHT???0x4d00/*右移--方向鍵right*/

#define?PLAY2DO?????0x1c0d/*落子--回車鍵Enter*/

/*若想在游戲中途退出,?可按?Esc?鍵*/

#define?ESCAPE???????0x011b

/*定義棋盤上交叉點的狀態(tài),?即該點有無棋子?*/

/*若有棋子,?還應(yīng)能指出是哪個玩家的棋子???*/

#define?CHESSNULL???0???/*沒有棋子*/

#define?CHESS1???????'O'/*一號玩家的棋子*/

#define?CHESS2???????'X'/*二號玩家的棋子*/

/*定義按鍵類別*/

#define?KEYEX99v?????????0/*退出鍵*/

#define?KEYFALLCHESS???1/*落子鍵*/

#define?KEYMOVECURSOR???2/*光標(biāo)移動鍵*/

#define?KEYINVALID?????3/*無效鍵*/

/*定義符號常量:?真,?假?---?真為1,?假為0?*/

#define?TRUE?????????1

#define?FALSE???????0

/**********************************************************/

/*?定義數(shù)據(jù)結(jié)構(gòu)???????????????????????????????????????????*/

/*棋盤交叉點坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)*/

struct?point

{

int?x,y;

};

或者下面這個:

#include?graphics.h

#include?stdlib.h

#include?stdio.h

#include?conio.h

#define?N?15

#define?B?7

#define?STOP?-10000

#define?OK?1

#define?NO?0

#define?UP?328

#define?DOWN?336

#define?LEFT?331

#define?RIGHT?333

int?a[N+1][N+1];

int?zx,zy;

int?write=1,biaoji=0;

struct?zn{

long?sum;

int?y;

int?x;

}w[N+1][N+1],max,max1;

void?cbar(int?i,int?x,int?y,int?r);

void?map(int?a[][]);

int?getkey();

int?key();

void?zuobiao(int?x,int?y,int?i);

int?tu(int?a[][],int?write);

int?wtu(int?a[][],int?write);

int?zhineng(int?a[][]);

int?zh5(int?y,int?x,int?a[][]);

long?zzh5(int?b[][],int?i);

main()

{

int?i,j;

int?gdriver=DETECT;

int?gmode;

initgraph(gdriver,gmode,"");

zx=(N+1)/2;

zy=(N+1)/2;

for(i=1;i=N;i++)

for(j=1;j=N;j++)

a[i][j]=0;

map(a);

i=1;

while(i)

{

int?k,n;

k=wtu(a,write);

if(k==STOP)?goto?end;

map(a);

n=zhineng(a);

if(n==STOP)?goto?end;

map(a);

}

end:

;

}

int?zhineng(int?a[N+1][N+1])

{

int?i,j;

int?k;

max.sum=-1;

for(i=0;i=N;i++)

for(j=0;j+N;j++)

{

w[i][j].sum=0;

w[i][j].x=i;

w[i][j].y=j;

}

for(i=1;i=N-4;i++)

for(j=1;j=N-4;j++)

{

k=zh5(i,j,a);

if(k==STOP)?return?(STOP);

}

for(i=1;i=N;i++)

for(j=1;j=N;j++)

{

if(max.sumw[i][j].sum)

{

max.sum=w[i][j].sum;

max.y=i;

max.x=j;

}

else?if(max.sum==w[i][j].sum)

{

if(((max.y-zy)*(max.y-zy)+(max.x-zx)*(max.x-zx))((i-zy)*(i-zy)+(j-zx)*(j-zx)))

max.sum=w[i][j].sum;

max.y=i;

max.x=j;

}

}

if(a[max.y][max.x]==0)

{

a[max.y][max.x]=-1;

zy=max.y;

zx=max.x;

}

}

int?zh5(int?y,int?x,int?a[N+1][N+1])

{

int?i,j;

int?b[6][6];

long?c[13];

long?d[6][6];

long?temp;

for(i=y;i=y+4;i++)

for(j=x;j=x+4;j++)

b[i+1-y][j+1-x]=a[i][j];

c[1]=b[1][1]+b[1][2]+b[1][3]+b[1][4]+b[1][5];

c[2]=b[2][1]+b[2][2]+b[2][3]+b[2][4]+b[2][5];

c[3]=b[3][1]+b[3][2]+b[3][3]+b[3][4]+b[3][5];

c[4]=b[4][1]+b[4][2]+b[4][3]+b[4][4]+b[4][5];

c[5]=b[5][1]+b[5][2]+b[5][3]+b[5][4]+b[5][5];

c[6]=b[1][1]+b[2][1]+b[3][1]+b[4][1]+b[5][1];

c[7]=b[1][2]+b[2][2]+b[3][2]+b[4][2]+b[5][2];

c[8]=b[1][3]+b[2][3]+b[3][3]+b[4][3]+b[5][3];

c[9]=b[1][4]+b[2][4]+b[3][4]+b[4][4]+b[5][4];

c[10]=b[1][5]+b[2][5]+b[3][5]+b[4][5]+b[5][5];

c[11]=b[1][1]+b[2][2]+b[3][3]+b[4][4]+b[5][5];

c[12]=b[1][5]+b[2][4]+b[3][3]+b[4][2]+b[5][1];

for(i=1;i=12;i++)

{

switch(c[i])

{

case?5:biaoji=1;return(STOP);

case?-5:biaoji=-1;return(STOP);

case?-4:c[i]=100000;break;

case?4:c[i]=100000;break;

case?-3:c[i]=150;break;

case?3:c[i]=150;break;

case?-2:c[i]=120;break;

case?2:c[i]=100;break;

case?-1:c[i]=1;break;

case?1:c[i]=1;break;

default:?c[i]=0;

}

}

for(i=1;i=12;i++)

{

if(c[i]==150)

c[i]+=zzh5(b,i);

}

for(i=1;i=5;i++)

for(j=1;j=5;j++)

d[i][j]=0;

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(i==j)?d[i][j]+=c[11];

if((i+j)==6)?d[i][j]+=c[12];

d[i][j]+=c[i]+c[j+5];

}

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(b[i][j]!=0)

d[i][j]=-2;

}

max1.sum=-1;

max1.y=0;

max1.x=0;

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(max1.sumd[i][j])

{

max1.sum=d[i][j];

max1.y=i;

max1.x=j;

w[i+y-1][j+x-1].sum+=max1.sum;

}

else?if(max1.sum==d[i][j])

{

if(((i+y-1-zy)*(i+y-1-zy)+(j+x-1-zx)*(j+x-1-zx))((max1.y+y-1-zy)*(max1.y+y-1-zy)+(max1.x+x-1-zx)*(max1.x+x-1-zx)))

{

max1.sum=d[i][j];

max1.y=i;

max1.x=j;

}

}

}

}

long?zzh5(int?b[6][6],int?n)

{

int?i,j,k,l,m;

switch(n)

{

case?1:i=b[1][1];j=b[1][2];k=b[1][3];l=b[1][4];m=b[1][5];break;

case?2:i=b[2][1];j=b[2][2];k=b[2][3];l=b[2][4];m=b[2][5];break;

case?3:i=b[3][1];j=b[3][2];k=b[3][3];l=b[3][4];m=b[3][5];break;

case?4:i=b[4][1];j=b[4][2];k=b[4][3];l=b[4][4];m=b[4][5];break;

case?5:i=b[5][1];j=b[5][2];k=b[5][3];l=b[5][4];m=b[5][5];break;

case?6:i=b[1][1];j=b[2][1];k=b[3][1];l=b[4][1];m=b[5][1];break;

case?7:i=b[1][2];j=b[2][2];k=b[3][2];l=b[4][2];m=b[5][2];break;

case?8:i=b[1][3];j=b[2][3];k=b[3][3];l=b[4][3];m=b[5][3];break;

case?9:i=b[1][4];j=b[2][4];k=b[3][4];l=b[4][4];m=b[5][4];break;

case?10:i=b[1][5];j=b[2][5];k=b[3][5];l=b[4][5];m=b[5][5];break;

case?11:i=b[1][1];j=b[2][2];k=b[3][3];l=b[4][4];m=b[5][5];break;

case?12:i=b[1][5];j=b[2][4];k=b[3][3];l=b[4][2];m=b[5][1];break;

}

if((i==0j==1k==1l==1m==0))

return?(900);

if((i==0j==-1k==-1l==-1m==0))

return(1000);

if((i==0j==0k==1l==1m==1)||(i==1j==1k==1l==0m==0))

return(20);

if((i==0j==0k==-1l==-1m==-1)||(i==-1j==-1k==-1l==0m==0))

return(20);

if((i==-1j==1k==1l==1m==1)||(i==1j==-1k==1l==1m==1)||(i==1j==1k==-1l==1m==1)||(i==1j==1k==1l==-1m==1)||(i==1j==1k==1l==1m==-1))

return(-60);

if((i==1j==-1k==-1l==-1m==-1)||(i==-1j==1k==-1l==-1m==-1)||(i==-1j==1k==-1l==-1m==-1)||(i==-1j==-1k==-1l==1m==-1)||(i==-1j==-1k==-1l==-1m==1))

return(-60);

}

int?wtu(int?a[N+1][N+1],int?write)

{

int?i=1;

map(a);

zuobiao(zx,zy,1);

while(i)

{

int?k;

k=tu(a,write);

if(k==OK)?i=0;

if(k==STOP)?return?(STOP);

}

}

int?getkey()

{

int?key,lo,hi;

key=bioskey(0);

lo=key0x00ff;

hi=(key0xff00)8;

return((lo==0)???hi+256:lo);

}

int?key()

{

int?k;

k=getkey();

switch(k)

{

case?27:?return?(STOP);

case?13:

case?'?':?return?(OK);

case?328:?return?(UP);

case?336:?return?(DOWN);

case?331:?return?(LEFT);

case?333:?return?(RIGHT);

default:?return?(NO);

}

}

void?zuobiao(int?x,int?y,int?i)

{

int?r;

if(i!=0)

{

setcolor(GREEN);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else

{

if(a[zy][zx]==1)

{

setcolor(8);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else?if(a[zy][zx]==-1)

{

setcolor(WHITE);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else

{

setcolor(B);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

setcolor(RED);?line(75+25*zx-5,25+25*zy,75+25*x+5,25+25*zy);

line(75+25*zx,25+25*zy-5,75+25*zx,25+25*zy+5);

}

}

}

int?tu(int?a[N+1][N+1],int?write)

{

int?k;

re:

k=key();

if(k==OK)

{

if(a[zy][zx]==0)

{

a[zy][zx]=write;

}

else

goto?re;

}

if(k==STOP)?return(STOP);

if(k==NO)?goto?re;

if(k==UP)

{

int?i,j;

if(zy==1)?j=zy;

else?j=zy-1;

zuobiao(zx,zy,0);

zuobiao(zx,j,1);

zy=j;

goto?re;

}

if(k==DOWN)

{

int?i,j;

if(zy==N)?j=zy;

else?j=zy+1;

zuobiao(zx,zy,0);

zuobiao(zx,j,1);

zy=j;

goto?re;

}

if(k==LEFT)

{

int?i,j;

if(zx==1)?i=zx;

else?i=zx-1;

zuobiao(zx,zy,0);

zuobiao(i,zy,1);

zx=i;

goto?re;

}

if(k==RIGHT)

{

int?i,j;

if(zx==N)?i=zx;

else?i=zx+1;

zuobiao(zx,zy,0);

zuobiao(i,zy,1);

zx=i;

goto?re;

}

}

void?cbar(int?i,int?x,int?y,int?r)

{

if(i!=0)

{

if(i==1)

setcolor(8);

else?if(i==-1)

setcolor(WHITE);

for(i=1;i=r;i++)

{

circle(x,y,i);

}

}

}

void?map(int?a[N+1][N+1])

{

int?i,j;

cleardevice();

setbkcolor(B);

setcolor(RED);

for(i=0;iN;i++)

{

line(100,50+25*i,75+N*25,50+25*i);

line(100+25*i,50,100+25*i,25+N*25);

}

for(i=1;i=N;i++)

for(j=1;j=N;j++)

cbar(a[i][j],75+25*j,25+25*i,10);

}

五子棋C語言代碼

五子棋C語言代碼如下:

#include stdio.h

#include bios.h

#include ctype.h

#include conio.h

#include dos.h

#define CROSSRU 0xbf /*右上角點*/

#define CROSSLU 0xda /*左上角點*/

#define CROSSLD 0xc0 /*左下角點*/

#define CROSSRD 0xd9 /*右下角點*/

#define CROSSL 0xc3 /*左邊*/

#define CROSSR 0xb4 /*右邊*/

#define CROSSU 0xc2 /*上邊*/

#define CROSSD 0xc1 /*下邊*/

#define CROSS 0xc5 /*十字交叉點*/

/*定義棋盤左上角點在屏幕上的位置*/

#define MAPXOFT 5

#define MAPYOFT 2

/*定義1號玩家的操作鍵鍵碼*/

#define PLAY1UP 0x1157/*上移--'W'*/

#define PLAY1DOWN 0x1f53/*下移--'S'*/

#define PLAY1LEFT 0x1e41/*左移--'A'*/

#define PLAY1RIGHT 0x2044/*右移--'D'*/

#define PLAY1DO 0x3920/*落子--空格鍵*/

/*定義2號玩家的操作鍵鍵碼*/

#define PLAY2UP 0x4800/*上移--方向鍵up*/

#define PLAY2DOWN 0x5000/*下移--方向鍵down*/

#define PLAY2LEFT 0x4b00/*左移--方向鍵left*/

#define PLAY2RIGHT 0x4d00/*右移--方向鍵right*/

#define PLAY2DO 0x1c0d/*落子--回車鍵Enter*/

/*若想在游戲中途退出, 可按 Esc 鍵*/

#define ESCAPE 0x011b

/*定義棋盤上交叉點的狀態(tài), 即該點有無棋子 */

/*若有棋子, 還應(yīng)能指出是哪個玩家的棋子 */

#define CHESSNULL 0 /*沒有棋子*/

#define CHESS1 'O'/*一號玩家的棋子*/

#define CHESS2 'X'/*二號玩家的棋子*/

/*定義按鍵類別*/

#define KEYEX99v 0/*退出鍵*/

#define KEYFALLCHESS 1/*落子鍵*/

#define KEYMOVECURSOR 2/*光標(biāo)移動鍵*/

#define KEYINVALID 3/*無效鍵*/

/*定義符號常量: 真, 假 --- 真為1, 假為0 */

#define TRUE 1

#define FALSE 0

/**********************************************************/

/* 定義數(shù)據(jù)結(jié)構(gòu) */

/*棋盤交叉點坐標(biāo)的數(shù)據(jù)結(jié)構(gòu)*/

struct point

{

int x,y;

};

或者下面這個:

#include graphics.h

#include stdlib.h

#include stdio.h

#include conio.h

#define N 15

#define B 7

#define STOP -10000

#define OK 1

#define NO 0

#define UP 328

#define DOWN 336

#define LEFT 331

#define RIGHT 333

int a[N+1][N+1];

int zx,zy;

int write=1,biaoji=0;

struct zn{

long sum;

int y;

int x;

}w[N+1][N+1],max,max1;

void cbar(int i,int x,int y,int r);

void map(int a[][]);

int getkey();

int key();

void zuobiao(int x,int y,int i);

int tu(int a[][],int write);

int wtu(int a[][],int write);

int zhineng(int a[][]);

int zh5(int y,int x,int a[][]);

long zzh5(int b[][],int i);

main()

{

int i,j;

int gdriver=DETECT;

int gmode;

initgraph(gdriver,gmode,"");

zx=(N+1)/2;

zy=(N+1)/2;

for(i=1;i=N;i++)

for(j=1;j=N;j++)

a[i][j]=0;

map(a);

i=1;

while(i)

{

int k,n;

k=wtu(a,write);

if(k==STOP) goto end;

map(a);

n=zhineng(a);

if(n==STOP) goto end;

map(a);

}

end:

;

}

int zhineng(int a[N+1][N+1])

{

int i,j;

int k;

max.sum=-1;

for(i=0;i=N;i++)

for(j=0;j+N;j++)

{

w[i][j].sum=0;

w[i][j].x=i;

w[i][j].y=j;

}

for(i=1;i=N-4;i++)

for(j=1;j=N-4;j++)

{

k=zh5(i,j,a);

if(k==STOP) return (STOP);

}

for(i=1;i=N;i++)

for(j=1;j=N;j++)

{

if(max.sumw[i][j].sum)

{

max.sum=w[i][j].sum;

max.y=i;

max.x=j;

}

else if(max.sum==w[i][j].sum)

{

if(((max.y-zy)*(max.y-zy)+(max.x-zx)*(max.x-zx))((i-zy)*(i-zy)+(j-zx)*(j-zx)))

max.sum=w[i][j].sum;

max.y=i;

max.x=j;

}

}

if(a[max.y][max.x]==0)

{

a[max.y][max.x]=-1;

zy=max.y;

zx=max.x;

}

}

int zh5(int y,int x,int a[N+1][N+1])

{

int i,j;

int b[6][6];

long c[13];

long d[6][6];

long temp;

for(i=y;i=y+4;i++)

for(j=x;j=x+4;j++)

b[i+1-y][j+1-x]=a[i][j];

c[1]=b[1][1]+b[1][2]+b[1][3]+b[1][4]+b[1][5];

c[2]=b[2][1]+b[2][2]+b[2][3]+b[2][4]+b[2][5];

c[3]=b[3][1]+b[3][2]+b[3][3]+b[3][4]+b[3][5];

c[4]=b[4][1]+b[4][2]+b[4][3]+b[4][4]+b[4][5];

c[5]=b[5][1]+b[5][2]+b[5][3]+b[5][4]+b[5][5];

c[6]=b[1][1]+b[2][1]+b[3][1]+b[4][1]+b[5][1];

c[7]=b[1][2]+b[2][2]+b[3][2]+b[4][2]+b[5][2];

c[8]=b[1][3]+b[2][3]+b[3][3]+b[4][3]+b[5][3];

c[9]=b[1][4]+b[2][4]+b[3][4]+b[4][4]+b[5][4];

c[10]=b[1][5]+b[2][5]+b[3][5]+b[4][5]+b[5][5];

c[11]=b[1][1]+b[2][2]+b[3][3]+b[4][4]+b[5][5];

c[12]=b[1][5]+b[2][4]+b[3][3]+b[4][2]+b[5][1];

for(i=1;i=12;i++)

{

switch(c[i])

{

case 5:biaoji=1;return(STOP);

case -5:biaoji=-1;return(STOP);

case -4:c[i]=100000;break;

case 4:c[i]=100000;break;

case -3:c[i]=150;break;

case 3:c[i]=150;break;

case -2:c[i]=120;break;

case 2:c[i]=100;break;

case -1:c[i]=1;break;

case 1:c[i]=1;break;

default: c[i]=0;

}

}

for(i=1;i=12;i++)

{

if(c[i]==150)

c[i]+=zzh5(b,i);

}

for(i=1;i=5;i++)

for(j=1;j=5;j++)

d[i][j]=0;

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(i==j) d[i][j]+=c[11];

if((i+j)==6) d[i][j]+=c[12];

d[i][j]+=c[i]+c[j+5];

}

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(b[i][j]!=0)

d[i][j]=-2;

}

max1.sum=-1;

max1.y=0;

max1.x=0;

for(i=1;i=5;i++)

for(j=1;j=5;j++)

{

if(max1.sumd[i][j])

{

max1.sum=d[i][j];

max1.y=i;

max1.x=j;

w[i+y-1][j+x-1].sum+=max1.sum;

}

else if(max1.sum==d[i][j])

{

if(((i+y-1-zy)*(i+y-1-zy)+(j+x-1-zx)*(j+x-1-zx))((max1.y+y-1-zy)*(max1.y+y-1-zy)+(max1.x+x-1-zx)*(max1.x+x-1-zx)))

{

max1.sum=d[i][j];

max1.y=i;

max1.x=j;

}

}

}

}

long zzh5(int b[6][6],int n)

{

int i,j,k,l,m;

switch(n)

{

case 1:i=b[1][1];j=b[1][2];k=b[1][3];l=b[1][4];m=b[1][5];break;

case 2:i=b[2][1];j=b[2][2];k=b[2][3];l=b[2][4];m=b[2][5];break;

case 3:i=b[3][1];j=b[3][2];k=b[3][3];l=b[3][4];m=b[3][5];break;

case 4:i=b[4][1];j=b[4][2];k=b[4][3];l=b[4][4];m=b[4][5];break;

case 5:i=b[5][1];j=b[5][2];k=b[5][3];l=b[5][4];m=b[5][5];break;

case 6:i=b[1][1];j=b[2][1];k=b[3][1];l=b[4][1];m=b[5][1];break;

case 7:i=b[1][2];j=b[2][2];k=b[3][2];l=b[4][2];m=b[5][2];break;

case 8:i=b[1][3];j=b[2][3];k=b[3][3];l=b[4][3];m=b[5][3];break;

case 9:i=b[1][4];j=b[2][4];k=b[3][4];l=b[4][4];m=b[5][4];break;

case 10:i=b[1][5];j=b[2][5];k=b[3][5];l=b[4][5];m=b[5][5];break;

case 11:i=b[1][1];j=b[2][2];k=b[3][3];l=b[4][4];m=b[5][5];break;

case 12:i=b[1][5];j=b[2][4];k=b[3][3];l=b[4][2];m=b[5][1];break;

}

if((i==0j==1k==1l==1m==0))

return (900);

if((i==0j==-1k==-1l==-1m==0))

return(1000);

if((i==0j==0k==1l==1m==1)||(i==1j==1k==1l==0m==0))

return(20);

if((i==0j==0k==-1l==-1m==-1)||(i==-1j==-1k==-1l==0m==0))

return(20);

if((i==-1j==1k==1l==1m==1)||(i==1j==-1k==1l==1m==1)||(i==1j==1k==-1l==1m==1)||(i==1j==1k==1l==-1m==1)||(i==1j==1k==1l==1m==-1))

return(-60);

if((i==1j==-1k==-1l==-1m==-1)||(i==-1j==1k==-1l==-1m==-1)||(i==-1j==1k==-1l==-1m==-1)||(i==-1j==-1k==-1l==1m==-1)||(i==-1j==-1k==-1l==-1m==1))

return(-60);

}

int wtu(int a[N+1][N+1],int write)

{

int i=1;

map(a);

zuobiao(zx,zy,1);

while(i)

{

int k;

k=tu(a,write);

if(k==OK) i=0;

if(k==STOP) return (STOP);

}

}

int getkey()

{

int key,lo,hi;

key=bioskey(0);

lo=key0x00ff;

hi=(key0xff00)8;

return((lo==0) ? hi+256:lo);

}

int key()

{

int k;

k=getkey();

switch(k)

{

case 27: return (STOP);

case 13:

case ' ': return (OK);

case 328: return (UP);

case 336: return (DOWN);

case 331: return (LEFT);

case 333: return (RIGHT);

default: return (NO);

}

}

void zuobiao(int x,int y,int i)

{

int r;

if(i!=0)

{

setcolor(GREEN);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else

{

if(a[zy][zx]==1)

{

setcolor(8);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else if(a[zy][zx]==-1)

{

setcolor(WHITE);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

}

else

{

setcolor(B);

for(r=1;r=5;r++)

circle(75+25*x,25+25*y,r);

setcolor(RED); line(75+25*zx-5,25+25*zy,75+25*x+5,25+25*zy);

line(75+25*zx,25+25*zy-5,75+25*zx,25+25*zy+5);

}

}

}

int tu(int a[N+1][N+1],int write)

{

int k;

re:

k=key();

if(k==OK)

{

if(a[zy][zx]==0)

{

a[zy][zx]=write;

}

else

goto re;

}

if(k==STOP) return(STOP);

if(k==NO) goto re;

if(k==UP)

{

int i,j;

if(zy==1) j=zy;

else j=zy-1;

zuobiao(zx,zy,0);

zuobiao(zx,j,1);

zy=j;

goto re;

}

if(k==DOWN)

{

int i,j;

if(zy==N) j=zy;

else j=zy+1;

zuobiao(zx,zy,0);

zuobiao(zx,j,1);

zy=j;

goto re;

}

if(k==LEFT)

{

int i,j;

if(zx==1) i=zx;

else i=zx-1;

zuobiao(zx,zy,0);

zuobiao(i,zy,1);

zx=i;

goto re;

}

if(k==RIGHT)

{

int i,j;

if(zx==N) i=zx;

else i=zx+1;

zuobiao(zx,zy,0);

zuobiao(i,zy,1);

zx=i;

goto re;

}

}

void cbar(int i,int x,int y,int r)

{

if(i!=0)

{

if(i==1)

setcolor(8);

else if(i==-1)

setcolor(WHITE);

for(i=1;i=r;i++)

{

circle(x,y,i);

}

}

}

void map(int a[N+1][N+1])

{

int i,j;

cleardevice();

setbkcolor(B);

setcolor(RED);

for(i=0;iN;i++)

{

line(100,50+25*i,75+N*25,50+25*i);

line(100+25*i,50,100+25*i,25+N*25);

}

for(i=1;i=N;i++)

for(j=1;j=N;j++)

cbar(a[i][j],75+25*j,25+25*i,10);

}

qt五子棋代碼的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于qt做五子棋、qt五子棋代碼的信息別忘了在本站進(jìn)行查找喔。

掃描二維碼推送至手機訪問。

版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。

本文鏈接:http://www.smallwaterjetsystem.com/post/11825.html

標(biāo)簽: qt五子棋代碼

“qt五子棋代碼(qt做五子棋)” 的相關(guān)文章

系統(tǒng)軟件開發(fā)(區(qū)塊鏈系統(tǒng)軟件開發(fā))

系統(tǒng)軟件開發(fā)(區(qū)塊鏈系統(tǒng)軟件開發(fā))

今天給各位分享系統(tǒng)軟件開發(fā)的知識,其中也會對區(qū)塊鏈系統(tǒng)軟件開發(fā)進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、系統(tǒng)軟件開發(fā)公司有哪些 2、軟件開發(fā)包括哪些東西? 3、軟件開發(fā)和系統(tǒng)開發(fā)有什么區(qū)別? 4、軟件開發(fā)工作具體干什么? 系統(tǒng)軟件開發(fā)公司...

linux源碼編譯安裝(Linux源碼安裝)

linux源碼編譯安裝(Linux源碼安裝)

今天給各位分享linux源碼編譯安裝的知識,其中也會對Linux源碼安裝進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、linux下面yum安裝和源碼編譯安裝的區(qū)別 2、linux怎樣編譯git源碼包 3、Linux內(nèi)核源碼如何編譯 4、linu...

米哈游游戲交易平臺(米哈游官網(wǎng)賬號交易)

米哈游游戲交易平臺(米哈游官網(wǎng)賬號交易)

今天給各位分享米哈游游戲交易平臺的知識,其中也會對米哈游官網(wǎng)賬號交易進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、交易貓米哈游換綁碼是什么 2、米哈游有沒有賬號交易平臺 3、原神號在哪才能買到? 4、米哈游有官方交易平臺嗎 5、米哈游實名認(rèn)...

企業(yè)門戶網(wǎng)站系統(tǒng)設(shè)計(企業(yè)網(wǎng)站頁面布局設(shè)計)

企業(yè)門戶網(wǎng)站系統(tǒng)設(shè)計(企業(yè)網(wǎng)站頁面布局設(shè)計)

今天給各位分享企業(yè)門戶網(wǎng)站系統(tǒng)設(shè)計的知識,其中也會對企業(yè)網(wǎng)站頁面布局設(shè)計進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、以wordpress為基礎(chǔ),改造成企業(yè)門戶網(wǎng)站,難度高嗎 2、請問怎么制做網(wǎng)頁?怎么編程? 3、廣州有名的大型網(wǎng)站設(shè)計公司有哪些?...

王者榮耀的源碼(王者榮耀源碼曝光)

王者榮耀的源碼(王者榮耀源碼曝光)

今天給各位分享王者榮耀的源碼的知識,其中也會對王者榮耀源碼曝光進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!本文目錄一覽: 1、同一個王者榮耀帳號,安卓和蘋果是否共用游戲時間 2、王者榮耀怎么自己做皮膚 3、為什么王者榮耀每次下載了還要更新,而不是直接可以登錄賬號?...

java軟件安裝教程詳細(xì)(java軟件安裝教程詳細(xì)視頻)

java軟件安裝教程詳細(xì)(java軟件安裝教程詳細(xì)視頻)

本篇文章給大家談?wù)刯ava軟件安裝教程詳細(xì),以及java軟件安裝教程詳細(xì)視頻對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、下載的java怎樣安裝? 2、誰能告訴我詳細(xì)的安裝java的步驟和怎么使用 急謝 3、java軟件下載后怎么安裝? 4、怎樣安裝JAVA...