c++程式開發實現掃雷遊戲,供大家參考,具體內容如下
//掃雷的類的定義
#pragma once
class game;
//地圖
int map[40][40];
//地圖的大小size*size
int size = 10;
//容錯
int fault_tolerant = 10;
//困難程度
int _difficulty=1;
//初始化
void reset();
//畫地圖
void drawgrid();
//檢視格仔的結果
void cheak();
//判斷是否遊戲結束
int iswin();
//匯入最高分記錄
void get_rocord();
//匯出最高分記錄
void put_rocord();
//選擇難度
int selection_difficulty();
//載入介面
void loading();
};然後是對類的函式的定義
//對game類的成員函式的定義
#include "掃雷.h"
#include
#include
#include
#include
#include
#pragma warning(disable:4996) //這一行是為了能在 visual studio 2017內使用getch()函式
//定義最高分記錄的儲存位址
#define rocordpath "d:\\vs/掃雷最高分.txt"
using namespace std;
#define none "█"
//定義5種情況,有雷和無雷,檢視後的三種結果
enum players ;
//定義三種遊戲難度
enum _difficulty;
int d_size[4][2] = ,,, };
//遊戲規則的描述
void game::rule()
//退出遊戲
int game::quit() ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "遊戲結束!!!" << endl;
sleep(1000);
loading();
return 0;
}//遊戲模式
void game::play()
}if (!res)break; }
}//更新(初始化)
void game::reset()
//cout << endl; }
}//畫地圖
void game::drawgrid() ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
//棋局初始狀態
for (int i = 0; i <= size; i++)
else cout << none;
} cout << endl;
} for (int y = 0; y < size; y++) ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);//getstdhandle函式獲得控制代碼
string o;
if (map[x][y] == boom1) o = "* ";
if (map[x][y] == none1) o = " ";
cout << o;
} if (map[x][y] == show1)
}} //游標位置座標
coord c = ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);//getstdhandle函式獲得控制代碼
cout << cnt << " ";
} }} c.y = size+3;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "當前分數是:"<> x >> y;
x -= 1, y -= 1;
while(map[x][y] == boom1 || map[x][y] == none1 || map[x][y] == show1 || x < 0 || x >= size || y < 0 || y >= size) ;
c.y = size+6;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "該格以檢查過或不在棋盤內,請重新輸入" << endl;
cin >> x >> y;
x -= 1, y -= 1; }
if (map[x][y] == boom)
else
} }if (cnt == 0)
} }
} else map[x][y] = show1; }
}//判斷是否遊戲結束
int game::iswin()
} if (cnt == 0) ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "you win!!!" << endl;
return 0;
} else if (error >= fault_tolerant) ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "you loss!!!" << enwww.cppcns.comdl;
return 0;
} else return 1;
}//匯入最高分記錄
void game::get_rocord()
}//匯出最高分記錄
void game::put_rocord()
//選擇難度
int game::selection_difficulty() ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "\t\t\t\t\t\t1.簡單 (10*10格 10容錯)\n\n" << endl;
cout << "\t\t\t\t\t\t2.一般 (15*15格 8容錯)\n\n" << endl;
cout << "\t\t\t\t\t\t3.困難 (20*20格 5容錯)\n\n" << endl;
cout << "\t\t\t\t\t\t4.煉獄 (30*30格 3容錯)\n\n" << endl;
cout << "\t\t\t\t\t\t5.自定義\n\n" << endl;
cout << "\t\t\t\t\t\t請選擇遊戲難度:";
int t = 1;
cin >> t;
while (t < 1 || t>5) ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "\t\t\t\t\t\t輸入錯誤請重新輸入:" << endl;;
cin >&ixptbhspgt; t;
} switch (t) break;
} loading();
return t;
}void game::loading() ;
//設定控制台游標位置
int t = 6;
while (t--)
}最後就是主函式部分
//掃雷遊戲的主函式
#include
#include
#include"掃雷.h"
using namespace std;
int main() ;
//設定控制台游標位置
setconsolecursorposition(getstdhandle(std_output_handle), c);
cout << "歡迎來到 掃雷!!!\n\n\n\n\n\n";
cout << "\t\t\t\t\t1.開始遊戲\n\n\n\t\t\t\t\t2.閱讀規則\n\n\n\t\t\t\t\t3.退出" << endl;
cin >> t;
switch (t)
if (g == 0)break;
} return 0;
}這是第一次寫部落格 也是第一次獨立完成專案,有不足的地方,希望各位大牛指教。
本文標題: c++實現掃雷程式開發
本文位址:
C 掃雷程式
c語言掃雷程式 主要建立兩個棋盤,乙個用於布置雷,乙個用於顯示雷 棋盤1用於排雷,棋盤2用於布置雷,此時設定80個雷用於測試,遊戲開始選擇隱藏23行布置雷 就可以隱藏棋盤2,此時由於測試選擇不隱藏根據顯示座標輸入5 7,即可測試程式是否正常 輸入對應座標除錯程式,顯示排雷成功 測試程式 define...
C語言實現掃雷小程式
掃雷 是一款大眾類的益智小遊戲,於1992年發行。遊戲目標是在最短的時間內根據點選格仔出現的數字找出所有非雷格仔,同時避免踩雷,踩到乙個雷即全盤皆輸。在實現遊戲的首先,需要建立test.c game.c game.h三個檔案。test.c主要進行遊戲的測試。game.c主要進行遊戲內部一些函式的具體...
掃雷遊戲 C實現
相信掃雷遊戲對於這一代的我們來說並不陌生,小學中學階段在沒有網路的學校機房可沒少玩吧?以前,我們是以乙個使用者的角度來接觸它的,那麼,作為即將成為程式猿的我們來說,何不妨試試以開發者的角度來接觸它呢?先來分析一下掃雷程式的大體思路及框架 1 要實現掃雷程式,需要有乙個在每一局中固定的埋雷陣列,表示雷...