日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

c语言五子棋linux,在linux下ubuntu的五子棋游戏c语言代码.doc

發(fā)布時間:2025/4/16 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言五子棋linux,在linux下ubuntu的五子棋游戏c语言代码.doc 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

= max)

{

max = cur;

p.x = i;

p.y = j;

p.z = 1;

}

}

}

return p;

}

//鏌ョ湅鍧愭爣x y鏄惁鑳借蛋

int if_done(int x,int y)

{

if(x>=CHESSBOARD1||x<0)

return 0;

if(y>=CHESSBOARD2||y<0)

return 0;

return 1;

}

void computer()

{

int i,j,k;

init2(play1);

init2(com);

for(i = 0;i0)

{

e = (buf[0]&0x07);

c = 2*buf[1];

d = 2*buf[2];

if(e == NOKEY)

{

restore_cursor(mx,my);

mx += c;

my -= d;

if(mx >= FB_W-17)

mx=FB_W-17;

if(mx < 0)

mx = 0;

if(my > FB_H-17)

my = FB_H-17;

if(my < 0)

my = 0;

save_cursor(mx,my);

drawmouse(mx,my);

}

else if(e == 1)

{

if(step%2==1)

{

// printf("play1 done!\n");

col =(int) (mx-X_OFFSET+SPACE/2)/SPACE;

row = (int)(my-Y_OFFSET+SPACE/2)/SPACE;

if(!(if_done(row,col))||board[row][col])

{

//printf("you cant done here !\n");

col =(int) (mx-X_OFFSET)/SPACE;

row = (int)(my-Y_OFFSET)/SPACE;

continue;

}

board[row][col] = 1;

restore_cursor(mx,my);

printqizi(row,col,BLACK);//鐢婚粦鑹茬殑媯嬪瓙

save_cursor(mx, my);

array[row][col][1] = step;

step ++;

computer();//鏇存柊浼樺厛綰ц〃

// printf("flag2 %d\n",flag2);

//flag2 = 1;

}

else {

// printf("play2 done!\n");

max1 = get_max(play1);

max2 = get_max(com);

if(max1 >= max2)

{

p = get_max2(play1);

}

else{

p = get_max2(com);

}

row = p.x;

col = p.y;

if(!(if_done(row,col))||board[row][col])

{

// printf("you cant done here !\n");

max1 = get_max(play1);

max2 = get_max(com);

if(max1 >= max2)

{

p = get_max3(play1);

}

else{

p = get_max3(com);

}

row = p.x;

col = p.y;

continue;

}

board[row][col] = 2;

computer(board);

restore_cursor(mx,my);

printqizi(row,col,WHITE);

save_cursor(mx, my);

array[row][col][1] = step;

step++;

//flag2 = 0;

}

if(if_gameover(board))

flag1=0;

}

else if(e == 2)

{

if(step != 1)

{

p = get_max4(array);

row = p.x;

col = p.y;

board[row][col] = 0;

array[row][col][1] = 0;

computer(board);

drawbg(row,col);

//restore_cursor(mx,my);

step--;

}

}

}

}

if(board[row][col] ==1)

printf("GAME OVER! play1 win!\n");

else

printf("GAME OVER! play2 win!\n");

}

void mouse_doing2()

{

int fd,step = 1;

int row,col,flag1=1;

int max1,max2;

char buf[8];

struct node_t p;

int mx,my,a,b,c,d,e;

mx = FB_W/2-100;

my = FB_H/2;

int n;

//drawmouse(mx,my);

fd = open("/dev/input/mice",O_RDWR|O_NONBLOCK);

if(fd < 0)

{

printf("open mouse error!\n");

}

save_cursor(mx,my);

drawmouse(mx,my);

while(flag1)

{

if(read(fd,buf,8) >0)

{

e = (buf[0]&0x07);

c = 2*buf[1];

d = 2*buf[2];

if(e == NOKEY)

{

restore_cursor(mx,my);

mx += c;

my -= d;

if(mx >= FB_W-17)

mx=FB_W-17;

if(mx < 0)

mx = 0;

if(my > FB_H-17)

my = FB_H-17;

if(my < 0)

my = 0;

save_cursor(mx,my);

drawmouse(mx,my);

}

else if(e == 1)

{

if(step%2==1)

{

// printf("play1 done!\n");

col =(int) (mx-X_OFFSET+SPACE/2)/SPACE;

row = (int)(my-Y_OFFSET+SPACE/2)/SPACE;

if(!(if_done(row,col))||board[row][col])

{

//printf("you cant done here !\n");

col =(int) (mx-X_OFFSET)/SPACE;

row = (int)(my-Y_OFFSET)/SPACE;

continue;

}

board[row][col] = 1;

restore_cursor(mx,my);

printqizi(row,col,BLACK);//鐢婚粦鑹茬殑媯嬪瓙

save_cursor(mx, my);

array[row][col][1] = step;

step ++;

//computer();//鏇存柊浼樺厛綰ц〃

// printf("flag2 %d\n",flag2);

//flag2 = 1;

}

else {

// printf("play2 done!\n");

col =(int) (mx-X_OFFSET+SPACE/2)/SPACE;

row = (int)(my-Y_OFFSET+SPACE/2)/SPACE;

if(!(if_done(row,col))||board[row][col])

{

//printf("you cant done here !\n");

col =(int) (mx-X_OFFSET)/SPACE;

row = (int)(my-Y_OFFSET)/SPACE;

continue;

}

board[row][col] = 2;

//computer(board);

restore_cursor(mx,my);

printqizi(row,col,WHITE);

save_cursor(mx, my);

array[row][col][1] = step;

step++;

//flag2 = 0;

}

if(if_gameover(board))

flag1=0;

}

else if(e == 2)

{

if(step != 1)

{

p = get_max4(array);

row = p.x;

col = p.y;

board[row][col] = 0;

array[row][col][1] = 0;

computer(board);

drawbg(row,col);

//restore_cursor(mx,my);

step--;

}

}

}

}

if(board[row][col] ==1)

printf("GAME OVER! play1 win!\n");

else

printf("GAME OVER! play2 win!\n");

}

int main(int argc, const char *argv[])

{

fb_open();

int row,col;

int m;

init(board);

init2(play1);

printf("qing xuan ze you xi mo shi:\n");

printf("1 dan ren you xi\n");

printf("2 shuang ren you xi\n");

scanf("%d",&m);

if(m == 1)

{

printboard();

mouse_doing();

}

if(m == 2)

{

printboard();

mouse_doing2();

}

return 0;

}

總結

以上是生活随笔為你收集整理的c语言五子棋linux,在linux下ubuntu的五子棋游戏c语言代码.doc的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。