C語言實現五子棋

2021-10-14 07:46:08 字數 2648 閱讀 6637

首先展示結果,這是執行以後出現的效果,在

//定義棋盤大小

int p[maximus]

[maximus]

;//儲存對局資訊

char buff[maximus *2+

1][maximus *4+

3];//輸出緩衝器

int cx, cy;

//當前游標位置

int now;

//當前走子的玩家,1代表黑,2代表白

int wl, wp;

//當前寫入緩衝器的列數和行數字置

char

* showtext;

//在棋盤**顯示的文字資訊

int count;

//回合數

char

*copy

(char

* strdest,

const

char

* strsrc)

//修改過的字串複製函式,會忽略末端的\0

return strdestcopy;

}void

initialize()

//初始化乙個對局函式

} cx = cy = maximus /2;

//重置游標到**

now =1;

//重置當前為黑方

}char

*getstyle

(int i,

int j)

//獲得棋盤中指定座標交點位置的字元,通過製表符拼成棋盤

char

*getcurse

(int i,

int j)

else

if(i == cx +1)

return

" ";

//如果不在游標附近則為空

}void

write

(char

* c)

//向緩衝器寫入字串

voidln(

)//緩衝器寫入位置提行

void

display()

//將緩衝器內容輸出到螢幕

copy

(buff[maximus]

+ offset, showtext)

;//講中間文字資訊複製到緩衝器

if(l %2==

1)//如果中間文字長度為半形奇數,則補上空格,避免混亂

system

("cls");

//清理螢幕,準備寫入

for(i =

0; i

1; i++)}

void

print()

//將整個棋盤算出並儲存到緩衝器,然後呼叫display函式顯示出來

else

//如果在棋盤中間則用豎線承接上下}if

(j == maximus)

//如果是最後一次迴圈,則只需要處理邊側字元,交點要少一排ln(

);//提行開始列印交點內容

write

(" ");

//用空位補齊位置

for(i =

0; i

)//按橫座標迴圈正常的次數

else}}

ln();

//寫完一行後提行

}display()

;//將緩衝器內容輸出到螢幕

}int

put(

)else

}int

check()

//勝負檢查,即判斷當前走子位置有沒有造成五連珠的情況

intrungame()

//進行整個對局,返回贏家資訊(雖然有用上)

else

if(input ==

0x20

)//如果是空格則開始走子

return now;

}else

if(victor ==2)

//如果白方達到勝利,顯示提示文字並等待一次按鍵,返回勝利資訊

return now;

}else

if(count == maximus*maximus)

//如果回合數達到了棋盤總量,即棋盤充滿,即為平局

return0;

}}}else

if(input ==

0xe0

)//如果按下的是方向鍵,會填充兩次輸入,第一次為0xe0表示按下的是控制鍵

if(cx<

0)cx = maximus -1;

//如果游標位置越界則移動到對側

if(cy<

0)cy = maximus -1;

if(cx>maximus -

1)cx =0;

if(cy>maximus -

1)cy =0;

}}}int

main()

//主函式

C語言實現五子棋

可以稱得上史上最簡單的五子棋版本了。可以使用curses庫來改進頁面和下棋方式。並且對於輸入的座標沒有進行鑑別,如果輸入的座標超過棋盤大小,就會段錯誤退出。我改進了一點,但是還是沒有完全避免這個問題。gobang.c include include define n 15 int chessboar...

C語言實現簡易五子棋

用c語言寫乙個簡單的五子棋遊戲,可以實現玩家與電腦的對弈,玩家先落子,然後電腦落子,直到有一方五個棋子連成一線則取得勝利。1 首先我們先寫乙個選單,在玩家一進入遊戲時做乙個提醒,玩家輸入1時進入遊戲,輸入0時退出遊戲,輸入其它則提示輸入有誤。int menu 2 根據遊戲的進行步驟來理一下思路,方便...

C語言實現 五子棋遊戲

之前我們實現了關於電腦版的三子棋的遊戲玩法和思路,今天我們來實現五子棋的玩法和思路 和三子棋的很多思路很相似 define crt secure no warnings include include include define row 10 define col 10 char border r...