内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

C語言實現(xiàn)簡單的掃雷小游戲代碼分享

本篇內(nèi)容介紹了“C語言實現(xiàn)簡單的掃雷小游戲代碼分享”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比堯都網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式堯都網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋堯都地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

代碼如下:

#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <windows.h>#include <time.h>/* 用 C 語言寫一個簡單的掃雷游戲*/// 1.寫一個游戲菜單 Menu()// 2.開始游戲 // 1.初始化二維數(shù)組 Init_Interface() // 2.打印游戲界面 Print_Interface() // 3.玩家掀起指定位置 Play() --> 指定輸入坐標(判斷合法性) // 1.判斷該位置是否是雷 // 2.判斷是否掀掉所有空地 // 3.如果掀開的是空地,則判斷該空地周圍是否有雷  // 1.如果周圍有雷,則統(tǒng)計周圍雷的個數(shù)  // 2.如果周圍沒有雷,則掀開周圍除了雷的所有空地,并且統(tǒng)計所掀開空地周圍雷的個數(shù) // 4.更新地圖 // 5.繼續(xù) 3 的循環(huán)//定義全局變量://定義掃雷地圖的長和寬#define MAX_ROW 9#define MAX_COL 9//定義默認的雷數(shù)#define DEFAULT_MINE 9//定義兩個二維數(shù)組,分別存放初始地圖和雷陣char show_map[MAX_ROW + 2][MAX_COL + 2];char mine_map[MAX_ROW + 2][MAX_COL + 2];//寫一個游戲菜單int Menu() { printf("=========\n"); printf("1.開始游戲\n"); printf("0.結(jié)束游戲\n"); printf("=========\n"); printf("請選擇游戲菜單選項:"); int choice = 0; while (1) { scanf("%d", &choice); if (choice != 0 && choice != 1) {  printf("您的輸入有誤, 請重新輸入\n");  continue; } break; } return choice;}//開始游戲//初始化數(shù)組void Init_Interface() { for (int row = 0; row < MAX_ROW + 2; row++) { for (int col = 0; col < MAX_COL + 2; col++) {  show_map[row][col] = '*'; } } for (int row = 0; row < MAX_ROW + 2; row++) { for (int col = 0; col < MAX_COL + 2; col++) {  mine_map[row][col] = '0'; } } int mine_count = DEFAULT_MINE; while (mine_count > 0) { int row = rand() % MAX_ROW + 1; int col = rand() % MAX_COL + 1; if (mine_map[row][col] == '1') { //將雷設置為 1  //此處已經(jīng)有雷  continue; } mine_count--; mine_map[row][col] = '1'; }}//打印初始界面void Print_Interface(char map[MAX_ROW + 2][MAX_COL + 2]) { printf("  "); for (int col = 1; col <= MAX_COL; col++) { printf("%d ", col); } printf("\n  "); for (int col = 1; col <= MAX_COL; col++) { printf("--"); } printf("\n"); for (int row = 1; row <= MAX_ROW ; row++) { printf("%02d |", row); for (int col = 1; col <= MAX_COL; col++) {  printf("%c ", map[row][col]); } printf("\n"); }}//寫一個統(tǒng)計周圍雷數(shù)個數(shù)的函數(shù)int Around_Mine_count(int row, int col) { return (mine_map[row - 1][col - 1] - '0' + mine_map[row - 1][col] - '0' + mine_map[row - 1][col + 1] - '0' + mine_map[row][col - 1] - '0' + mine_map[row][col + 1] - '0' + mine_map[row + 1][col - 1] - '0' + mine_map[row + 1][col] - '0' + mine_map[row + 1][col + 1] - '0');}//寫一個判斷該位置周圍是否有雷的函數(shù)int No_Mine(int row, int col) { if (Around_Mine_count(row, col) == 0) { return 1; } return 0;}//寫一個掀開該位置周圍空地的函數(shù)void Open_Blank(int row, int col) { show_map[row - 1][col - 1] = '0' + Around_Mine_count(row - 1, col - 1); show_map[row - 1][col] = '0' + Around_Mine_count(row - 1, col); show_map[row - 1][col + 1] = '0' + Around_Mine_count(row - 1, col + 1); show_map[row][col - 1] = '0' + Around_Mine_count(row, col - 1); show_map[row][col + 1] = '0' + Around_Mine_count(row, col + 1); show_map[row + 1][col - 1] = '0' + Around_Mine_count(row + 1, col - 1); show_map[row + 1][col] = '0' + Around_Mine_count(row + 1, col); show_map[row + 1][col + 1] = '0' + Around_Mine_count(row + 1, col + 1);}//寫一個判斷游戲結(jié)束的函數(shù)int Success_Sweep(char show_map[MAX_ROW + 2][MAX_COL + 2]) { int count = 0; for (int row = 1; row <= MAX_ROW; row++) { for (int col = 1; col <= MAX_COL; col++) {  if (show_map[row][col] == '*') {  count++;  } } } if (count == DEFAULT_MINE) { return 1; } return 0;}//開始游戲void StartGame() { while (1) { printf("請輸入您要掀開的坐標:"); int row = 0; int col = 0; while (1) {  scanf("%d %d", &row, &col);  if (row < 1 || row > MAX_ROW || col < 1 || col > MAX_COL) {  printf("您的輸入有誤,請重新輸入!\n");  continue;  }  if (show_map[row][col] != '*') {  printf("該位置已被掀開,請重新選擇\n");  continue;  }  break; } //判斷該地方是否有雷 if (mine_map[row][col] == '1') {  Print_Interface(mine_map);  printf("該地方有雷,游戲結(jié)束!!!\n");  break; } if (No_Mine(row, col)) {  show_map[row][col] = '0';  Open_Blank(row, col); } show_map[row][col] = '0' + Around_Mine_count(row, col); //判斷是否掀開所有空地 if (Success_Sweep(show_map) == 1) {  Print_Interface(mine_map);  printf("您已成功掃雷!!!\n");  break; } system("cls"); //更新地圖 Print_Interface(show_map); }}int main() { if (Menu() == 0) { exit(0); } srand((unsigned int)time(NULL)); Init_Interface(); Print_Interface(show_map); StartGame(); system("pause"); return 0;}

“C語言實現(xiàn)簡單的掃雷小游戲代碼分享”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)站題目:C語言實現(xiàn)簡單的掃雷小游戲代碼分享
文章URL:http://www.rwnh.cn/article38/gpoisp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、建站公司、做網(wǎng)站、定制開發(fā)自適應網(wǎng)站、網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
霍城县| 乐东| 云南省| 无极县| 云阳县| 屏东市| 阿坝县| 灵武市| 信宜市| 桃源县| 鄯善县| 花莲市| 东至县| 金坛市| 江源县| 呼和浩特市| 阿克陶县| 当涂县| 章丘市| 东方市| 武安市| 贵州省| 大埔区| 延安市| 衢州市| 三门县| 紫云| 紫云| 安化县| 泗阳县| 安义县| 秦安县| 南宁市| 溧水县| 裕民县| 象山县| 乌鲁木齐县| 札达县| 扎兰屯市| 景洪市| 广安市|