教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 说明书 >

在linux下ubuntu的五子棋游戏c语言代码(2)

来源:网络收集 时间:2026-04-11
导读: // 鍒濆鍖栨鐩?void init(int map[CHESSBOARD1][CHESSBOARD2]) { int i,j; for(i=0;i void init2(int map[CHESSBOARD1][CHESSBOARD2][4]) { int i,j,k; for(i=0;i for(j=0;j void init3(int map[CHESSBOARD1][C

// 鍒濆鍖栨鐩?void init(int map[CHESSBOARD1][CHESSBOARD2]) {

int i,j;

for(i=0;i

void init2(int map[CHESSBOARD1][CHESSBOARD2][4]) {

int i,j,k;

for(i=0;i

for(j=0;j

void init3(int map[CHESSBOARD1][CHESSBOARD2][1]) {

int i , j;

for(i = 0;i

int detection(int map[CHESSBOARD1][CHESSBOARD2][4],int x,int y,int player) {

int i,j,k,nx,ny,counter = 0;

int dirx[4] = {0,1,1,1}; int diry[4] = {1,0,1,-1};

if(board[x][y]) {

return 0; }

for(i =0;i<4;i++) {

nx = x; ny = y;

while(board[nx+=dirx[i]][ny+=diry[i]] == player) counter++; nx =x; ny =y;

while(board[nx-=dirx[i]][ny-=diry[i]] == player) counter++;

switch(counter) { case 0: map[x][y][i] = 0;break; case 1: map[x][y][i] = 5;break; case 2: map[x][y][i] = 10;break; case 3: map[x][y][i] = 15;break; case 4: map[x][y][i] = 20;break; }

//printf(\ \ counter = 0; }

printf(\return 0; }

int get_max(int map[CHESSBOARD1][CHESSBOARD2][4]) {

int i,j,k; int max = 0;

for(i = 0;i

if(map[i][j][k] >max) max = map[i][j][k]; }

return max; }

struct node_t get_max2(int map[CHESSBOARD1][CHESSBOARD2][4]) {

int i,j,k;

struct node_t p; int max = 0,cur;

for(i = 0;i

for(j = 0;j

for(k = 0;k<4;k++) {

cur = map[i][j][k]; if(cur >max) {

max = cur; p.x = i; p.y = j; p.z = k; } } } }

return p; }

struct node_t get_max3(int map[CHESSBOARD1][CHESSBOARD2][4]) {

int i,j,k;

struct node_t p; int max = 0,cur;

for(i = 0;i

for(j = 0;j

for(k = 0;k<4;k++) {

cur = map[i][j][k]; if(cur >= max) {

max = cur; p.x = i; p.y = j; p.z = k; } } } }

return p; }

struct node_t get_max4(int map[CHESSBOARD1][CHESSBOARD2][1]) {

int i,j;

struct node_t p; int max = 0,cur;

for(i = 0;i

for(j = 0;j

cur = map[i][j][1]; if(cur >= 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;i

for(j = 0;j

detection(play1,i,j,1); detection(com,i,j,2);

} } }

//鏌ョ湅妫嬬洏鐨勬瀛愭儏鍐垫湁鍑犱釜杩炰竴璧?int check(int x,int y,int board[CHESSBOARD1][CHESSBOARD2]) { int i = 0,j = 0,nextx,nexty; int counter = 1; int player; int directionx[4] = {0,1,1,1}; int directiony[4] = {1,0,1,-1}; player = board[x][y]; if(player == 0) return 0; for(i = 0;i<4;i++) { nextx = x; nexty = y; counter = 1; for(j = 1;j<5;j++) { nextx += directionx[i]; nexty +=directiony[i]; if(board[nextx][nexty] == player) counter++; } if(counter == 5) { return 1; } } return 0; }

void drawbg(int row,int col) {

int x,y;

x = X_OFFSET + SPACE*col; y = Y_OFFSET + SPACE*row; fb_drawcycle(x,y,RADIO,BLUE);

fb_drawline(x-RADIO,x+RADIO,y,RED); fb_drawline2(x,y-RADIO,y+RADIO,RED); }

int if_gameover(int board[CHESSBOARD1][CHESSBOARD2])

…… 此处隐藏:379字,全部文档内容请下载后查看。喜欢就下载吧 ……
在linux下ubuntu的五子棋游戏c语言代码(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/449319.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)