今天我們來看一下用c語言簡單實現五子棋的實現,這裡面只實現了普通功能,如果有需求可以在這個基礎上面完善一下奧。我們先來看一下**
#include
#include
#include
#include
//#define n 16
char qipan[16][16];//全域性變數,整個檔案的都可以用
int x,y;//代表的是棋盤(陣列)下標為x的行 和 下標為y列的乙個交點
//函式宣告
void initqipan();//棋盤的初始化
void printqipan();//列印棋盤
void pos(int x, int y);//設定游標位置
void startgame();//遊戲開始
int panduan(int x,int y);//判斷是否有人連成五子
int showwhowin();//輸出誰贏了
void whiteplay();//白方下子
void blackplay();//黑方下子
void printshuzi();//列印數字模板
void pos(int x, int y)//設定游標位置,從**開始輸出
void printshuzi()
}void initqipan()
void printqipan()
}int panduan(int x,int y)
}//水平的右邊
i=1;
while(temp==qipan[x][y+i]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//解決垂直的方向
//垂直上方
i=1;
count=1;//清理掉之前的資料
while(temp==qipan[x-i][y]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//垂直下方
i=1;
while(temp==qipan[x+i][y]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//解決左上的斜線 上方
i=1;
j=1;
count=1;
while(temp==qipan[x-i][y-j]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//解決左上的斜線 下方
i=1;
j=1;
while(temp==qipan[x+i][y+j]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//解決右上的斜線 上方
i=1;
j=1;
count=1;
while(temp==qipan[x-i][y+j]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}//解決右上的斜線 下方
i=1;
j=1;
while(temp==qipan[x+i][y-j]&&x>=0&&x<16&&y>=0&&y<15&&count
<5)
}return whowin;
}int showwhowin()
if(leap==2)
return overleap;
}void whiteplay()
else
}printqipan();
}void blackplay()
else
scanf("%d%d",&x,&y);//座標的值
}printqipan();
}void startgame()
printf("您是否重新遊戲:y or n");
if(getch()=='n')
if(getch()=='y')
}int main()
我們寫了遊戲i額函式呼叫來實現,感興趣的可以去試試奧 C語言五子棋
實戰五子棋 思路 1.棋盤由邊緣數字和橫豎線及棋子構成 2.先init初始化,畫出棋盤的數字邊緣,為了第一次下棋的時候能看見棋盤樣子,其實可以封裝起來用 3.落子之後呼叫draw cross畫出整個棋盤,依舊是先畫邊緣數字,再畫棋子,一行一行畫 4.判斷輸贏。include include defi...
五子棋(C語言)
問題描述 在乙個10 10的棋盤中進行人機對戰 在這之前寫了一篇三子棋的 五子棋與其原理相似,主要區別在於判斷輸贏上,10 10的棋盤,贏的條件是每行,每列,或正反對角線上有五個連續相同的棋子。標頭檔案 fivechess.h ifndef fivechess h define fivechess ...
C語言五子棋
include 呼叫圖形庫函式 include getchar 標頭檔案 include 標準輸入輸出標頭檔案 void game void play int judge int a,int b int flag 0 用於記錄和區分棋手1或2 int board 20 20 用於表示棋盤上落子點的座...