五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

c語言編程 C語言入門 c語言(C語言程序設(shè)計教程 c語言視頻教程 c語言零基礎(chǔ)

2022-04-30 11:53 作者:方塊工藝  | 我要投稿

遞歸實(shí)現(xiàn)五子棋的判斷


// char ch: 判斷的棋子;int x, int y: 判斷的坐標(biāo);int mx, int my: 下一個要判斷的坐標(biāo)的偏移量。


//檢查函數(shù),返回x、y往mx、my方向不包括自身的連續(xù)棋子個數(shù)(例如board[1][1]、board[2][1]、board[3][1]都是#子,調(diào)用check(board[ROW][COL], '#', 3, 1, -1, 0)后得到的返回值是2):


  1. int check(char board[ROW][COL], char ch, int x, int y, int mx, int my) {
  2. int px = x+mx, py = y+my; //px、py:偏移后的坐標(biāo)
  3. if (px >= 0 && py >= 0 && px < ROW && py < COL) { //防止索引越界
  4. if (board[x][y] == board[px][py]) {
  5. return 1 + check(board, ch, px, py, mx, my);
  6. }
  7. }
  8. return 0;
  9. }


// 判斷函數(shù):判斷是否五子連成

  1. int isWin(char board[ROW][COL], int x, int y, char ch) {
  2. if (
  3. check(board, ch, x, y, 1, 0) + check(board, ch, x, y, -1, 0) >= 4
  4. || check(board, ch, x, y, 0, 1) + check(board, ch, x, y, 0, -1) >= 4
  5. || check(board, ch, x, y, 1, 1) + check(board, ch, x, y, -1, -1) >= 4
  6. || check(board, ch, x, y, 1, -1) + check(board, ch, x, y, -1, 1) >= 4
  7. ) {
  8. return 1; //五子連成,返回1
  9. }
  10. for (int i = 0; i < ROW; i++) { //判斷棋盤是否已滿
  11. for (int j = 0; j < COL; j++) {
  12. if (board[i][j] == ' ') {
  13. return 0; //棋盤未滿,返回0
  14. }
  15. }
  16. }
  17. return -1; //平局,返回-1
  18. }


c語言編程 C語言入門 c語言(C語言程序設(shè)計教程 c語言視頻教程 c語言零基礎(chǔ)的評論 (共 條)

分享到微博請遵守國家法律
当阳市| 禹州市| 昌都县| 孟州市| 定边县| 东至县| 阿图什市| 太仓市| 诏安县| 江门市| 新丰县| 贡觉县| 德化县| 桃园县| 略阳县| 伊川县| 含山县| 吴桥县| 临朐县| 白山市| 车致| 仪陇县| 铜鼓县| 翁牛特旗| 丰城市| 平南县| 龙游县| 鞍山市| 搜索| 邢台县| 日喀则市| 原阳县| 景德镇市| 揭阳市| 基隆市| 鹿泉市| 福海县| 东海县| 都江堰市| 水城县| 永安市|