超簡易c語言三子棋小遊戲hah

2021-08-18 10:15:33 字數 4202 閱讀 3504

今天來做乙個三子棋小遊戲。

首先,做出遊戲開始介面:

int menu(void)

int main()

} while (1);

system("pause");

}

簡易介面:

接下來畫棋盤:

void displayboard(char arr[row][col], int row, int col)

printf("\n----------------\n");

}}void initboard(char arr[row][col], int row, int col)

}memset(arr, ' ', row*col*sizeof(arr[0][0]));

}

如圖:

開始設計人和計算機的走法:

void computermove(char arr[row][col], int row, int col)

} while (1);

}void playermove(char arr[row][col], int row, int col)

else

}else}}

void game(void);

char ret=0;

initboard(board, row, col);

srand((unsigned)time(null));

dowhile (ret == 'o');

if (ret == 'x')

if (ret == '0')

if (ret == 'q')

}

計算機win:

判斷是否下滿或者遊戲結束 ,平局

static

int isfull(char arr[row][col], int row, int col)

}return1;}

char iswin(char arr[row][col], int row, int col)

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

}if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2] && arr[1][1] != ' ')

if (arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2] && arr[1][1] != ' ')

if (isfull(arr, row, col))

return

'o';

}

這個遊戲所用到的物件和函式庫:

#ifndef ___sanziqi_h__

#define ___sanziqi_h__

#include

#include

#include

#include

#define row 3

#define col 3

void initboard(char arr[row][col], int row, int col);

void displayboard(char arr[row][col], int row, int col);

void computermove(char arr[row][col], int row, int col);

void playermove(char arr[row][col], int row, int col);

char iswin(char arr[row][col], int row, int col);

#endif

好了 ,做出三個模組,把各個模組憑藉起來:

sanziqi.h:

#ifndef ___sanziqi_h__

#define ___sanziqi_h__

#include

#include

#include

#include

#define row 3

#define col 3

void initboard(char arr[row][col], int row, int col);

void displayboard(char arr[row][col], int row, int col);

void computermove(char arr[row][col], int row, int col);

void playermove(char arr[row][col], int row, int col);

char iswin(char arr[row][col], int row, int col);

#endif

main.c

#include

#include

#include"sanziqi.h"

/* 測試驅動開發

1.談需要,需求文件

2.設計文件

3.編碼

4.測試

5.運維 瀑布模型 */

int menu(void)

void game(void);

char ret=0;

initboard(board, row, col);

srand((unsigned)time(null));

dowhile (ret == 'o');

if (ret == 'x')

if (ret == '0')

if (ret == 'q')

}int main()

} while (1);

system("pause");

}

sanziqi.c:

#include"sanziqi.h"

#include

#include

#include

#include

void displayboard(char arr[row][col], int row, int col)

printf("\n----------------\n");

}}void initboard(char arr[row][col], int row, int col)

}memset(arr, ' ', row*col*sizeof(arr[0][0]));

}void computermove(char arr[row][col], int row, int col)

} while (1);

}void playermove(char arr[row][col], int row, int col)

else

}else

}}static

int isfull(char arr[row][col], int row, int col)

}return1;}

char iswin(char arr[row][col], int row, int col)

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

}if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2] && arr[1][1] != ' ')

if (arr[2][0] == arr[1][1] && arr[1][1] == arr[0][2] && arr[1][1] != ' ')

if (isfull(arr, row, col))

return

'o';

}

嘿嘿 ,寫完了玩一把:

好了 ,到這三子棋就寫完了,如果有更好的想法和意見**qq294636185,歡迎一起交流學習。。。

C語言小遊戲 三子棋

三子棋小遊戲 三子棋的實現是當玩家或者電腦自身所下的位置在同一條線時,判斷輸贏。在編寫該遊戲 時應注意到以下幾個方面的問題 1 首先應該列印棋盤以及初始化棋盤 2 在玩家和電腦落子之後均要列印一次棋盤 3 每次落子之前列印棋盤後,均要判斷是否已產生贏家 4 判斷輸贏之後,應當判斷此時棋盤是否已滿 5...

C語言小遊戲 三子棋

c語言三子棋小遊戲,通過二維陣列構建棋盤.利用七個個函式 void init 構建棋盤 void meau 遊戲選單 void display 構建棋盤 void player 玩家進行 void computer 電腦進行 char iswin 判斷輸贏 int isfull 判斷棋盤是否下滿 來...

C語言小遊戲 三子棋

將整個 分裝在三個檔案中,分別為原始檔 test.c game.c game.h 如下 game.h ifndef game h define game h define row 3 define col 3 定義棋盤行數和列數 include include include include voi...