二、設計思路
三、程式實現
四、部分執行效果
五、相關支援
1、實現功能
該程式提供了九宮棋玩法的實現。並且可以接受兩種模式,人機對戰和雙人對戰,並且支援通過命令列引數選擇兩種模式。
2、介紹
學習c語言到陣列函式這塊了,打算寫個小的專案來練一下手,驗證一下自己的學習成果(p.s.當然部落格也是第一次寫)。想來想去應該是九宮棋比較簡單,所以用學到的知識簡單實現了一下九宮棋。如果有不妥帖之處,懇請大佬多多指正。
3、編譯器
mingw gcc version 9.2.0
4、致謝
p.s. 本程式借鑑了hidden.blueee的三子棋的部分思路,十分感謝hidden.blueee提供的一些思路。
大體分為1介面以及錯誤資訊輸出,2玩家和計算機落子,3判斷輸贏,4單次九宮棋玩法的實現與5主函式的統籌呼叫五部分。
函式名註解
返回值引數
描述output
1void
int輸出歡迎,結束介面
isfull
3int
char (*) [03]
判斷棋盤是否已滿
iswin
3char
char (*) [03]
判斷是否有玩家贏得比賽
endputwin
1void
char
遊戲單次結束輸出獲勝者
inputerr
1void
int輸出輸入錯誤的提示
playamethod
4void
void
人機對戰的實現
playbmethod
4void
void
雙人對戰的實現
pcmove
2void
char (*) [03]
電腦無腦落子
playermove
2void
char (*) [03]
玩家落子
putchess
1void
char (*) [03]
輸出實時棋盤
putmenu
1void
void
列印選擇選單
1、main()函式的實現
說句實話,發現這個主函式多少有點臃腫。
乙個小tip:記得處理scanf函式讀取後殘留的換行符。
int main (
int argc,
char
**ar**)
else
if(modechoice ==
'b'|| modechoice ==
'b')
else}}
else
if(argc ==2)
}else
// 命令列引數輸入過多錯誤
while
(true)
else
if(modechoice ==
'b'|| modechoice ==
'b')
else}}
else
break;}
output(2
);return0;
}
2、pcmove()實現–計算機的落子
話說有了計算機的落子玩家的的落子玩家落子應該容易實現了。
void
pcmove
(char chess[max_row]
[max_col]
,char player)
}
3、iswin()函式的實現–判斷是否有玩家贏棋char
iswin
(char chess[max_row]
[max_col]
)for
(int col =
0; col < max_col; col++
)// 判斷對角線是否有玩家贏
if(chess[0]
[0]!=
' '&& chess[0]
[0]== chess[1]
[1]&& chess[0]
[0]== chess[2]
[2])
return chess[0]
[0];
if(chess[2]
[0]!=
' '&& chess[2]
[0]== chess[1]
[1]&& chess[2]
[0]== chess[0]
[2])
// 判斷棋盤是否已滿if(
isfull
(chess)
)return
'q';
return
' ';
}
4、playamethod()函式實現void
playamethod
(void);
// 遊戲開始,玩家都未落子,輸出棋盤
提取碼:uydk
C 藍橋杯 九宮重排
題目 如下面第乙個圖的九宮格中,放著 1 8 的數字卡片,還有乙個格仔空著。與空格子相鄰的格仔中的卡片可以移動到空格中。經過若干次移動,可以形成第二個圖所示的局面。我們把第乙個圖的局面記為 12345678.把第二個圖的局面記為 123.46758 顯然是按從上到下,從左到右的順序記錄數字,空格記為...
Android中的九宮格
1 實現基類 1 item數量控制 private void ensureitems int count else if c count for int i 0 i getchildcount i 2 mearsure處理 override protected final void onmeasur...
藍橋杯 歷屆試題 九宮幻方(C )
問題描述 解題思路 具體 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明最近在教鄰居家的小朋友小學奧數,而最近正好講述到了三階幻方這個部分,三階幻方指的是將1 9不重複的填入乙個33的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。三階幻方又被稱作九宮格,在小學奧...