不過在著手製作之前,我們首先要把邏輯理清楚, 三子棋首先得有個棋盤對吧,在c語言裡面,我們就用乙個二維陣列來表示棋盤
1.首先對棋盤進行初始化
void init(void)
}
2.初始化完了之後,我們就需要乙個函式來把棋盤 列印在螢幕上
void printfchess(void)
}
3.除了列印和初始化,我們還需要乙個判定輸贏,還有棋子是否已經滿了的函式
判斷輸贏
int checkwinner()
if (g_chess[0][0] == g_chess[1][1] && g_chess[1][1] == g_chess[2][2] && g_chess[0][0] == 'x')
return 1;
if (g_chess[0][2] == g_chess[1][1] && g_chess[1][1] == g_chess[2][0] && g_chess[0][2] == 'x')
return 1;
if (g_chess[0][0] == g_chess[1][1] && g_chess[1][1] == g_chess[2][2] && g_chess[0][0] == 'o')
return 2;
if (g_chess[0][2] == g_chess[1][1] && g_chess[1][1] == g_chess[2][0] && g_chess[0][2] == 'o')
return 2;
}}
棋子滿
int checkfull()
} return 3;
}
4.之後就是我們的重頭戲了,乙個playgame函式將上面的函式 涵蓋進來並進行每一次的下棋
int playgame()
} if (checkwinner() == 2)
if (checkfull() == 3)
while (1)
else if (row <= 2 && row >= 0 && list <= 2 && list >= 0)
else
} if (checkwinner() == 1)
if (checkfull() == 3)
}
5.最後將上面這乙個個模組整合起來就是完整的三子棋**了
#define _crt_secure_no_warnings
#include#include#includechar g_chess[3][3] = ;
void init(void)
}int checkwinner()
if (g_chess[0][0] == g_chess[1][1] && g_chess[1][1] == g_chess[2][2] && g_chess[0][0] == 'x')
return 1;
if (g_chess[0][2] == g_chess[1][1] && g_chess[1][1] == g_chess[2][0] && g_chess[0][2] == 'x')
return 1;
if (g_chess[0][0] == g_chess[1][1] && g_chess[1][1] == g_chess[2][2] && g_chess[0][0] == 'o')
return 2;
if (g_chess[0][2] == g_chess[1][1] && g_chess[1][1] == g_chess[2][0] && g_chess[0][2] == 'o')
return 2; }}
int checkfull()
} return 3;
}void printfchess(void)
}int playgame()
} if (checkwinner() == 2)
if (checkfull() == 3)
while (1)
else if (row <= 2 && row >= 0 && list <= 2 && list >= 0)
else
} if (checkwinner() == 1)
if (checkfull() == 3)
}int main(void)
return 0;
}
最後一些容易 出錯的地方進行 整理一下
還有一些 容易出錯的地方我已經在**的注釋中說得很清楚了,希望對你 有所幫助( φ ω φ )
小遊戲 三子棋
c語言 實現最簡單的三子棋 無人工智慧,介面簡單,手動輸入座標x x 如下 環境 vs2015 game.h pragma once ifndef game h define game h include include include include define row 3 define col...
三子棋小遊戲
簡單版的三子棋遊戲並不難,就只是運用二維陣列和呼叫各個函式。現在來分析遊戲的思路,首先在螢幕上列印乙個選擇遊戲的選單,這個簡單,就只需要呼叫乙個函式輸出就可以了,玩家選擇開始遊戲就進入遊戲函式,首先要初始化二維陣列,可以用memset 來進行初始化,然後在螢幕上列印出三子棋的棋盤,這個也簡單,知識簡...
三子棋小遊戲
game.h define crt secure no warnings ifndef game h define game h include include include include define rows 3 行數 define cols 3 列數void initboard char ...