「黑白棋」技術文件

2021-08-22 11:02:28 字數 4742 閱讀 2077

「黑白棋」技術文件

功能:

實現一般黑白棋的功能,實現兩人對戰。

黑白棋盤結構:

採用陣列結構,陣列由0,1,2三種狀態組成,其中「0」表示沒有棋子, 「1」表示黑子, 而「0」表示白子。

執行過程:

執行檔案:blackwhite.cpp

執行環境:turbo c++ 3.0

巨集定義:

字段值描述

true

1表示真的情況

false

0表示假的情況

up0x4800

鍵盤箭頭↑鍵

down

0x5000

鍵盤箭頭↓鍵

left

0x4b00

鍵盤箭頭←鍵

right

0x4d00

鍵盤箭頭→鍵

esc0x011b

鍵盤箭頭esc 鍵

enter

0x1c0d

鍵盤箭頭enter 鍵

資料型別

全域性變數的說明:

函式名型別

描述gridstate

int儲存8×8的棋盤的狀況

scoreblack

int儲存黑棋的分數

scorewhite

int儲存白棋的分數

keyboard

int鍵盤的相應儲存

原型:int

gridstate[8][8] = , scoreblack[2] = , scorewhite[2] = , keyboard;

介面函式列表:

void printchessboard(void);

void fillcoloragain(int coordinatex, int coordinatey);

void playtheresult(void);

void minitance(void);

void setthefirstcolor(int operation);

void fillcoloragain(int coordinatex, int coordinatey);

void prichange(int coordinatex, int coordinatey);

void transcore(void);

void printscore(int playnum);

void playtheresult(void);

介面函式說明:

1.printchessboard

1.1功能說明:列印棋盤和log以及操作說明

1.2前置條件:呼叫initgraph圖形函式初始化(

以下涉及圖形操作的均需要,以下將省略,但是也是前置條件

)1.3

函式原型:

void

printchessboard(

void);

1.4引數說明:

void

1.5返回值說明:

void

1.6使用舉例(演算法描述):

void printchessboard(void) 2.

minitance

2.1功能說明:進入對戰無窮迴圈

2.2前置條件:呼叫printchessboard畫戰區

2.3函式原型:

void

minitance(

void

)2.4引數說明:

void

2.5返回值說明:

void

2.6使用舉例:

void minitance(void)

/* get the first coordinate */

while(true)

else

continue;/* continue when failed */

}/* judge the keyboard */

//對鍵盤中的上下左右進行移動操作

if (keyboard == esc)

break;

//處理sum量,處理sum的量

playtheresult();/* get the result to the screen */

operation++;

if (operation == 11)/* when operation achieve the 11 then to 1 */

operation = 1;

}/* end: while(true) */}

3.display_student

3.1功能說明:顯示所有的學生資訊

3.2前置條件:鍊錶中存在學生的資訊

3.3函式原型:

void displaystudent(linklist lstudent)

3.4引數說明:

lstudent乙個student結構體的鍊錶。

3.5返回值說明:無

3.6使用舉例:

voiddisplaystudent(linklistlstudent)

else

printf("%4d\t",lstudent->next->age);

if(lstudent->next->sage==0)

elseif(lstudent->next->sage==1)

else

printf("%4.1f\t",lstudent->next->achieve.math);

printf("%4.1f\t",lstudent->next->achieve.chinese);

printf("%4.1f\t",lstudent->next->achieve.computer);

printf("\n");

lstudent=lstudent->next; } }

4.insertstudent

4.1功能說明:插入乙個學生資訊

4.2前置條件:無

4.3函式原型:

bool insertstudent(linklist &lstudent)

4.4引數說明:

lstudent乙個student結構體的結點,為引用型別。

4.5返回值說明:如果函式成功呼叫返回true。如果不成功返回false,並且顯示錯誤原因

4.6使用舉例:

boolinsertstudent(linklist&lstudent) 5.

deletestudent

5.1功能說明:刪除乙個學生資訊,不能刪除第乙個記錄

5.2前置條件:無

5.3函式原型:

bool deletestudent(linklist &lstudent)

5.4引數說明:

lstudent乙個student結構體的結點,為引用型別。

5.5返回值說明:如果函式成功呼叫返回true。如果不成功返回false,並且顯示錯誤原因

5.6使用舉例:

booldeletestudent(linklist&lstudent)

q=p->next;

p->next=q->next;

free(q);

returntrue; }

文件說明備註:

[//] : 表示一段演算法,或簡單的功能說明。

[/**/ ] : 注釋說明部分。

黑白棋遊戲

黑白棋遊戲 time limit 10000ms memory limit 65536k total submit 9 accepted 5 case time limit 1000ms description 問題描述 黑白棋遊戲的棋盤由4 4方格陣列構成。棋盤的每一方格中放有1枚棋子,共有8枚白...

黑白棋遊戲

用c 封裝了一下,只完成了乙個雛形,有很多功能沒有新增上,但 的行數已經縮短了很多了。include include include includeusing namespace std class chess int counter 計數器,計算棋子個數 const friend void dra...

黑白棋遊戲

include include using namespace std char e 30 30 int a 30 30 int c 30 int x 30 int y 30 intf int n,int sum int pos sum 2 n int cnt 0 int flag 0 int w ...