C語言 三子棋

2021-08-11 15:47:53 字數 2552 閱讀 1067

使用工具:vs2017

**分為三部分 game.h(函式宣告) game.c(實現函式功能) test.c(main函式)

棋盤為3*3的矩陣

規則:

1.每回合玩家與電腦只能放置一枚棋子

2.已有棋子的位置不能再放置棋子

3.若有一方的三枚棋子可連城一條直線,則勝利

4.若棋盤棋子已經布滿,但是雙方沒有一方勝利,則平局

注:1.此程式設計的電腦走的方式是產生乙個隨機值作為座標,較為簡單,可改進,讓電腦更加智慧型

2.#define _crt_secure_no_warnings 這句**是為了不讓scanf 報錯

game.h部分

#ifndef __game_h__

#define __game_h__

#define rol 3 //行

#define row 3 //列

#include

#include

#include

#include

void menu(void);//開始選單

void init(char arr[rol][row], int rol, int row);//初始化陣列

void checkerboard(void);//遊戲棋盤

void playermove(char arr[rol][row],int rol,int row); //玩家走

void comermove(char arr[rol][row], int rol, int row); //電腦走

int win(char arr[rol][row], int rol, int row); //判斷勝利

#endif // __game_h__

game.c部分

#define _crt_secure_no_warnings

#include"game.h"

void menu(void)//開始選單

void init(char arr[rol][row], int rol, int row)//初始化陣列

}} void checkerboard(char arr[rol][row], int rol, int row)//列印遊戲棋盤

} void playermove(char arr[rol][row], int rol, int row)//玩家玩

else

}else

}} void comermove(char arr[rol][row], int rol, int row)//電腦走}}

} //判斷輸贏

int win(char arr[rol][row], int rol, int row)}}

for (i = 0; i < rol; i++)}}

for (i = 0; i < rol; i++)}}

if(1 == execute)

return

0; }

test.c部分

#define _crt_secure_no_warnings

#include"game.h"

int main()

; srand((unsigned

int)time(null));

while(1)

i = 1; //i用來控制 if (i == 0)中的語句是否進行

scanf("%d", &start);

switch (start)

comermove(arr, rol, row);

checkerboard(arr, rol, row);

if (win(arr, rol, row) == 1)

}break;

case

0: printf("遊戲退出!\n");

system("pause");

return

0; break;

default:

printf("輸入錯誤!請重新輸入:");

break;}}

return

0;}

遊戲介面

開始遊戲

遊戲勝利,是否再次遊戲

三子棋(c語言)

今天做了乙個三子棋小遊戲,寫了好久卻只完成了一部分,先把這部分分享給大家吧!望大家給點建議和指導,最後判斷輸贏部分到現在還沒構思出來,嘿嘿!game.h define crt secure no warnings 1 ifndef game h define game h include inclu...

c語言 三子棋

c語言三子棋 來完善一下三子棋 game.h define crt secure no warnings 1 ifndef game h define game h include include include include define row 3 define col 3 void menu...

C語言 三子棋

三子棋是乙個很簡單的遊戲,用c語言實現,就是實現以下功能 1.初始化介面 棋盤 2.顯示介面 3.玩家和電腦交替走棋 4.在每次走棋之後判斷是否有人勝利 5.判斷棋盤是否已下滿棋子。注 此程式玩家下棋時的座標,就是棋盤實際上顯示的座標,並不需要再進行計算,判斷是從 0 還是 1 開始,即棋盤的橫縱座...