Dev-C++5.11游戏创作之简易迷你世界

芜湖!我又回来啦!作业全完成喽!今天带来的代码可是我想+写=1周的呢,大家好好收藏,好好赞,一起加油吧!

OK!老规矩,介绍一下代码

#include <bits/stdc++.h>
#include <windows.h>
#include <unistd.h>
#include <conio.h>
#define LIFE 15
#define HUNGRY 100
#define SPEED 1000
using namespace std;
//hamburger是汉堡,为迷你世界里的麦包什么的 , hungryl剩余饥饿 , speed玩家移动速度,暂时不使用 
//wood木头物资 , stone石头物资 , metal金属物资 , diamond钻石物资
//und是当前玩家所在高度,便于判断一些稀有矿石出现点
//stoneAX、metalAX、diamondAX和goldAX各类斧头和镐子,需要合成
//undergroundMAP是当前底下矿洞可视区域,一旦移动,如不在map内,则重新随机
unsigned long long hamburger=10000, hungryl=100, speed=100;
unsigned long long wood=1000, stone=1000, metal=1000, diamond=1000;
long long und=-6;
bool stoneAX=true, metalAX=false, diamondAX=false, goldAX=false;
int undergroundMAP[10][10]= {0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0
                            };
int nowp;//判断当前位置,更利于底下矿洞探索
unsigned long long x, y;//位置判断,便于输出

