主程序
mineweeper.cpp
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <ctime>
#include "map.h"
using namespace std;
int main() {
Map game;
float start, end;
char ch;
while (1) {
game.AcceptCond(); //选择模式
game.InitMap(); //初始化
game.ShowMap(); //显示地图。 注:此时地图未生成完毕
game.FirstStep(); //预处理,防止第一步就触雷结束
game.SetMine(); //设置地雷
game.SetNumber(); //根据地雷分布计算数字
game.OpenBlock(); //打开开局预先想要打开的第一个空
start = clock();
game.ShowMap();
if (game.PlayGame()) { //根据PlayGame()接口的返回值判定输赢
cout << endl << "~ Congratulation ~n ~ You Win ~" << endl;
}
else {
cout << endl << "BOOM!!! ~ Game Over ~n" << endl;
}
end = clock();
printf("nTime : %.2fn", (end - start) / CLK_TCK); //输出游戏所用时间
cout << endl << "Please enter 'q' to quit, or any other keys to continue" << endl;
game.SetPosition(); //用于触雷失败时,将光标返回到触雷的位置,提示哪一步失败,同时触碰的雷也将显示为 ‘X'
ch = getch();
if ('q' == ch) { // q 用于退出游戏
system("cls");
cout << "~ Bye ~" << endl;
break;
}
else {
game.ResetPosition();
system("cls");
}
}
system("pause");
return 0;
}
游戏截图


更多精彩游戏小代码,请点击《游戏专题》阅读
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。










