二維陣列應用 掃雷

2021-09-25 16:44:36 字數 1969 閱讀 7613

遊戲簡介:

電腦隨機設定10個雷,使用者輸入座標,若座標下是雷則結束遊戲,不是則該位置顯示周圍的雷數。

game.h

#ifndef __game_h__ 

#define __game_h__

#include//設定螢幕顯示的雷盤的大小

#define row 9

#define col 9

//設定實際雷盤的大小(判斷雷數是看使用者所選的座標周圍八個座標內是否設雷,但若是使用者選擇的座標是位於雷盤四周,則會陣列訪問越界,所以行和列都要多設兩行)

#define rows row+2

#define cols col+2

//設定雷的數量

#define mine_num 10

#include#include//初始化雷盤

void intiboard(char board[rows], int row, int col, char set);

//列印雷盤

void show(char board[rows], int row, int col);

//設定雷的位置

void setmine(char board[rows], int row, int col);

//找雷

void findmine(char mine[rows], char mineinfo[rows], int row, int col);

#endif

test.c
#define _crt_secure_no_warnings 1 

#include"game.h"

//遊戲選單列印

void menu()

//進入遊戲

void game()

;//後台設定雷的情況

intiboard(mine, rows, rows,'0');//0為未設雷,1為設雷,先置為全0

char mineinfo[rows][cols] = ;//用來展示給使用者看的雷盤

intiboard(mineinfo, rows, rows, '*');//將該雷盤全置為*

show(mineinfo, rows, rows);//列印雷盤

setmine(mine, row, row);//設定雷

findmine(mine,mineinfo, row, row);//使用者找雷

}int main()

} while (input);//迴圈至少執行一次

return 0;

}

game.c
#define _crt_secure_no_warnings 1

#include"game.h"

//將雷盤元素重置為char set

void intiboard(char board[rows], int row, int col, char set) }}

void show(char board[rows], int row, int col)

printf("\n");

//遍歷陣列,列印

for (i = 1; i < row - 1; i++)

printf("\n");

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

}void setmine(char board[rows], int row, int col)

}//字元'1' - 字元'0' = 數字1,座標值都為字元,所以要轉化為數字要加字元『0』

int minecount(char mine[rows], int x, int y)

//找雷

void findmine(char mine[rows], char mineinfo[rows], int row, int col)

else

}else

易錯點

二維陣列的應用

楊輝三角 a b 1 a b a b 2 a 2 2ab b 2 a b n a n nab nab b n 其中次方展開的各項係數,對應楊輝三角的值 楊輝三角1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35...

c語言遊戲掃雷 二維陣列運用解析

思路 先畫出遊戲的流程圖來提供乙個清晰思路,往後按流程寫 就不容易混亂。注意 由於本程式用的是多檔案結構所以一定要聲名標頭檔案game.h 標頭檔案game.h ifndef game h define game h include include include define easy count...

vector作二維陣列應用

vector一般常用作變長陣列使用。有些場景需要應用二維變長陣列,並需要對其按一定規則排序。這裡給出乙個例項 背景針對每一維的陣列按照數字個數大的排在後面,個數相同的陣列按照第乙個數值不同字面值大的排在後面。include include include using namespace std ve...