void HIDE() {
	CONSOLE_CURSOR_INFO cursor_info= {1,0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void SetPos(int x,int y) {
	COORD pos;
	pos.X=y*2-1,pos.Y=x+1;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void stoDIG() {
	if(stoneAX==true&&metalAX==false) Sleep(50);
	else;
}
void metDIG() {
	if(stoneAX==true&&metalAX==false) Sleep(111);
	else if(metalAX=true&&diamondAX==false) Sleep(65);
	else;
}
void diaDIG() {
	if(metalAX==true&&diamondAX==false) Sleep(210);
	else if(diamondAX==true&&goldAX==false) Sleep(80);
	else;
}

上面这段是一些需要的挖掘的函数和所需要的变量,大家应该都看得懂

void golAX() {
	for(int i=0; i<10; i++) {
		for(int j=0; j<10; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					break;
				case 3:
					metal++;
					break;
				case 4:
					diamond++;
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
void diaAX() {
	for(int i=x-2; i<=x+2; i++) {
		for(int j=y-2; j<=y+2; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					stoDIG();
					break;
				case 3:
					metal++;
					metDIG();
					break;
				case 4:
					diamond++;
					diaDIG();
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
void metAX() {
	for(int i=x-1; i<=x+1; i++) {
		for(int j=y; j<=y+1; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					stoDIG();
					break;
				case 3:
					metal++;
					metDIG();
					break;
				case 4:
					diamond++;
					diaDIG();
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
bool canGO(bool a1,bool a2,bool a3,bool a4,int pla) {
	if(pla<=3) {
		return 1;
	} else if(pla==4&&a2==true) {
		return 1;
	} else {
		return 0;
	}
}
void make() {
	system("cls");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
	cout<<" __________________________________________________________________ "<<endl;
	cout<<"|                       合                 成                      |"<<endl;
	cout<<"|                                                                  |"<<endl;
	cout<<"|                              1. 铁斧                             |"<<endl;
	cout<<"|                             2. 钻石斧                            |"<<endl;
	cout<<"|                            3. 荒芜神斧                           |"<<endl;
	cout<<"| 铁斧:有99.8%的概率挖掘3 ×3方格                                  |"<<endl;
	cout<<"| 钻石斧:有99.9%的概率挖掘5 ×5方格                                |"<<endl;
	cout<<"| 荒芜神斧:有100%的概率挖掘全屏方格                                |"<<endl;
	cout<<"|  ________________________________________________________________|"<<endl;
	cout<<"| |备注:请确认背包已有所有所需物品且斧子合成不需要使用已合成的斧子|"<<endl;
	cout<<"|_|________________________________________________________________|"<<endl;
	cout<<"请输入:";
	char input=getch();
	switch(input) {
		case '1':
			if(metal>=4&&stoneAX!=false&&metalAX==false) {
				cout<<endl<<"已合成"<<endl;
				metalAX=true;
			} else if(metalAX==true) {
				cout<<endl<<"对不起!您的铁斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
		case '2':
			if(diamond>=2&&metalAX!=false&&diamondAX==false) {
				cout<<endl<<"已合成"<<endl;
				diamondAX=true;
			} else if(diamondAX==true) {
				cout<<endl<<"对不起!您的钻石斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
		case '3':
			if(wood>=30&&metal>=20&&diamond>=12&&diamondAX!=false&&goldAX==false) {
				cout<<endl<<"已合成"<<endl;
				goldAX=true;
			} else if(goldAX==true) {
				cout<<endl<<"对不起!您的荒芜神斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
	}
}
void getk() {
	switch(getch()) {
		case 'w':
			if(x!=0&&goldAX==true) {
				golAX();
			} else if(x!=0&&diamondAX==true) {
				diaAX();
			} else if(x!=0&&metalAX==true) {
				metAX();
			}
			if( x!=0 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x-1][y] ) ) {
				x-=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 's':
			if(x!=9&&goldAX==true) {
				golAX();
			} else if(x!=9&&diamondAX==true) {
				diaAX();
			} else if(x!=9&&metalAX==true) {
				metAX();
			}
			if( x!=9 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x+1][y] ) ) {
				x+=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'a':
			if(y!=0&&goldAX==true) {
				golAX();
			} else if(y!=0&&diamondAX==true) {
				diaAX();
			} else if(y!=0&&metalAX==true) {
				metAX();
			}
			if( y!=0 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x][y-1] ) ) {
				y-=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'd':
			if(y!=9&&goldAX==true) {
				golAX();
			} else if(y!=9&&diamondAX==true) {
				diaAX();
			} else if(y!=9&&metalAX==true) {
				metAX();
			}
			if( y!=9 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x][y+1] ) ) {
				y+=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'm':
			make();
			break;
	}
}
bool emp() {
	for(int i=1; i<9; i++) {
		for(int j=1; j<9; j++) {
			if(undergroundMAP[i][j]!=0&&undergroundMAP[i][j]!=4) {
				return false;
			}
		}
	}
	return true;
}
void pm() {
	system("cls");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
	cout<<" _________________________________________________________________________________________ "<<endl;
	cout<<"|  __________________________________________________ _______________ __________________  |"<<endl;
	cout<<"| |                  迷  你  世  界                  |     背包      |      合成表      | |"<<endl;
	cout<<"| |__________________________________________正常模式| 1.木头:       | 2.工具合成       | |"<<endl;
	cout<<"| |生命: 100 | 饥饿值: 100 | 状态:正常 | 网络延时:0ms|               |   (1).挖掘工具   | |"<<endl;
	cout<<"| |__________________________________________________| 2.石头:       | 1.石斧           | |"<<endl;
	cout<<"| |                                                  |               |   直接送         | |"<<endl;
	cout<<"| |                                                  | 3.铁矿:       |                  | |"<<endl;
	cout<<"| |                                                  |               | 2.铁斧           | |"<<endl;
	cout<<"| |                                                  | 4.钻石:       |   需要一个石斧和 | |"<<endl;
	cout<<"| |                                                  |_______________|四块铁矿合成      | |"<<endl;
	cout<<"| |                                                  |     工具      |                  | |"<<endl;
	cout<<"| |                                                  |1.石斧:        | 3.钻石斧         | |"<<endl;
	cout<<"| |                                                  |               |   需要一个铁斧和 | |"<<endl;
	cout<<"| |                                                  |2.铁斧:        |两块钻石矿合成    | |"<<endl;
	cout<<"| |__________________________________________________|               |                  | |"<<endl;
	cout<<"| |目标完成情况:       |目标:合成钻石斧  |丢包率:  %0|3.钻石斧:      | 4.荒芜神斧       | |"<<endl;
	cout<<"| |____________________|_________________|___________|               |   需要三十个木头 | |"<<endl;
	cout<<"| |                                m键打开工具制造区 |4.荒芜神斧:    |加二十块铁矿 加十 | |"<<endl;
	cout<<"| |提示:挖掘钻石需要铁镐哦!铁镐需要石镐和四块铁合成 |_______________|二个钻石合成      | |"<<endl;
	cout<<"| |     钻石需要挖掘到地下-7层左右才有               |当前高度:      |                  | |"<<endl;
	cout<<"| |__________________________________________________|_______________|__________________| |"<<endl;
	cout<<"| |______注意:由于某种bug,第一行矿石请尽量不要挖掘,谢谢配合,后面我们将尽快修复!______| |"<<endl;
	cout<<"|                                     |版本号|                                            |"<<endl;
	cout<<"|_____________________________________|V1.7.3|____________________________________________|"<<endl;

	if(emp()) {
		und--;
		srand(time(0));
		for(int k=4; k<=13; k++) {
			SetPos(k+1,2);
			for(int i=0; i<9; i++) {
				if(k-4==x&&i==y) {
					cout<<" *你*";
					undergroundMAP[k-4][i]=0;
					continue;
				}
				int a;
				do {
					a=rand()%4+1;
				} while(a==4&&und>-7);
				if(a==1) {
					cout<<setw(5)<<"木";
					undergroundMAP[k-4][i]=1;
				} else if(a==2) {
					cout<<setw(5)<<"石";
					undergroundMAP[k-4][i]=2;
				} else if(a==3) {
					cout<<setw(5)<<"铁";
					undergroundMAP[k-4][i]=3;
				} else if(a==4&&und<=-7) {
					cout<<setw(5)<<"钻";
					undergroundMAP[k-4][i]=4;
				}
			}
		}
	} else {
		for(int i=0; i<9; i++) {
			SetPos(i+5,2);
			for(int j=0; j<9; j++) {
				if(i==x&&j==y) {
					cout<<" *你*";
					undergroundMAP[i-4][j]=0;
					continue;
				}
				switch(undergroundMAP[i][j]) {
					case 0:
						cout<<setw(5)<<"  ";
						break;
					case 1:
						cout<<setw(5)<<"木";
						break;
					case 2:
						cout<<setw(5)<<"石";
						break;
					case 3:
						cout<<setw(5)<<"铁";
						break;
					case 4:
						cout<<setw(5)<<"钻";
						break;
				}
			}
		}
	}

	SetPos(2,32);
	cout<<wood;
	SetPos(4,32);
	cout<<stone;
	SetPos(6,32);
	cout<<metal;
	SetPos(8,32);
	cout<<diamond;
	SetPos(11,31);
	cout<<(stoneAX==false?"没有":"有");
	SetPos(13,31);
	cout<<(metalAX==false?"没有":"有");
	SetPos(15,32);
	cout<<(diamondAX==false?"没有":"有");
	SetPos(17,33);
	cout<<(goldAX==false?"没有":"有");
	SetPos(19,32);
	cout<<und;
	SetPos(15,9);
	cout<<"未完成"<<endl;
}

这里是所有界面函数,也不多介绍

int main() {
	cout.tie();
	HIDE();
	while(wood<10000) {
		system("cls");
		pm();
		getk();
	}
	getch();
	system("cls");
	return 0;
}

最后是主函数,稍微说一下cout.tie()

此函数功能主要是让输出更快更标准,一般在动画制作中使用

最后是完整代码

#include <bits/stdc++.h>
#include <windows.h>
#include <unistd.h>
#include <conio.h>
#define LIFE 15
#define HUNGRY 100
#define SPEED 1000
using namespace std;
//hamburger是汉堡,为迷你世界里的麦包什么的 , hungryl剩余饥饿 , speed玩家移动速度,暂时不使用 
//wood木头物资 , stone石头物资 , metal金属物资 , diamond钻石物资
//und是当前玩家所在高度,便于判断一些稀有矿石出现点
//stoneAX、metalAX、diamondAX和goldAX各类斧头和镐子,需要合成
//undergroundMAP是当前底下矿洞可视区域,一旦移动,如不在map内,则重新随机
unsigned long long hamburger=10000, hungryl=100, speed=100;
unsigned long long wood=1000, stone=1000, metal=1000, diamond=1000;
long long und=-6;
bool stoneAX=true, metalAX=false, diamondAX=false, goldAX=false;
int undergroundMAP[10][10]= {0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0,
                             0,0,0,0,0,0,0,0,0,0
                            };
int nowp;//判断当前位置,更利于底下矿洞探索
unsigned long long x, y;//位置判断,便于输出

void HIDE() {
	CONSOLE_CURSOR_INFO cursor_info= {1,0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
}
void SetPos(int x,int y) {
	COORD pos;
	pos.X=y*2-1,pos.Y=x+1;
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void stoDIG() {
	if(stoneAX==true&&metalAX==false) Sleep(50);
	else;
}
void metDIG() {
	if(stoneAX==true&&metalAX==false) Sleep(111);
	else if(metalAX=true&&diamondAX==false) Sleep(65);
	else;
}
void diaDIG() {
	if(metalAX==true&&diamondAX==false) Sleep(210);
	else if(diamondAX==true&&goldAX==false) Sleep(80);
	else;
}
void golAX() {
	for(int i=0; i<10; i++) {
		for(int j=0; j<10; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					break;
				case 3:
					metal++;
					break;
				case 4:
					diamond++;
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
void diaAX() {
	for(int i=x-2; i<=x+2; i++) {
		for(int j=y-2; j<=y+2; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					stoDIG();
					break;
				case 3:
					metal++;
					metDIG();
					break;
				case 4:
					diamond++;
					diaDIG();
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
void metAX() {
	for(int i=x-1; i<=x+1; i++) {
		for(int j=y; j<=y+1; j++) {
			switch(undergroundMAP[i][j]) {
				case 1:
					wood++;
					break;
				case 2:
					stone++;
					stoDIG();
					break;
				case 3:
					metal++;
					metDIG();
					break;
				case 4:
					diamond++;
					diaDIG();
					break;
			}
			undergroundMAP[i][j]=0;
		}
	}
}
bool canGO(bool a1,bool a2,bool a3,bool a4,int pla) {
	if(pla<=3) {
		return 1;
	} else if(pla==4&&a2==true) {
		return 1;
	} else {
		return 0;
	}
}
void make() {
	system("cls");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_BLUE);
	cout<<" __________________________________________________________________ "<<endl;
	cout<<"|                       合                 成                      |"<<endl;
	cout<<"|                                                                  |"<<endl;
	cout<<"|                              1. 铁斧                             |"<<endl;
	cout<<"|                             2. 钻石斧                            |"<<endl;
	cout<<"|                            3. 荒芜神斧                           |"<<endl;
	cout<<"| 铁斧:有99.8%的概率挖掘3 ×3方格                                  |"<<endl;
	cout<<"| 钻石斧:有99.9%的概率挖掘5 ×5方格                                |"<<endl;
	cout<<"| 荒芜神斧:有100%的概率挖掘全屏方格                                |"<<endl;
	cout<<"|  ________________________________________________________________|"<<endl;
	cout<<"| |备注:请确认背包已有所有所需物品且斧子合成不需要使用已合成的斧子|"<<endl;
	cout<<"|_|________________________________________________________________|"<<endl;
	cout<<"请输入:";
	char input=getch();
	switch(input) {
		case '1':
			if(metal>=4&&stoneAX!=false&&metalAX==false) {
				cout<<endl<<"已合成"<<endl;
				metalAX=true;
			} else if(metalAX==true) {
				cout<<endl<<"对不起!您的铁斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
		case '2':
			if(diamond>=2&&metalAX!=false&&diamondAX==false) {
				cout<<endl<<"已合成"<<endl;
				diamondAX=true;
			} else if(diamondAX==true) {
				cout<<endl<<"对不起!您的钻石斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
		case '3':
			if(wood>=30&&metal>=20&&diamond>=12&&diamondAX!=false&&goldAX==false) {
				cout<<endl<<"已合成"<<endl;
				goldAX=true;
			} else if(goldAX==true) {
				cout<<endl<<"对不起!您的荒芜神斧已经合成了,不能继续合成了呦!"<<endl;
			}
			break;
	}
}
void getk() {
	switch(getch()) {
		case 'w':
			if(x!=0&&goldAX==true) {
				golAX();
			} else if(x!=0&&diamondAX==true) {
				diaAX();
			} else if(x!=0&&metalAX==true) {
				metAX();
			}
			if( x!=0 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x-1][y] ) ) {
				x-=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 's':
			if(x!=9&&goldAX==true) {
				golAX();
			} else if(x!=9&&diamondAX==true) {
				diaAX();
			} else if(x!=9&&metalAX==true) {
				metAX();
			}
			if( x!=9 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x+1][y] ) ) {
				x+=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'a':
			if(y!=0&&goldAX==true) {
				golAX();
			} else if(y!=0&&diamondAX==true) {
				diaAX();
			} else if(y!=0&&metalAX==true) {
				metAX();
			}
			if( y!=0 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x][y-1] ) ) {
				y-=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'd':
			if(y!=9&&goldAX==true) {
				golAX();
			} else if(y!=9&&diamondAX==true) {
				diaAX();
			} else if(y!=9&&metalAX==true) {
				metAX();
			}
			if( y!=9 && canGO( stoneAX, metalAX, diamondAX, goldAX, undergroundMAP[x][y+1] ) ) {
				y+=1;
				switch(undergroundMAP[x][y]) {
					case 1:
						wood++;
						break;
					case 2:
						stone++;
						stoDIG();
						break;
					case 3:
						metal++;
						metDIG();
						break;
					case 4:
						diamond++;
						diaDIG();
						break;
				}
				undergroundMAP[x][y]=0;
			}
			break;
		case 'm':
			make();
			break;
	}
}
bool emp() {
	for(int i=1; i<9; i++) {
		for(int j=1; j<9; j++) {
			if(undergroundMAP[i][j]!=0&&undergroundMAP[i][j]!=4) {
				return false;
			}
		}
	}
	return true;
}
void pm() {
	system("cls");
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_INTENSITY | FOREGROUND_RED);
	cout<<" _________________________________________________________________________________________ "<<endl;
	cout<<"|  __________________________________________________ _______________ __________________  |"<<endl;
	cout<<"| |                  迷  你  世  界                  |     背包      |      合成表      | |"<<endl;
	cout<<"| |__________________________________________正常模式| 1.木头:       | 2.工具合成       | |"<<endl;
	cout<<"| |生命: 100 | 饥饿值: 100 | 状态:正常 | 网络延时:0ms|               |   (1).挖掘工具   | |"<<endl;
	cout<<"| |__________________________________________________| 2.石头:       | 1.石斧           | |"<<endl;
	cout<<"| |                                                  |               |   直接送         | |"<<endl;
	cout<<"| |                                                  | 3.铁矿:       |                  | |"<<endl;
	cout<<"| |                                                  |               | 2.铁斧           | |"<<endl;
	cout<<"| |                                                  | 4.钻石:       |   需要一个石斧和 | |"<<endl;
	cout<<"| |                                                  |_______________|四块铁矿合成      | |"<<endl;
	cout<<"| |                                                  |     工具      |                  | |"<<endl;
	cout<<"| |                                                  |1.石斧:        | 3.钻石斧         | |"<<endl;
	cout<<"| |                                                  |               |   需要一个铁斧和 | |"<<endl;
	cout<<"| |                                                  |2.铁斧:        |两块钻石矿合成    | |"<<endl;
	cout<<"| |__________________________________________________|               |                  | |"<<endl;
	cout<<"| |目标完成情况:       |目标:合成钻石斧  |丢包率:  %0|3.钻石斧:      | 4.荒芜神斧       | |"<<endl;
	cout<<"| |____________________|_________________|___________|               |   需要三十个木头 | |"<<endl;
	cout<<"| |                                m键打开工具制造区 |4.荒芜神斧:    |加二十块铁矿 加十 | |"<<endl;
	cout<<"| |提示:挖掘钻石需要铁镐哦!铁镐需要石镐和四块铁合成 |_______________|二个钻石合成      | |"<<endl;
	cout<<"| |     钻石需要挖掘到地下-7层左右才有               |当前高度:      |                  | |"<<endl;
	cout<<"| |__________________________________________________|_______________|__________________| |"<<endl;
	cout<<"| |______注意:由于某种bug,第一行矿石请尽量不要挖掘,谢谢配合,后面我们将尽快修复!______| |"<<endl;
	cout<<"|                                     |版本号|                                            |"<<endl;
	cout<<"|_____________________________________|V1.7.3|____________________________________________|"<<endl;

	if(emp()) {
		und--;
		srand(time(0));
		for(int k=4; k<=13; k++) {
			SetPos(k+1,2);
			for(int i=0; i<9; i++) {
				if(k-4==x&&i==y) {
					cout<<" *你*";
					undergroundMAP[k-4][i]=0;
					continue;
				}
				int a;
				do {
					a=rand()%4+1;
				} while(a==4&&und>-7);
				if(a==1) {
					cout<<setw(5)<<"木";
					undergroundMAP[k-4][i]=1;
				} else if(a==2) {
					cout<<setw(5)<<"石";
					undergroundMAP[k-4][i]=2;
				} else if(a==3) {
					cout<<setw(5)<<"铁";
					undergroundMAP[k-4][i]=3;
				} else if(a==4&&und<=-7) {
					cout<<setw(5)<<"钻";
					undergroundMAP[k-4][i]=4;
				}
			}
		}
	} else {
		for(int i=0; i<9; i++) {
			SetPos(i+5,2);
			for(int j=0; j<9; j++) {
				if(i==x&&j==y) {
					cout<<" *你*";
					undergroundMAP[i-4][j]=0;
					continue;
				}
				switch(undergroundMAP[i][j]) {
					case 0:
						cout<<setw(5)<<"  ";
						break;
					case 1:
						cout<<setw(5)<<"木";
						break;
					case 2:
						cout<<setw(5)<<"石";
						break;
					case 3:
						cout<<setw(5)<<"铁";
						break;
					case 4:
						cout<<setw(5)<<"钻";
						break;
				}
			}
		}
	}

	SetPos(2,32);
	cout<<wood;
	SetPos(4,32);
	cout<<stone;
	SetPos(6,32);
	cout<<metal;
	SetPos(8,32);
	cout<<diamond;
	SetPos(11,31);
	cout<<(stoneAX==false?"没有":"有");
	SetPos(13,31);
	cout<<(metalAX==false?"没有":"有");
	SetPos(15,32);
	cout<<(diamondAX==false?"没有":"有");
	SetPos(17,33);
	cout<<(goldAX==false?"没有":"有");
	SetPos(19,32);
	cout<<und;
	SetPos(15,9);
	cout<<"未完成"<<endl;
}

int main() {
	cout.tie();
	HIDE();
	while(wood<10000) {
		system("cls");
		pm();
		getk();
	}
	getch();
	system("cls");
	return 0;
}

OK!今天就到这里,拜拜!

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++小盆友

你的鼓励将是我创作的最大动力呦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值