李景山php C語言實現簡單五子棋

2021-08-01 13:30:01 字數 2148 閱讀 4452

#include 

#include

#include

#include

#define maximus 15 //定義棋盤大小

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;//回合數

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

char* copy(char* strdest,const

char* strsrc)

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)

//緩衝器寫入位置提行

void ln()

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

void display()

copy(buff[maximus]+offset,showtext);//講中間文字資訊複製到緩衝器

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

if(l%2==1)

system("cls");//清理螢幕,準備寫入

for(i=0;i2+1;i++)

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

void print()else

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

if(j==maximus)

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

write(" ");//用空位補齊位置

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

for(i=0;i//寫入交點字元

//如果不在最右側則補充乙個橫線承接左右

if(i!=maximus-1)else}}

ln();//寫完一行後提行

}display();//將緩衝器內容輸出到螢幕

}//在當前游標位置走子,如果非空,則返回0表示失敗

int put()else

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

int check()

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

int rungame()else

if(input==0x20)

return now;

}else

if(victor==2)

return now;

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

}else

if(count==maximus*maximus)

return

0; }

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

}else

if(input==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語言實現簡單五子棋遊戲

在生活中五子棋是乙個十分普遍的一款遊戲,今天讓我們一起來實現這款遊戲。1.初始化棋盤 char ret 資料儲存在乙個二維陣列中,玩家下去 電腦下去 char board row col 最開始為全是空格 initboard board,row,col 初始化棋盤 我們利用initboard函式來初...

C語言實現五子棋

首先展示結果,這是執行以後出現的效果,在 定義棋盤大小 int p maximus maximus 儲存對局資訊 char buff maximus 2 1 maximus 4 3 輸出緩衝器 int cx,cy 當前游標位置 int now 當前走子的玩家,1代表黑,2代表白 int wl,wp ...

C語言實現五子棋

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