三子棋小遊戲
##創作遊戲思路:
1、在顯示介面將初始化棋盤列印出來並有對應座標
2、在玩家輸入座標是要考慮玩家輸入的座標是否在合法範圍內
3、玩家通過鍵盤輸入對應座標為「落子」動作
4、玩家的對手為電腦,電腦隨機「落子」,隨機座標由「時間戳」生成
5、最後通過最後一步的「落子」判斷輸贏情況
##遊戲模組實現及其相應**
1、初始化棋盤,將初始棋盤的元素全部初始化『 』,加上邊界符號在介面列印出來,通過函式來實現模組化。
void
init
(char chessboard[max_row]
[max_col])}
}
2、// 讓玩家落子. 通過控制台輸入行列座標的方式來實現
void
playermove
(char chessboard[max_row]
[max_col]
)// 校驗玩家落子位置是否已經有子了.
if(chessboard[row]
[col]
!=' '
)// 真正落子了
chessboard[row]
[col]
='x'
;break;}
}
3、電腦落子,電腦隨機產生一組隨機座標
void
computermove
(char chessboard[max_row]
[max_col]
) chessboard[row]
[col]
='o'
;break;}
}
4、判棋盤是否滿了,出現和棋的情況
int
isfull
(char chessboard[max_row]
[max_col])}
}return1;
}
5、判斷輸贏情況,最後一次輸入座標,看是否出現三個字連成線判斷輸贏或者和棋。
char
iswin
(char chessboard[max_row]
[max_col])}
// 判定所有的列
for(
int col =
0; col < max_col; col++)}
// 判定兩個對角線
if(chessboard[0]
[0]!=
' '&& chessboard[0]
[0]== chessboard[1]
[1]&& chessboard[0]
[0]== chessboard[2]
[2])
if(chessboard[2]
[0]!=
' '&& chessboard[2]
[0]== chessboard[1]
[1]&& chessboard[2]
[0]== chessboard[0]
[2])
// 判定是否和棋
// 看棋盤中是否有剩餘空間if(
isfull
(chessboard)
)return
' ';
}
##設計體驗:
以上為該遊戲的主要內容板塊,
// 一局遊戲的基本流程
// 1. 建立棋盤並初始化
// 2. 列印棋盤
// 3. 玩家落子(玩家輸入行列座標的方式來落子)
// 4. 判定勝負關係
// 5. 電腦落子(隨機位置落子)
// 6. 判定勝負關係
// 回到 2 繼續執行
通過這次小遊戲的創作,我更加深了函式對模組化實現的的重要性。對函式的使用也更加熟練。同時,利用陣列進行棋盤初始化和定義,加深了我對陣列應用的知識。
三子棋遊戲
首先介紹一下三子棋遊戲規則 這是乙個玩家和電腦對戰的三子棋遊戲 棋盤如上圖所示,三個棋子連在一起則勝利 下面就是用c語言實現的方法 建立棋盤 利用二維陣列來實現乙個棋盤,棋盤剛開始是沒有任何棋子的,將二維陣列所有元素初始化為空格即可 玩家下棋 玩家輸入棋盤中的對應座標來下棋,下棋時需要考慮輸入座標合...
三子棋遊戲
閒來無事,竟意外發現了三子棋遊戲,順便實現了這個過程,我們一起來看下。三子棋的實現需要的是五個函式,我用了initboard 初始化棋盤函式 display 列印棋盤函式 player 玩家 computer 電腦 check full 判斷棋盤是否已滿,從而判斷輸贏 game.h define c...
三子棋遊戲
遊戲部分思路 初始化棋盤 玩家下棋 輸出棋盤 判斷輸贏 電腦下棋 判斷輸贏 迴圈這部分,直到有人贏得比賽 效果圖 test,c原始檔 define crt secure no warnings include game.h void menu void game char win init boar...