問題描述
三子棋就是雙方落棋子,直到其中一方所落棋子行,列或者對角線連成一條線。或者棋下滿,這一種情況是平局。
問題分析
三子棋就是和計算機你一步我一步來實現。首先,得先製作乙個選單提示使用者玩還是退出,這裡用switch語句較為合適一些
我們使用幾個標記,x表示人下的棋子,o表示計算機下的棋子 ,n表示繼續下,e表示平局。
而接下來就是遊戲整體部分的實現,首先得建立乙個棋盤並且初始化,這裡定義乙個函式iintboard()來實現,接下來就是展示棋盤,自定義乙個showboard()函式來實現。然後就是下棋,這裡我們讓人先來下,自定義乙個函式playpeople(),人下完之後應該再展示一下棋盤,再showboard()。接著就是判斷當前這步走完之後是贏還是繼續又或者是平局。判斷完人之後就是電腦來下,我們使用playcomputer()來實現,之後再判斷一次。最後就是判斷返回值究竟是人或者計算機贏,還是平局。
#include#include#define row 3
#define col 3
void initboard(char board[col],int row,int col)
else
printf("please try again");
}}}int getrandom(int start,int end)
int is_full(char board[col],int row,int col)
}return 1;
}char judgeboard(char board[col],int row,int col)
}for(i=0;i} if(a[0][0]==a[1][1]]==a[2][2]) //判斷主對角線
if(a[0][1]==a[1][1]==a[2][0]) //判斷另乙個對角線
if(is_full(a)) //判斷棋盤是否下滿
else
return 'n '; //以上情況都不是繼續下棋
}void playcomputer(char board[col],int row,int col)
}}void game()
playcomputer(board,row,col);
showboard(board,row,col);
result=judge(board,row,col);
if(result!='n')
}switch(result) }
void showmenu()
int main()
}return 0;
}
用C語言實現三子棋
首先我們需要建立兩個原始檔分別為test.c與game.c前者為遊戲的測試,後者為遊戲相關函式的定義,同時建立相應的名為game.h的原始檔宣告相關函式。接下來可以開始搭建主函式框架了,因為不管如何,都會至少進入一次遊戲,由玩家確定退出或繼續,因此,筆者在該處運用do while迴圈實現基本框架。i...
三子棋遊戲(用C語言實現)
一.具體實現 1.棋盤初始化 memset 2.棋盤的展示 3.電腦下棋 4.玩家下棋 5.判斷輸贏 三字連珠 判斷輸贏的時候有四種情況 1.玩家贏 2.電腦贏 3.平局 4.還沒下完,繼續遊戲。電腦下棋為o,玩家下棋為x,棋盤初始化為空 二.框架 原始檔main.c 用於存放主函式 include...
C語言實現三子棋
game.h define crt secure no warnings 1 ifndef game h define game h include include include include define rows 3 define cols 3 void init board char bo...