遊戲簡介:
電腦隨機設定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...