#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <time.h>
#include <windows.h>
#include <pthread.h>
#include <conio.h>
#include <vector>
#include <map>
#define CgDu 5000
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:6)
/*
0=黑色
1=蓝色
2=绿色
3=湖蓝色
4=红色
5=紫色
6=**
7=白色
8=灰色
9=淡蓝色
A=淡绿色
B=淡浅绿色
C=淡红色
D=淡紫色
E=淡黄
F=亮白色
*/
using namespace std;
int gold=6;
int diamond=1;
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE), hsout;
HWND hwnd = GetConsoleWindow();
string xs;
char KD[128];
//基**操作函数
POINT GetMouse() {
/* HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_FONT_INFO font;
GetCurrentConsoleFont(handle, FALSE, &font);
int DPI = GetDeviceCaps(GetDC(NULL), LOGPIXELSX);
double Zoom = DPI * 1.0 / 24 * 25.0 / 100.0;
p.x /= font.dwFontSize.X * Zoom;
p.y /= font.dwFontSize.Y * Zoom;*/
POINT p;
GetCursorPos(&p);
ScreenToClient(hwnd, &p);
return p;
}
void gotoxy(short x, short y) { //移动光标函数
COORD coord = {x, y};
SetConsoleCursorPosition(hout, coord);
}
void cursor(bool visible) { //控制光标函数
CONSOLE_CURSOR_INFO CursorInfo;
GetConsoleCursorInfo(hout, &CursorInfo);
CursorInfo.bVisible = visible;
SetConsoleCursorInfo(hout, &CursorInfo);
}
void color(int ForgC, int BackC) { //设置颜色函数
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(hout, wColor);
}
void generation(int);
WORD get_font(int ForgC, int BackC) { //获取字体颜色参数
return ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
}
void color(int ForgC) {
WORD wColor;
CONSOLE_SCREEN_BUFFER_INFO csbi;
if (GetConsoleScreenBufferInfo(hout, &csbi)) {
wColor = (csbi.wAttributes & 0xF0) + (ForgC & 0x0F);
SetConsoleTextAttribute(hout, wColor);
}
}
void nofastedit() { //关闭快速编辑
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode;
GetConsoleMode(hStdin, &mode);
mode &= ~ENABLE_QUICK_EDIT_MODE;
mode &= ~ENABLE_INSERT_MODE;
mode &= ~ENABLE_MOUSE_INPUT;
SetConsoleMode(hStdin, mode);
}
COORD home_coord = {0, 0};
DWORD written;
void write(const char *str, int ssize) { //快速渲染
WriteConsoleOutputCharacterA(hout, str, ssize, home_coord, &written);
}
void writefont(const WORD *font, int fsize) { //快速渲染颜色信息
WriteConsoleOutputAttribute(hout, font, fsize, home_coord, &written);
}
bool keydown(int key) { //判断键状态
return GetAsyncKeyState(key);
}
bool keyup(int key){
if(KD[key]==0){
if(keydown(key)){
KD[key]=1;
}
return 0;
}else{
if(keydown(key)){
return 0;
}
KD[key]=0;
return 1;
}
}
int setfontsize(int x, int y) { //设置字体大小
CONSOLE_FONT_INFOEX cfi;
GetCurrentConsoleFontEx(hout, FALSE, &cfi);
cfi.cbSize = sizeof(cfi);
cfi.nFont = 0;
cfi.dwFontSize.X = x;
cfi.dwFontSize.Y = y;
cfi.FontFamily = FF_DONTCARE;
cfi.FontWeight = 400;
wcscpy(cfi.FaceName, L"NSimSun");
return SetCurrentConsoleFontEx(hout, TRUE, &cfi);
}
int rand(int a, int b) { //rand()随机数
return (rand() % (b - a + 1)) + a;
}
void swrite(string str) { //输出到设置缓冲区
WriteConsoleA(hsout, str.c_str(), str.size(), NULL, NULL);
}
bool access(string name) { //判断文件是否存在
ifstream f(name.c_str());
return f.good();
}
int nozero(int k) {
if (k < 0) {
return 0;
} else {
return k;
}
}
char order; //获取玩家输入的指令字符
void c_olor(int corcorcor){ //颜色函数(效率比cmd高一些)
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),corcorcor);
}
void Line(string str,bool m=1){ //居中对齐函数
int i,l,w;
w=80;
l=str.length();
for(i=0;i<(w-l)/2;i++)
cout<<" ";
cout<<str;if(m)cout<<endl;
return ;
}
bool UIing=true;
void UI() {
system("cls");
color(1);
system("cls");
system("color 0f");
cout<<endl;
color(1);
Line("B ",0);
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
color(2);
cout<<"L";
color(3);
cout<<"O";
color(4);
cout<<"C";
color(5);
cout<<"K";
color(6);
cout<<"C";
color(7);
cout<<"R";
color(8);
cout<<"A";
color(9);
cout<<"F";
color(10);
cout<<"T";
color(11);
cout<<" ";
color(12);
cout<<"2";
color(13);
cout<<".";
color(14);
cout<<"0";
cout<<endl;
cout<<endl<<endl;
color(249);
Line(" 开发组团队\n");
color(7);
Line("核心程序/外观设计 陈俊霖");
Line("项目原作 薛乘志");
Line("最新版本负责人 陈俊霖");
Line("UI制作 沙宸安");
Line("");
cout<<endl;
color(249);
Line(" 特别鸣谢名单\n");
color(7);
Line(" 注:以上排名不分先后\n");
cout<<endl;
Line("吴庞茂旭 王 子 逸 刘 英 杰 杜 文 博 侯 平 仄");
Line("欧阳语聪 张 帆 赵 逸 凡 赵 奕 帆 陈 曦");
Line("许 金 夫 江 齐 悦 孔 小 川 宣 海 宁 王 子 耀");
Line("陈 喆 鹏 包 涵 宇 潘 孝 宇 曹 灿 阳 朱 优 扬");
Line("郑 泓 毅 陈 家 傲 李 玥 仑 赵 泰 来 薛 乘 志");
Line("黄 子 阳 朱 瑾 文 丁 博 扬 汪 子 谦 王 旭 杰");
Line("杜 坤 锴 沙 宸 安 许 梦 琪 焦 先 熠");
// Line("沙 宸 安");
color(252);
cout<<endl;
Line("注:所有在鸣谢名单上的人可以申请移出。");
color(7);
Line("[1/2]");
Line("G-切换下一页");
while(order!='G' && order!='g') {
order=getch();
}
system("cls");
color(3);
system("cls");
cout<<endl;
color(1);
Line("B ",0);
cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
color(2);
cout<<"L";
color(3);
cout<<"O";
color(4);
cout<<"C";
color(5);
cout<<"K";
color(6);
cout<<"C";
color(7);
cout<<"R";
color(8);
cout<<"A";
color(9);
cout<<"F";
color(10);
cout<<"T";
color(11);
cout<<" ";
color(12);
cout<<"2";
color(13);
cout<<".";
color(14);
cout<<"0";
color(15);
cout<<endl;
cout<<endl<<endl;
color(249);
Line(" 本版本更新内容\n");
color(7);
Line("这是BLOCKCRAFT的第3个版本");
Line("本版本更新内容如下:");
cout<<endl;
Line("");
Line("增加充能铁轨和沙漠");
Line("");
Line("SUPERCRAFT正式更名为BLOCKCRAFT");
Line("");
cout<<endl;
color(252);
Line(" BLOCKCRAFT开发组团队预祝您游玩愉快!\n");
cout<<endl;
color(7);
Line("[2/2]");
Line("S-开始游戏");
color(249);
cout<<"\n";
Line(" 版权声明\n");
color(7);
Line("本游戏由EX-HSFX制作");
Line("版权所有 未经授权严禁转载 保留所有权利");
Line("Copyright XAscience All Rights Reserved");
while(order!='S' && order!='s') {
order=getch();
}
bool fl=1;
while(order!='O' && order!='o') {
if(fl==1) {
system("cls");
color(240);
system("cls");
cout<<endl;
color(7);
cout<<"\n\n\n\n\n\n";
color(240);
cout<<" ";
c_olor(240);
cout<<"F-单人游戏(进入后不可退出)\n";
c_olor(7);
cout<<endl;
c_olor(7);
cout<<" ";
c_olor(240);
cout<<" H-个人中心 \n";
c_olor(7);
cout<<"\n ";
c_olor(240);
cout<<" J-教程 ";
c_olor(7);
cout<<" ";
c_olor(240);
cout<<" O-退出 ";
c_olor(7);
cout<<"\n\n\n\n\n\n\n\n";
Line("UI界面由兴安科技(沙宸安)提供");
Line(" Copyright XAscience Do not distribute!");
fl=0;
}
order=getch();
if(order=='F' || order=='f') {
system("cls");
return;
}
if(order=='H' || order=='h') {
}
if(order=='J' || order=='j') {
system("cls");
cout<<
"┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐\n"<<
"│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ — │ + │ \n"<<
"│ │ │ │挖掘 │挖掘 │挖掘 │背包 │背包 │微调 │微调 │ - │ = │\n"<<
"└────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┐\n"<<
" │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │\n"<<
" │ │移动 │ │挖掘 │转身 │挖掘 │ │ │ │ │ [ │ ] │\n"<<
" └┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┘\n"<<
" │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ \" │\n"<<
" │移动 │ │移动 │挖掘 │交互 │挖掘 │ │ │ │ ; │ \' │\n"<<
" └───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┘\n"<<
" │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │\n"<<
" │退出 │ │ │挖掘 │挖掘 │挖掘 │ │ , │ . │ / │\n"<<
" └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘\n";
Line("1. 挖掘速度被减慢,用钻石镐等镐子可以加快速度");
Line("2. 矿车上用ADS2移动,W下车");
cout<<"\n\n\n\n";
Line("按K退出此界面");
while(order!='k'&&order!='K')order=getch();
fl=1;
}
}
Sleep(1000);
exit(0);
return ;
}
bool jianzao;
int on_car;
//常量
int blocks[1000][10][10] = {
{
//0:air(空气)
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},
{
//1:grass_block(草方块)
{2, 10, 2, 10, 2, 10, 2, 10, 2, 10},
{10, 2, 10, 2, 10, 2, 10, 2, 10, 2},
{2, 6, 2, 6, 2, 6, 2, 6, 2, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6}
},
{
//2:dirt(泥土)
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6}
},
{
//3:stone(石头)
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
},
{
//4:none(基岩)
{0, 8, 0, 8, 0, 8, 0, 8, 0, 8},
{8, 0, 8, 0, 8, 0, 8, 0, 8, 0},
{0, 8, 0, 8, 0, 8, 0, 8, 0, 8},
{8, 0, 8, 0, 8, 0, 8, 0, 8, 0},
{0, 8, 0, 8, 0, 8, 0, 8, 0, 8},
{8, 0, 8, 0, 8, 0, 8, 0, 8, 0},
{0, 8, 0, 8, 0, 8, 0, 8, 0, 8},
{8, 0, 8, 0, 8, 0, 8, 0, 8, 0},
{0, 8, 0, 8, 0, 8, 0, 8, 0, 8},
{8, 0, 8, 0, 8, 0, 8, 0, 8, 0},
},
{
//5:water(水)
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
{9, 9, 9, 9, 9, 9, 9, 9, 9, 9}
},
{
//6:原木
{0, 6, 6, 0, 6, 14, 6, 0, 6, 14},
{0, 14, 6, 0, 14, 0, 14, 6, 0, 14},
{0, 14, 6, 0, 14, 0, 14, 6, 0, 6},
{14, 6, 0, 14, 6, 0, 14, 6, 0, 14},
{6, 14, 6, 6, 14, 6, 6, 6, 0, 14},
{6, 0, 6, 0, 14, 6, 0, 6, 6, 14},
{6, 0, 14, 0, 14, 6, 0, 6, 14, 6},
{14, 0, 14, 6, 0, 14, 6, 0, 14, 0},
{14, 0, 6, 14, 0, 14, 6, 14, 14, 0},
{6, 14, 6, 14, 0, 6, 14, 6, 14, 0}
},
{
//7:树叶
{10, 2, 15, 10, 2, 15, 10, 2, 15, 10},
{10, 15, 10, 15, 15, 10, 15, 2, 10, 2},
{15, 10, 15, 10, 2, 15, 10, 15, 15, 10},
{10, 2, 15, 10, 15, 10, 15, 10, 2, 15},
{10, 15, 10, 15, 10, 15, 2, 2, 15, 10},
{2, 15, 2, 10, 2, 15, 10, 15, 10, 2},
{15, 10, 15, 10, 15, 10, 15, 2, 15, 10},
{10, 10, 10, 15, 10, 2, 15, 10, 2, 10},
{15, 2, 15, 10, 10, 15, 10, 2, 10, 15},
{10, 10, 10, 2, 15, 10, 15, 15, 10, 2}
}
,{
//8:iron
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8,8, 8, 7,7, 8, 8, 8},
{8, 8, 7, 7, 8, 8, 8, 8, 8, 8},
{7, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8,8, 7, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 7, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 7, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
}
,{
//9:diamond
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8,8, 8, diamond,diamond, 8, 8, 8},
{8, 8, diamond, diamond, 8, 8, 8, 8, 8, 8},
{diamond, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8,8, diamond, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, diamond, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, diamond, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
}
,{
//10:gold
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8,8, 8, gold,gold, 8, 8, 8},
{8, 8, gold, gold, 8, 8, 8, 8, 8, 8},
{gold, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8,8, gold, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, gold, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, gold, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
},
{//11、木板
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
{14,14,0,14,14,14,0,14,14,14},
},{//12、工作台
{15,15,15,15,15,15,15,15,15,15},
{0,0,0,0,0,0,0,0,0,0},
{0,14,14,14,14,14,14,14,14,0},
{0,0,0,0,0,0,0,0,0,0},
{15,0,14,0,15,15,0,14,0,15},
{15,0,14,0,15,15,0,14,0,15},
{15,0,14,0,15,15,0,14,0,15},
{15,0,14,0,15,15,0,14,0,15},
{15,0,14,0,15,15,0,14,0,15},
{15,0,0,0,15,15,0,0,0,15},
}
,{
//13:煤炭
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8,8, 8, 0,0, 8, 8, 8},
{8, 8, 0, 0, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8,8, 0, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 0, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 0, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
},{
//14:钻块
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
}
,{
//15:熔炉
{0, 0,0,0, 0, 0, 0, 0, 0, 0},
{0, 8,8,8, 8, 8, 8, 8, 8, 0},
{0, 8,8,8, 8, 8, 8, 8, 8, 0},
{0, 8,8,8, 8, 8, 8, 8, 8, 0},
{0, 0,0,0, 0, 0, 0, 0, 0, 0},
{0, 8,8,8, 8, 8, 8, 8, 8, 0},
{0, 8,8,0, 0, 0, 0, 8, 8, 0},
{0, 8,8,0, 8, 8,0, 8, 8, 0},
{0, 8,8,0, 8, 8, 0, 8, 8, 0},
{0, 0,0,0, 0, 0, 0, 0,0, 0}
},{
//16:铁锭
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{ 0, 0, 0, 0, 0, 0, 0, 0,15,15},
{ 0, 0, 7, 7, 7, 7, 7, 7, 0,15},
{ 0, 7, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 0, 0, 7, 7, 7, 7, 7, 7, 0},
{15,15, 0, 0, 0, 0, 0, 0, 0, 0},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15}
},{
//17:金锭
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{ 0, 0, 0, 0, 0, 0, 0, 0,15,15},
{ 0, 0, 6, 6, 6, 6, 6, 6, 0,15},
{ 0, 6, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 0, 0, 6, 6, 6, 6, 6, 6, 0},
{15,15, 0, 0, 0, 0, 0, 0, 0, 0},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15}
},{
//18:铁块
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 7, 7, 7, 7, 7, 7, 7, 7, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
},{
//19:金块
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
},{
//20:木棍
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 4, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 4, 15, 15, 15, 15},
{15, 15, 15, 15, 4, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 4, 15, 15, 15, 15, 15},
{15, 15, 15, 4, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 4, 15, 15, 15, 15, 15, 15},
{15, 15, 4, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 4, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},{
//21:木镐
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 15, 15, 15, 15},
{15, 15, 15, 0, 14, 14, 0, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 14, 0, 15, 15},
{15, 15, 15, 15, 0, 4, 0, 14, 0, 15},
{15, 15, 15, 0, 4, 0, 0, 14, 0, 15},
{15, 15, 0, 4, 0, 15, 0, 0, 0, 15},
{15, 0, 4, 0, 15, 15, 15, 15, 15, 15},
{15, 0, 0, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
}
,{
//22:木镐
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 15, 15, 15, 15},
{15, 15, 15, 0, 8, 8, 0, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 8, 0, 15, 15},
{15, 15, 15, 15, 0, 4, 0, 8, 0, 15},
{15, 15, 15, 0, 4, 0, 0, 8, 0, 15},
{15, 15, 0, 4, 0, 15, 0, 0, 0, 15},
{15, 0, 4, 0, 15, 15, 15, 15, 15, 15},
{15, 0, 0, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},{
//23:铁镐
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 15, 15, 15, 15},
{15, 15, 15, 0, 7, 7, 0, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 7, 0, 15, 15},
{15, 15, 15, 15, 0, 4, 0, 7, 0, 15},
{15, 15, 15, 0, 4, 0, 0, 7, 0, 15},
{15, 15, 0, 4, 0, 15, 0, 0, 0, 15},
{15, 0, 4, 0, 15, 15, 15, 15, 15, 15},
{15, 0, 0, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},{
//24:钻镐
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 15, 15, 15, 15},
{15, 15, 15, 0, 1, 1, 0, 15, 15, 15},
{15, 15, 15, 0, 0, 0, 1, 0, 15, 15},
{15, 15, 15, 15, 0, 4, 0, 1, 0, 15},
{15, 15, 15, 0, 4, 0, 0, 1, 0, 15},
{15, 15, 0, 4, 0, 15, 0, 0, 0, 15},
{15, 0, 4, 0, 15, 15, 15, 15, 15, 15},
{15, 0, 0, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},{
//25:单独矿车
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
},{
//26:轨道
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 4, 15, 4, 15, 15, 4, 15, 4, 15},
},{
//27:轨道加矿车
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 4, 15, 4, 15, 15, 4, 15, 4, 15},
},
{
//28:r-l台阶
{8, 8, 8, 8, 8, 15, 15, 15, 15, 15},
{8, 8, 8, 8, 8, 15, 15, 15, 15, 15},
{8, 8, 8, 8, 8, 15, 15, 15, 15, 15},
{8, 8, 8, 8, 8, 15, 15, 15, 15, 15},
{8, 8, 8, 8, 8, 15, 15, 15, 15, 15},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
},
{
//29:l-r台阶
{15, 15, 15, 15, 15,8, 8, 8, 8, 8},
{15, 15, 15, 15, 15,8, 8, 8, 8, 8},
{15, 15, 15, 15, 15,8, 8, 8, 8, 8},
{15, 15, 15, 15, 15,8, 8, 8, 8, 8},
{15, 15, 15, 15, 15,8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
{8, 8, 8, 8, 8, 8, 8, 8, 8, 8},
},{
//30:充能轨道
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 4, 15, 4, 15, 15, 4, 15, 4, 15},
},{
//31:充能轨道加矿车
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 7, 7, 7, 7, 7, 7, 0, 15},
{15, 0, 0, 0, 0, 0, 0, 0, 0, 15},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{15, 4, 15, 4, 15, 15, 4, 15, 4, 15},
},{
//32:仙人掌
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2},
{ 2, 2, 0, 2, 2, 2, 2, 0, 2, 2}
},{
//33:沙子
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14},
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14},
{ 15, 15, 14, 14, 15, 15, 14, 14, 15, 15},
{ 15, 15, 14, 14, 15, 15, 14, 14, 15, 15},
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14},
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14},
{ 15, 15, 14, 14, 15, 15, 14, 14, 15, 15},
{ 15, 15, 14, 14, 15, 15, 14, 14, 15, 15},
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14},
{ 14, 14, 15, 15, 14, 14, 15, 15, 14, 14}
}
};
int pLus[10][10]={
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15},
{15,15,15,15,0,0,15,15,15,15}
};
int eq[10][10]={
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15}
};
int good[10][10]={
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,2},
{15,15,15,15,15,15,15,15,2,15},
{15,15,15,15,15,15,15,2,15,15},
{15,15,15,15,15,15,2,15,15,15},
{15,2,15,15,15,2,15,15,15,15},
{15,15,2,15,2,15,15,15,15,15},
{15,15,15,2,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15}
};
int bad[10][10]={
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,4,15,15,15,4,15,15,15},
{15,15,15,4,15,4,15,15,15,15},
{15,15,15,15,4,15,15,15,15,15},
{15,15,15,4,15,4,15,15,15,15},
{15,15,4,15,15,15,4,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15},
{15,15,15,15,15,15,15,15,15,15}
};
int nums[13][10][5]={
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,0,0,0,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,7,7,0,7},
{7,0,0,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,0,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,7,7,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,0,0,7,7},
{7,0,7,0,7},
{7,0,7,0,7},
{7,7,7,7,7}
},
{
{7,7,7,7,7},
{7,7,7,7,7},
{7,7,0,7,7},
{7,7,0,7,7},
{7,0,0,0,7},
{7,7,0,7,7},
{7,7,0,7,7},
{7,7,7,7,7},
{7,7,7,7,7},
{7,7,7,7,7}
}
};
int player[20][10] = {
{15, 15, 15, 15, 15, 15, 15, 15, 15, 15},
{15, 15, 0, 0, 0, 0, 0, 0, 15, 15},
{15, 15, 0, 0, 0, 0, 0, 0, 15, 15},
{15, 15, 14, 14, 0, 0, 0, 0, 15, 15},
{15, 15, 14, 14, 14, 14, 0, 0, 15, 15},
{15, 15, 14, 14, 14, 14, 14, 14, 15, 15},
{15, 15, 14, 14, 14, 14, 14, 14, 15, 15},
{15, 15, 15, 3, 3, 3, 3, 15, 15, 15},
{15, 15, 15, 3, 3, 3, 3, 15, 15, 15},
{6, 3, 3, 3, 3, 3, 3, 15, 15, 15},
{6, 3, 3, 3, 3, 3, 3, 15, 15, 15},
{15, 15, 15, 3, 3, 3, 3, 15, 15, 15},
{15, 15, 15, 3, 3, 3, 3, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 3, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 1, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 1, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 1, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 1, 15, 15, 15},
{15, 15, 15, 1, 1, 1, 1, 15, 15, 15},
{15, 15, 15, 8, 8, 8, 8, 15, 15, 15},
};
ofstream wlog("log.txt"); //日志输出
struct obj{
int id,num;
};
vector<obj>bag;
int pointer1,pointer2,pointer3;
//程序函数
int WDOUBLE = 0;
void hello() { //首次运行设置
nofastedit();
cursor(false);
SetConsoleActiveScreenBuffer(hsout);
swrite("你好,欢迎使用BLOCKCRAFT。\n");
swrite("在开始之前,我们需要进行一些设置。\n");
swrite("[按任意键继续]");
getch();
system("cls");
swrite("在显示的两个正方形中,选择较为规整的一个\n");
swrite("[按任意键继续]");
getch();
system("cls");
SetConsoleActiveScreenBuffer(hout);
setfontsize(4, 4);
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {1, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4, 4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {13, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4, 4);
w[pos++] = get_font(4, 4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
getch();
system("cls");
SetConsoleActiveScreenBuffer(hsout);
swrite("哪一个正方形是最规整的?\n");
swrite("1.左边的 2.右边的");
reinput:
int ipt = getch();
if (ipt == '1') {
WDOUBLE = 0;
} else if (ipt == '2') {
WDOUBLE = 1;
} else {
goto reinput;
}
system("cls");
swrite("按+/-调整窗口大小,F键确定\n");
swrite("请保持白色方块为正方形\n[按任意键继续]");
getch();
SetConsoleActiveScreenBuffer(hout);
if (WDOUBLE == 0) {
system("mode con:cols=200 lines=100");
} else {
system("mode con:cols=400 lines=100");
}
if (WDOUBLE == 0) {
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {1, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4, 4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
} else {
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {1, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4,4);
w[pos++] = get_font(4, 4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
}
int sizes = 4;
while (1) {
int ipt = getch();
if (ipt == '+' || ipt == '=') {
sizes++;
setfontsize(sizes, sizes);
if (WDOUBLE == 0) {
system("mode con:cols=200 lines=100");
} else {
system("mode con:cols=400 lines=100");
}
}
if (ipt == '-' || ipt == '_') {
sizes--;
if (sizes < 1) {
sizes = 1;
}
setfontsize(sizes, sizes);
if (WDOUBLE == 0) {
system("mode con:cols=200 lines=100");
} else {
system("mode con:cols=400 lines=100");
}
}
if (WDOUBLE == 0) {
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {1, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4,4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
} else {
for (int i = 1; i <= 10; i++) {
WORD w[1005];
int pos = 0;
COORD coord = {1, i};
for (int j = 1; j <= 10; j++) {
w[pos++] = get_font(4, 4);
w[pos++] = get_font(4, 4);
}
WriteConsoleOutputAttribute(hout, w, pos, coord, &written);
}
}
if (ipt == 'f' || ipt == 'F') {
break;
}
}
SetConsoleActiveScreenBuffer(hsout);
system("cls");
ofstream sout("sets");
sout << WDOUBLE << " " << sizes;
sout.close();
swrite("谢谢!\n设置已保存,以后将不会出现此窗口。\n");
swrite("如果对此次设定不满意,可以删除sets文件以重新设置\n[按任意键继续]");
getch();
SetConsoleActiveScreenBuffer(hout);
}
int world[CgDu+5][300];
int X = CgDu*5, Y = 1280, LR = 0, FPS = 60; //玩家位置
int output[201][121]; //输出缓存
void sendprint() { //绘制控制台
WORD col[24005] = {};
int pos = 0;
//将二维数组存储到一维内
for (int i = 1; i <= 120; i++) {
for (int j = 1; j <= 200; j++) {
col[pos] = get_font(output[j][i], output[j][i]);
pos++;
}
}
writefont(col, 24000);
}
int unLight[CgDu+5][300];
void sendprint_double() { //绘制控制台
WORD col[48005] = {};
int pos = 0;
//将二维数组存储到一维内
for (int i = 1; i <= 120; i++) {
for (int j = 1; j <= 200; j++) {
col[pos] = get_font(output[j][i], output[j][i]);
pos++;
col[pos] = get_font(output[j][i], output[j][i]);
pos++;
}
}
writefont(col, 48000);
}
//世界
int dx[4]={0,0,-1,1},dy[4]={1,-1,0,0};
map<int,bool>unblock;
struct craft{
int num1,id1,num2,id2,num3,id3,num4,id4;
};
vector<craft>crafta,craftb,craftc;
int mode=0;
void init();
void render_block(int y,int x,int id){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
output[x+i][y+j]=blocks[id][j][i];
}
}
}
void render_plus(int y,int x,int black=0,int white=15){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
output[x+i][y+j]=(pLus[j][i]?white:black);
}
}
}
void render_eq(int y,int x,int black=0,int white=15){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
output[x+i][y+j]=(eq[j][i]?white:black);
}
}
}
void render_number(int y,int x,int num,int black=0,int
white=15){
for(int i=0;i<5;i++){
for(int j=0;j<10;j++){
int k=nums[num/10][j][i];
output[x+i][y+j]=(k?white:black);
}
}
for(int i=0;i<5;i++){
for(int j=0;j<10;j++){
int k=nums[num%10][j][i];
output[x+i+5][y+j]=(k?white:black);
}
}
}
void render_good(int y,int x){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
output[x+i][y+j]=good[j][i];
}
}
}
void render_bad(int y,int x){
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
output[x+i][y+j]=bad[j][i];
}
}
}
bool check(craft a){
int s1=0,s2=0,s3=0;
for(int i=0;i<bag.size();i++){
if(bag[i].id==a.id1){
s1+=bag[i].num;
}
if(bag[i].id==a.id2){
s2+=bag[i].num;
}
if(bag[i].id==a.id3){
s3+=bag[i].num;
}
}
if((s1>=a.num1||a.id1==0)&&(s2>=a.num2||a.id2==0)&&(
s3>=a.num3||a.id3==0)){
return 1;
}
return 0;
}
void Craft(craft cr){
int s1=cr.num1,s2=cr.num2,s3=cr.num3;
for(int i=0;i<bag.size();i++){
if(bag[i].id==cr.id1&&s1!=0){
if(bag[i].num>=s1){
bag[i].num-=s1;
}else{
s1-=bag[i].num;
bag[i].num=0;
}
}
if(bag[i].id==cr.id2&&s2!=0){
if(bag[i].num>=s2){
bag[i].num-=s2;
}else{
s2-=bag[i].num;
bag[i].num=0;
}
}
if(bag[i].id==cr.id3&&s3!=0){
if(bag[i].num>=s3){
bag[i].num-=s3;
}else{
s3-=bag[i].num;
bag[i].num=0;
}
}
}
for(int i=0;i<bag.size();i++){
if(bag[i].num==0){
bag.erase(bag.begin()+i);
i--;
}
}
obj o;
o.num=cr.num4;
o.id=cr.id4;
for(int i=0;i<bag.size();i++){
if(o.id==bag[i].id){
bag[i].num+=o.num;
return;
}
}
bag.push_back(o);
}
bool check_block_unlight(int m){
return m==3||m==4||m==8||m==9||m==10||m==13;
}
bool check_light(int x,int y){
for(int i=0;i<=3;i++){
if(unLight[x+dx[i]][y+dy[i]]==0&&!check_block_unlight(
world[x+dx[i]][y+dy[i]])){
return 1;
}
}
return 0;
}
int wat,*wab;
void console() { //设置控制台
system("title BLOCKCRAFT");
system("chcp 936");
system("cls");
hsout = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, 1, NULL);
if (!access("sets")) { //不存在
hello();
}
UI();
cout<<"请输入存档名:(没有此档则会自动建档,none重新建档)";
cin>>xs;
if(xs=="none"){
cout<<"请输入档名:"
;cin>>xs;
/*if(xs=="kuang_che"){
generation(1);
for(int i=80;i<=CgDu-80;i++){
for(int j=39;j<=123;j++){
if(world[i][j]==1){
world[i][j]=18;
}
}
}
}else{*/
generation(-1);
}else{
if(access(xs)){
ifstream sin(xs.c_str());
int cnt=0;
for(int i=0;i<=CgDu;i++){
for(int j=0;j<=256;j++){
sin>>world[i][j];
if(sin){
cnt++;
}
}
}
for(int i=0;i<=CgDu;i++){
for(int j=0;j<=256;j++){
int x;
sin>>unLight[i][j];//=bool(x);
if(sin){
cnt++;
}
}
}
int C=cnt;
sin>>X>>Y;
if(sin){
cnt+=2;
}
int t,t2;
while(sin>>t>>t2){
cnt+=2;
bag.push_back((obj){t,t2});
}
if(cnt==C){
cout<<"存档可能被**,请截屏发给EX-HSFX官方";
while(1){
getch();
}
}
}else{
generation(-1);
}
}
nofastedit(); //关闭快速输入
cursor(false); //关闭光标显示
ifstream sin("sets");
int sizes;
sin >> WDOUBLE >> sizes; //读入设置
sin.close();
setfontsize(sizes, sizes);
if (WDOUBLE == 0) {
system("mode con:cols=200 lines=120");
} else {
system("mode con:cols=400 lines=120");
}
}
void render() { //软件渲染器
if(mode==0){
int x_left = X / 10 - 9,
x_right = (X % 10 == 0) ? (X / 10 + 10) :
(X / 10 + 11); //计算需要渲染的左边线和右边线
int y_left = (Y % 10 == 0) ? (Y / 10 - 5) :
(Y / 10 - 6), y_right = Y / 10 + 5; //计算需要渲染的上边线和下边线
int x_more = X % 10, y_more = Y % 10; //计算多出的部分
int x_pos = 1, y_pos = 1; //渲染位置计算
//渲染世界
for (int i = x_left; i <= x_right; i++) {
y_pos = 1;
for (int j = y_right; j >= y_left; j--) {
for (int p_i = 0; p_i < 10; p_i++) {
for (int p_j = 0; p_j < 10; p_j++) {
if (x_pos + p_i - x_more < 0 ||
x_pos + p_i - x_more > 200 ||
y_pos - p_j + y_more < 0 ||
y_pos - p_j + y_more > 100) {
continue; //如果越界则跳过
}
if(check_light(i,j)){
unLight[i][j]=0;
output[x_pos + p_i - x_more][y_pos - p_j
+ y_more] = blocks[world[i][j]][9 - p_j
][p_i];
}else
output[x_pos + p_i - x_more][y_pos - p_j
+ y_more]=0;
}
}
y_pos += 10;
}
x_pos += 10;
}
//渲染玩家
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 20; j++) {
if(on_car==0||j<11)
if (LR == 0) {
if (player[j][i] != 15) {
output[91 + i][36 + j] = player[j][i];
}
} else {
if (player[j][9 - i] != 15) {
output[91 + i][36 + j] = player[j][9 - i];
}
}
}
}
}
else if(mode==1){
for(int i=1;i<=200;i++){
for(int j=1;j<=100;j++){
output[i][j]=15;
}
}
for(int i=pointer3;i<crafta.size()&&i<pointer3+9;i++){
int k=i-pointer3;
render_number(k*11+1,0,crafta[i].num1);
render_block(k*11+1,10,crafta[i].id1);
render_plus(k*11+1,20);
render_number(k*11+1,30,crafta[i].num2);
render_block(k*11+1,40,crafta[i].id2);
render_plus(k*11+1,50);
render_number(k*11+1,60,crafta[i].num3);
render_block(k*11+1,70,crafta[i].id3);
render_eq(k*11+1,80);
render_number(k*11+1,90,crafta[i].num4);
render_block(k*11+1,100,crafta[i].id4);
if(check(crafta[i])){
render_good(k*11+1,120);
}else{
render_bad(k*11+1,120);
}
}
}else if(mode==2){
for(int i=1;i<=200;i++){
for(int j=1;j<=100;j++){
output[i][j]=15;
}
}
for(int i=pointer3;i<craftb.size()&&i<pointer3+9;i++){
int k=i-pointer3;
render_number(k*11+1,0,craftb[i].num1);
render_block(k*11+1,10,craftb[i].id1);
render_plus(k*11+1,20);
render_number(k*11+1,30,craftb[i].num2);
render_block(k*11+1,40,craftb[i].id2);
render_plus(k*11+1,50);
render_number(k*11+1,60,craftb[i].num3);
render_block(k*11+1,70,craftb[i].id3);
render_eq(k*11+1,80);
render_number(k*11+1,90,craftb[i].num4);
render_block(k*11+1,100,craftb[i].id4);
if(check(craftb[i])){
render_good(k*11+1,120);
}else{
render_bad(k*11+1,120);
}
}
}else if(mode==3){
for(int i=1;i<=200;i++){
for(int j=1;j<=100;j++){
output[i][j]=15;
}
}
for(int i=pointer3;i<craftc.size()&&i<pointer3+9;i++){
int k=i-pointer3;
render_number(k*11+1,0,craftc[i].num1);
render_block(k*11+1,10,craftc[i].id1);
render_plus(k*11+1,20);
render_number(k*11+1,30,craftc[i].num2);
render_block(k*11+1,40,craftc[i].id2);
render_plus(k*11+1,50);
render_number(k*11+1,60,craftc[i].num3);
render_block(k*11+1,70,craftc[i].id3);
render_eq(k*11+1,80);
render_number(k*11+1,90,craftc[i].num4);
render_block(k*11+1,100,craftc[i].id4);
if(check(craftc[i])){
render_good(k*11+1,120);
}else{
render_bad(k*11+1,120);
}
}
}
int colour=(jianzao?9:12);
for(int i=0;i+pointer2*20<bag.size();i++){
for(int j=0;j<5;j++){
for(int k=0;k<10;k++){
if(pointer1!=i){
if(bag[i+pointer2*20].num<100)
output[i*10+1+j][111+k]=nums[bag[i
+pointer2*20].num%100/10][k][j];
else if(bag[i+pointer2*20].num<1000)
output[i*10+1+j][111+k]=nums[10][k][j];
else
output[i*10+1+j][111+k]=nums[11][k][j];
}else{
if(bag[i+pointer2*20].num<100)
output[i*10+1+j][111+k]=((nums[bag[i+
pointer2*20].num%100/10][k][j]==0)?colour:7);
else if(bag[i+pointer2*20].num<1000)
output[i*10+1+j][111+k]=((nums[10][k][j]==0)
?colour:7);
else
output[i*10+1+j][111+k]=((nums[11][k][j]==0)
?colour:7);
}
}
}
for(int j=0;j<5;j++){
for(int k=0;k<10;k++){
if(pointer1!=i){
if(bag[i+pointer2*20].num<100)
output[i*10+6+j][111+k]=nums[bag[i
+pointer2*20].num%10][k][j];
else
output[i*10+6+j][111+k]=nums[12][k][j];
}else{
if(bag[i+pointer2*20].num<100)
output[i*10+6+j][111+k]=((nums[bag[i+
pointer2*20].num%10][k][j]==0)?colour:7);
else
output[i*10+6+j][111+k]=((nums[12][k][j]==0)
?colour:7);
}
}
}
}
for(int i=0;i+pointer2*20<bag.size();i++){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
output[i*10+1+j][101+k]=blocks[bag[i+pointer2*20
].id][k][j];
}
}
}
for(int i=max((int)bag.size()-pointer2*20,0);i<=20;i++){
for(int j=0;j<10;j++){
for(int k=0;k<20;k++){
output[i*10+1+j][101+k]=0;
}
}
}
}
void dfs_dong(int st,int x,int y){
if(x<=80||y<=80||x>=CgDu-80||world[x][y]==0||st==0){
return ;
}
world[x][y]=0;
for(int i=0;i<3;i++){
if(rand(1,3)>1){
dfs_dong(st-1,x+dx[i],y+dy[i]);
}
}
}
int check_time(int bl,int cr){
int T;
if(cr==21){
if(bl==1||bl==2){
return 2;
}
if(bl==3||bl==15||bl==13){
return 2;
}
if(bl==6||bl==11||bl==12){
return 3;
}
if(bl==7){
return 1;
}
if(bl==8||bl==18){
return 7;
}
if(bl==10||bl==19){
return 15;
}
if(bl==9||bl==14){
return 35;
}
}else if(cr==22){
if(bl==1||bl==2){
return 2;
}
if(bl==3||bl==15||bl==13){
return 1;
}
if(bl==6||bl==11||bl==12){
return 3;
}
if(bl==7){
return 1;
}
if(bl==8||bl==18){
return 5;
}
if(bl==10||bl==19){
return 10;
}
if(bl==9||bl==14){
return 25;
}
}else if(cr==23){
if(bl==1||bl==2){
return 2;
}
if(bl==3||bl==15||bl==13){
return 1;
}
if(bl==6||bl==11||bl==12){
return 3;
}
if(bl==7){
return 1;
}
if(bl==8||bl==18){
return 1;
}
if(bl==10||bl==19){
return 3;
}
if(bl==9||bl==14){
return 15;
}
}else if(cr==24){
if(bl==1||bl==2){
return 1;
}
if(bl==3||bl==15||bl==13){
return 1;
}
if(bl==6||bl==11||bl==12){
return 1;
}
if(bl==7){
return 1;
}
if(bl==8||bl==18){
return 1;
}
if(bl==10||bl==19){
return 1;
}
if(bl==9||bl==14){
return 5;
}
}
else{
if(bl==1||bl==2){
return 2;
}
if(bl==3||bl==15||bl==13){
return 5;
}
if(bl==6||bl==11||bl==12){
return 3;
}
if(bl==7){
return 1;
}
if(bl==8||bl==18){
return 10;
}
if(bl==10||bl==19){
return 20;
}
if(bl==9||bl==14){
return 50;
}
}
return 1;
}
void generation(int seed) {
//生成种子
if (seed == -1) {
srand(time(0));
srand(rand() + time(0));
seed = rand();
}
srand(seed);
//生成空气
for (int i = 0; i < CgDu; i++) {
for (int j = 1; j < 256; j++) {
world[i][j] = 0;
}
}
//生成基本地形
int grass = rand(50, 80);
int higher = rand(1, 3);
int trend = 1, stop_sum = 1;
bool biome = rand(0, 1);
int tree;
bool sand=0;
for (int i = 0; i < CgDu; i++) {
world[i][0] = 4; //基岩
for (int j = 1; j < grass - 3; j++) {
unLight[i][j]=1;
if(i<80||i>CgDu-80){
for(int j=1;j<300;j++){
world[i][j]=4;
}
goto again;
}
if(j==14){
if(rand(1,14)==1){
world[i][j]=9;
continue;
}
}
if(rand(1,1000)==1){
dfs_dong(rand(3,5),i-1,j);
}
if(rand(1,6000)==1){
dfs_dong(rand(12,15),i-1,j);
}
if(rand(1,20000)==1){
dfs_dong(rand(20,30),i-1,j);
}
if(rand(1,30)!=1){
world[i][j]=3;
}else if(rand(1,5)!=1){
world[i][j]=8+rand(0,1)*5;
}else if(rand(1,5)==3&&j<20){
world[i][j]=9;
}else{
world[i][j]=10;
}
}
for (int j = grass - 3; j < grass; j++) {
world[i][j] = (sand?33:2); //泥土
}
world[i][grass] = (sand?33:1);
if(tree==0&&(world[i][grass]!=5))
tree=int(!rand(0,20))*5;
else
tree=0;
if(tree!=0&&i>80&&i<CgDu-80){
for(int j=grass+1;j<grass+tree;j++){
world[i][j]=(sand?32:6);
if(j==grass+tree-1&&sand==0){
for(int k=-2;k<=2;k++){
if(world[i+k][j]==0){
world[i+k][j]=7;
}
}
for(int k=-2;k<=2;k++){
if(world[i+k][j+1]==0){
world[i+k][j+1]=7;
}
}
for(int k=-1;k<=1;k++){
if(world[i+k][j+2]==0){
world[i+k][j+2]=7;
}
}
}
}
}
if (biome) { //生成下一个草方块高度
if (rand(0, 7) == 3) {
grass += trend;
stop_sum = 1;
} else {
stop_sum++;
}
} else {
if (rand(0, nozero(3 - stop_sum)) == 0) {
grass += trend * higher;
stop_sum = 1;
} else {
stop_sum++;
}
}
//随机更新高度
if (rand(0, 1) == 1) {
higher++;
} else {
higher--;
}
if (rand(0, 40) == 10) {
trend *= -1;
}
if (rand(0, 100) == 50) {
biome = !biome;
}
//限制范围
if (grass > 120) {
grass = 120;
}
if (grass < 40) {
grass = 40;
}
if (higher > 2) {
higher = 2;
}
if (higher < 1) {
higher = 1;
}
if(grass<=55){
if(rand(1,3)==3){
trend=1;
}
}
if(sand==0&&rand(1,100)==1){
sand=1;
}
if(sand==1&&rand(1,50)==1){
sand=0;
}
again:;
}
}
void *printmain(void *arg) {
clock_t st, tmp;
int sum = 0, fps = -1;
char t[1005];
st = clock();
while (1) {
render(); //软件渲染
if (WDOUBLE == 0) { //发送渲染
sendprint();
} else {
sendprint_double();
}
sum++; //记录渲染个数
sprintf(t, "BLOCKCRAFT (X:%.1f,Y:%.1f,FPS:%d)", X * 1.0 / 10.0, Y * 1.0 / 10.0, fps); //输出FPS,坐标
tmp = clock();
if (tmp - st >= 1000) { //计算FPS
fps = sum / ((tmp - st) / 1000.0);
sum = 0;
st = tmp;
}
SetConsoleTitleA(t); //输出FPS
}
}
bool canin(int x) { //判断人能否进入方块
return x == 0 || x == 5||x==6||x==7||x==16||x==17||x==20
||x==21||x==22||x==23||x==26||x==27||x==25||x==24||x==31
||x==30;
}
bool _canin(int x,int y){
return canin(world[x/10][y/10]);
}
void inita(){
craft now_craft;
now_craft.id1=6; now_craft.num1=1;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=11; now_craft.num4=4;
crafta.push_back(now_craft);
now_craft.id1=11; now_craft.num1=4;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=12; now_craft.num4=1;
crafta.push_back(now_craft);
now_craft.id1=11; now_craft.num1=2;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=20; now_craft.num4=4;
crafta.push_back(now_craft);
}
void initb(){
craft now_craft;
now_craft.id1=6; now_craft.num1=1;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=11; now_craft.num4=4;
craftb.push_back(now_craft);
now_craft.id1=11; now_craft.num1=4;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=12; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=9; now_craft.num1=9;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=14; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=14; now_craft.num1=1;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=9; now_craft.num4=9;
craftb.push_back(now_craft);
now_craft.id1=3; now_craft.num1=8;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=15; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=16; now_craft.num1=9;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=18; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=17; now_craft.num1=9;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=19; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=19; now_craft.num1=1;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=17; now_craft.num4=9;
craftb.push_back(now_craft);
now_craft.id1=11; now_craft.num1=2;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=20; now_craft.num4=4;
craftb.push_back(now_craft);
now_craft.id1=11; now_craft.num1=3;
now_craft.id2=20; now_craft.num2=2;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=21; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=16; now_craft.num1=3;
now_craft.id2=20; now_craft.num2=2;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=23; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=3; now_craft.num1=3;
now_craft.id2=20; now_craft.num2=2;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=22; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=9; now_craft.num1=3;
now_craft.id2=20; now_craft.num2=2;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=24; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=16; now_craft.num1=5;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=25; now_craft.num4=1;
craftb.push_back(now_craft);
now_craft.id1=16; now_craft.num1=6;
now_craft.id2=20; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=26; now_craft.num4=6;
craftb.push_back(now_craft);
now_craft.id1=18; now_craft.num1=1;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=16; now_craft.num4=9;
craftb.push_back(now_craft);
now_craft.id1=3; now_craft.num1=3;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=28; now_craft.num4=4;
craftb.push_back(now_craft);
now_craft.id1=3; now_craft.num1=3;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=29; now_craft.num4=4;
craftb.push_back(now_craft);
now_craft.id1=17; now_craft.num1=6;
now_craft.id2=20; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=30; now_craft.num4=20;
craftb.push_back(now_craft);
}
void initc(){
craft now_craft;
now_craft.id1=8; now_craft.num1=1;
now_craft.id2=11; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=16; now_craft.num4=1;
craftc.push_back(now_craft);
now_craft.id1=10; now_craft.num1=1;
now_craft.id2=11; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=17; now_craft.num4=1;
craftc.push_back(now_craft);
now_craft.id1=8; now_craft.num1=6;
now_craft.id2=13; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=16; now_craft.num4=6;
craftc.push_back(now_craft);
now_craft.id1=10; now_craft.num1=6;
now_craft.id2=13; now_craft.num2=1;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=17; now_craft.num4=6;
craftc.push_back(now_craft);
now_craft.id1=11; now_craft.num1=2;
now_craft.id2=0; now_craft.num2=0;
now_craft.id3=0; now_craft.num3=0;
now_craft.id4=13; now_craft.num4=1;
craftc.push_back(now_craft);
}
int main() {
inita();
initb();
initc();
console(); //控制台设置
pthread_create(NULL, NULL, printmain, NULL); //创建渲染线程
//生成世界
int jumps = 0;
int cnt[129]={0};
while (1) { //主循环:游戏刻
if(mode==0){//世界部分
if(!on_car){//行动部分
if (keydown('A') &&_canin(X-1,Y-4)&&_canin(X-1,Y+6)) {
X--; //向左走
LR = 0;
}
if(keyup('9') &&_canin(X-1,Y-4)&&_canin(X-1,Y+6)){
X--;//向左微调
}
if(keyup('0')&& _canin(X+10,Y-4)&&_canin(X+10,Y+6)){
X++;//向右微调
}
if (keydown('D') && _canin(X+10,Y-4)&&_canin(X+10,Y+6)) {
X++; //向右走
LR = 1;
}
if (keydown('W') &&!(_canin(X,Y-6)&&_canin(X+9,Y-6))) {
jumps = 18; //跳跃(判断)
}
if(jumps>0||_canin(X,Y-5)&&_canin(X+9,Y-5)){
if(jumps>0)
for(int i=1;i<=jumps/6;Y++,i++){
if(!(_canin(X,Y+14)&&_canin(X+9,Y+14))){
Y-=3;
jumps=0;
break;
}
}
else{
for(int i=1;i<=jumps/-6;Y--,i++){
if(!(_canin(X,Y-5)&&_canin(X+9,Y-5))){
Y++;
break;
}
}
}
while(!(_canin(X,Y-5)&&_canin(X+9,Y-5))){
Y++;
}
jumps--;
} else {
jumps=0;
}
if(keydown('G')){
if(world[(X+5)/10][Y/10]==27||
world[(X+5)/10][Y/10]==31){
X=(X+5)/10*10;
Y=Y/10*10+5;
on_car=1;
}
}
}else{//矿车部分
if(keydown('W')) {
jumps = 18;
on_car=0;
}
if ((keydown('A')||keyup('9'))
&&((world[(X-5)/10][(Y-5)/10]==26||
world[(X-5)/10][(Y-5)/10]==27||
world[(X-5)/10][(Y-5)/10]==30)
&&_canin((X-5),Y+5)||
(world[(X-5)/10][(Y+5)/10]==26&&
_canin((X-5),Y+10))
||(world[(X-5)/10][(Y-15)/10]==26&&
_canin((X-5),Y-5)))){
if(world[(X-5)/10][(Y-5)/10]==26||
world[(X-5)/10][(Y-5)/10]==30){
world[X/10][(Y-5)/10]--;
world[(X-5)/10][(Y-5)/10]++;
}else if(world[(X-5)/10][(Y+5)/10]==26){
world[X/10][(Y-5)/10]--;
world[(X-5)/10][(Y+5)/10]++;
Y+=10;
}else if(world[(X-5)/10][(Y-15)/10]==26){
world[X/10][(Y-5)/10]--;
world[(X-5)/10][(Y-15)/10]++;
Y-=10;
}
X-=10; //向左走
LR = 0;
}
if ((keydown('D')||keyup('0'))
&&((world[(X+10)/10][(Y-5)/10]==26||
world[(X+10)/10][(Y-5)/10]==27||
world[(X+10)/10][(Y-5)/10]==30)
&&_canin(X+10,Y+5)||
(world[(X+10)/10][(Y+5)/10]==26&&
_canin((X+10),Y+10))
||(world[(X+10)/10][(Y-15)/10]==26&&
_canin((X+10),Y-5)))){
if(world[(X+10)/10][(Y-5)/10]==26||
world[(X+10)/10][(Y-5)/10]==30){
world[X/10][(Y-5)/10]--;
world[(X+10)/10][(Y-5)/10]++;
}else if(world[(X+10)/10][(Y+5)/10]==26){
world[X/10][(Y-5)/10]--;
world[(X+10)/10][(Y+5)/10]++;
Y+=10;
}else if(world[(X+10)/10][(Y-15)/10]==26){
world[X/10][(Y-5)/10]--;
world[(X+10)/10][(Y-15)/10]++;
Y-=10;
}
X+=10; //向右走
LR = 1;
}
if(keyup('2')&&world[(X+5)/10][(Y+5)/10]==26){
world[X/10][(Y-5)/10]--;
world[X/10][(Y+5)/10]++;
Y+=10;
}
if(keyup('S')&&world[(X+5)/10][(Y-15)/10]==26){
world[X/10][(Y-5)/10]--;
world[X/10][(Y-15)/10]++;
Y-=10;
}
if(world[X/10][(Y-5)/10]==31&&LR==0){
while(world[(X-5)/10][(Y-5)/10]==30){
world[(X-5)/10][(Y-5)/10]++;
world[X/10][(Y-5)/10]--;
X-=10;
}
}
if(world[X/10][(Y-5)/10]==31&&LR==1){
while(world[(X+10)/10][(Y-5)/10]==30){
world[(X+10)/10][(Y-5)/10]++;
world[X/10][(Y-5)/10]--;
X+=10;
}
}
}
{//挖掘测试
bool flag=0;
int*m;
if(keyup(' ')){
jianzao=!jianzao;
}
if(keydown('H')){
cnt['h']++;
if(cnt['h']%5==2){
m=&world[(X+15)/10][Y/10];
flag=1;
}
}
if(keydown('Y')){
cnt['y']++;
if(cnt['y']%5==2){
m=&world[(X+15)/10][(Y+10)/10]; flag=1;}
}
if(keydown('6')){
cnt['6']++;
if(cnt['6']%5==2){
m=&world[(X+15)/10][(Y+20)/10]; flag=1;}
}
if(keydown('N')){
cnt['n']++;
if(cnt['n']%5==2){
m=&world[(X+15)/10][(Y-10)/10]; flag=1;}
}
if(keydown('F')){
cnt['f']++;
if(cnt['f']%5==2){
m=&world[(X-5)/10][Y/10];flag=1;}
}
if(keydown('R')){
cnt['r']++;
if(cnt['r']%5==2){
m=&world[(X-5)/10][(Y+10)/10];flag=1;}
}
if(keydown('4')){
cnt['4']++;
if(cnt['4']%5==2){
m=&world[(X-5)/10][(Y+20)/10];flag=1;}
}
if(keydown('V')){
cnt['v']++;
if(cnt['v']%5==2){
m=&world[(X-5)/10][(Y-10)/10];flag=1;}
}
if(keydown('5')){
cnt['5']++;
if(cnt['5']%5==2)
if(LR==0){
m=&world[X/10][(Y+20)/10];
flag=1;
}else{
m=&world[(X+9)/10][(Y+20)/10];
flag=1;
}
}
if(keydown('B')){
cnt['b']++;
if(cnt['b']%5==2)
if(LR==0){
m=&world[X/10][(Y-10)/10];
flag=1;
}else{
m=&world[(X+9)/10][(Y-10)/10];
flag=1;
}
}
if(flag==1){
int&k=*m;
if(k!=0&&k!=4&&!jianzao&&k!=27&&k!=31){
if(m==wab){
wat--;
}else{
int p1=pointer1,p2=pointer2;
if(bag.size()!=0)
wat=check_time(k,bag[p2*20+p1].id);
else
wat=check_time(k,0);
wab=m;
}
if(wat<=0){
for(int i=0;i<bag.size();i++){
if(bag[i].id==k){
bag[i].num++;
goto gt;
}
}
bag.push_back((obj){k,1});
gt:;
k=0;
}
}else if((k==0||k==26||k==30)&&jianzao){
int p1=pointer1,p2=pointer2;
if(bag.size()>p2*20+p1&&k==0){
k=bag[p2*20+p1].id;
bag[p2*20+p1].num--;
if(bag[p2*20+p1].num==0){
bag.erase(bag.begin()+p2*20+p1);
}
}
if(bag.size()>p2*20+p1&&(k==26||k==30)
&&bag[p2*20+p1].id==25){
k++;
bag[p2*20+p1].num--;
if(bag[p2*20+p1].num==0){
bag.erase(bag.begin()+p2*20+p1);
}
}
}else if(!jianzao&&(k==27||k==31)){
k--;
for(int i=0;i<bag.size();i++){
if(bag[i].id==25){
bag[i].num++;
goto gt27;
}
}
bag.push_back((obj){25,1});
gt27:;
}
}
}
if(keyup('T')){
if(LR==0){
LR=1;
}else{
LR=0;
}
}
if(keyup('E')){
if(bag[pointer1+pointer2*20].id!=12&&
bag[pointer1+pointer2*20].id!=15){
pointer3=0;
mode=1;
}else if(bag[pointer1+pointer2*20].id==12){
pointer3=0;
mode=2;
}else if(bag[pointer1+pointer2*20].id==15){
pointer3=0;
mode=3;
}
}
}
else if(mode==1){//合成部分
if(keyup('E')){
cnt['e']=0;
mode=0;
}
if(keyup(' ')){
if(check(crafta[pointer3]))
Craft(crafta[pointer3]);
}
if(keydown('I')){
cnt['i']++;
if(cnt['i']%9==8){
pointer3--;
if(pointer3<0){
pointer3=0;
}
}
}
if(keydown('K')){
cnt['k']++;
if(cnt['k']%9==8){
pointer3++;
if(pointer3>=crafta.size()){
pointer3=crafta.size()-1;
}
}
}
}
else if(mode==2){//合成部分2
if(keyup('E')){
mode=0;
}
if(keyup(' ')){
if(check(craftb[pointer3]))
Craft(craftb[pointer3]);
}
if(keydown('I')){
cnt['i']++;
if(cnt['i']%9==8){
pointer3--;
if(pointer3<0){
pointer3=0;
}
}
}
if(keydown('K')){
cnt['k']++;
if(cnt['k']%9==8){
pointer3++;
if(pointer3>=craftb.size()){
pointer3=craftb.size()-1;
}
}
}
}else if(mode==3){//合成部分3
if(keyup('E')){
mode=0;
}
if(keyup(' ')){
if(check(craftc[pointer3])){
Craft(craftc[pointer3]);
}
}
if(keydown('I')){
cnt['i']++;
if(cnt['i']%9==8){
pointer3--;
if(pointer3<0){
pointer3=0;
}
}
}
if(keydown('K')){
cnt['k']++;
if(cnt['k']%9==8){
pointer3++;
if(pointer3>=craftc.size()){
pointer3=craftc.size()-1;
}
}
}
}
{//背包测试
if (keydown('O') ) {
cnt['o']++;
}
if (keydown('P') ) {
cnt['p']++;
}
if (keyup('7') ) {
if(pointer2*20+pointer1>0&&
pointer2*20+pointer1<bag.size()){
swap(bag[pointer2*20+pointer1],
bag[pointer2*20+pointer1-1]);
}
}
if(keyup('8')){
if(pointer2*20+pointer1>=0&&
pointer2*20+pointer1<bag.size()-1){
swap(bag[pointer2*20+pointer1],
bag[pointer2*20+pointer1+1]);
}
}
if(cnt['p']%8==7){
pointer1++;
cnt['p']++;
if(pointer1>19){
pointer1=0;
pointer2++;
if(pointer2*20>=bag.size()){
pointer2=0;
pointer1=0;
}
}
}
if(cnt['o']%8==7){
cnt['o']++;
pointer1--;
if(pointer1<0){
pointer1=19;
pointer2--;
if(pointer2<0){
pointer2=0;
}
}
}
}
if(kbhit()&&(getch()==27)){
ofstream fout(xs.c_str());
for(int i=0;i<=CgDu;i++){
for(int j=0;j<=256;j++){
fout<<world[i][j]<<" ";
}
}
for(int i=0;i<=CgDu;i++){
for(int j=0;j<=256;j++){
if(unLight[i][j])
fout<<"1 ";
else
fout<<"0 ";
}
}
fout<<X<<" "<<Y<<" ";
for(int i=0;i<bag.size();i++){
fout<<bag[i].id<<" "<<bag[i].num<<" ";
}
return 0;
}
Sleep(10);
}
return 0;
}
//EX-HSFX工作室原创,在DEVc++上运行
# EX-HSFX工作室原创,在DEVc++上运行!!!
https://ws.imc.re/eaglercraft/
或
https://classic.minecraft.net/?join=pt-XaDEEnhdnI-St
或
https://ws.imc.re/eaglercraft/single.html
或
https://ws.imc.re/eaglercraft/single.html
或
* * * *
* * * *
* ★ * ★ *
* ★ *
>>>------I love you! ---->
* *
* ★ *
* *
* *
*
采纳
原创不是我
#include<bits/stdc++.h>
#include<time.h>
#include<conio.h>
#include<Windows.h>
using namespace std;
string name,gname,wqm="手",hjm="空";
long long gly,hjnx=-1,hjz=0,pg=0,s=20,ssx,csg=1,wq=0,gjz=csg+wq,t,z=0,l=0,x=0,y=60,u,sy=2,dy=1,fms=0,jez=20,kfl=5,wjl=1,mb=0,mt=0,mg=0,zhongzi[4]={0,0,0,0},st=0,td=0,jd=0,wqnj=0,nj,jy=0,dj,jyzy=10,gtdj=0,gtnj=0,ftnj,tks=0,jks=0,mty=0,ysy[7]={0,0,0,0,0,0,0},yq=10,hsd=0,zk=1,mm,hb=0,hjj[4]={0,0,0,0},hjnj=0,wqq;
bool fmr=0,cldt=0,bydt=0,cly=0,tp=1,gk=0,dyt=0,zlld=0;//附魔室开关
char k,a,c;
char dg;
void js();//僵尸
void xb();//小白
void klp();//苦力怕
void xh();//小黑
void py();//平原
void mx();//冒险
int kk();//挖矿
void dd();//等待
int wk();// 挖矿2
void xl();//血量判断
void myl();//末影龙
void dl();//凋零
void dgw(string names,int b,int g,int j,int jyyy);//打怪
void zy();//字幕
void sh();//钓鱼
void sd();//商店
void bb();//背包
void jh();//交换
void cl();
void cd();//菜单
void wqgj();//武器工具
void wqy();//武器
void gzt();//工作台
void qt();//其它
void sjy();//升级
void home();//回家
void gjy();//工具
void rly();//熔炉
void czy();//村庄
void ldfd();
void xsjc();
void by();
void xhy();
void xby();
void hjy();
void tf();
void tf()
{
while(1)
{
cout<<"屠夫:你好,你要购买什么?\n0.离开 1.皮革 1煤炭\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(mt>=1)
{
mt--;
pg++;
cout<<"购买成功\n";
system("pause");
}
else
{
cout<<"煤炭不够了\n";
system("pause");
}
}
}
}
void hjy()
{
while(1)
{
system("cls");
cout<<"你要合成什么护甲?(护甲需要到背包自行装备)(材料*24)\n0.离开 1.皮革套装 2.铁套装 3.金套装 4.钻石套装\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(pg>=24)
{
hjj[0]++;
pg-=24;
cout<<"合成成功\n";
system("pause");
}
else
{
cout<<"合成失败\n";
system("pause");
}
}
else
if(a=='2')
{
if(td>=24)
{
hjj[1]++;
td-=24;
cout<<"合成成功\n";
system("pause");
}
else
{
cout<<"合成失败\n";
system("pause");
}
}
else
if(a=='3')
{
if(jd>=24)
{
hjj[2]++;
jd-=24;
cout<<"合成成功\n";
system("pause");
}
else
{
cout<<"合成失败\n";
system("pause");
}
}
else
if(a=='4')
{
if(z>=24)
{
hjj[3]++;
z-=24;
cout<<"合成成功\n";
system("pause");
}
else
{
cout<<"合成失败\n";
system("pause");
}
}
}
}
void xby()
{
while(1)
{
system("cls");
cout<<"是否继续探宝?\n0.退出 1.继续(火把*1)\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(hb>0)
{
}
else
{
cout<<"你的火把不够了。\n";
}
}
}
}
void xhy()
{
yq=10;
hsd=0;
while(1)
{
system("cls");
cout<<"潜水中,请注意氧气剩余量:"<<yq<<" 潜水深度:"<<hsd<<endl<<"0.离开 1.下潜 2.上浮 3.水肺药水 加5氧气(剩余:"<<ysy[6]<<") 3.建造补给站 200木板,50铁锭,氧气2 (当深度达到这里时,氧气加满)\n";
for(int i=0;i<yq;i++)
{
cout<<".";
}
cout<<endl;
a=getch();
if(a=='0')
{
if(hsd==0)
{
break;
}
else
{
cout<<"请先浮出水面。\n";
system("pause");
}
}
else
if(a=='1')
{
hsd++;
t=rand()%20;
if(t==0)
{
cout<<"发现海底神庙,是否进入?(有丰厚的奖励!)\n";
}
}
yq--;
if(yq<=0)
{
cout<<"你呛水了,还剩"<<s<<"滴血。\n";
yq=0;
s--;
xl();
system("pause");
}
}
}
void by()
{
if(bydt==0)
{
cout<<"请先在村庄购买通往冰原的地图\n";
system("pause");
}
else
{
while(1)
{
cout<<"欢迎来到冰原!你要去干什么?\n0.离开 1.下海 ";
if(gk==0)
{
cout<<"2.搭建港口 ";
}
else
{
cout<<"2.出海 ";
}
if(dyt==0)
{
cout<<"3搭建**\n";
}
else
{
cout<<"3.钓鱼\n";
}
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
xhy();
}
else
if(a=='2')
{
}
else
if(a=='3')
{
}
}
}
}
void xsjc()
{
while(1)
{
system("cls");
cout<<"请问你要查看什么方面的教程?\n0.退出 1.工具 2.挖矿 3.砍树 4.战斗 5.交易 6.耐久 7.背包 8.作者\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
cout<<"武器:增加一定的攻击值。\n镐子:等级越高,能采集的矿物种类就越多。\n斧子:加快砍树的速度。\n";
system("pause");
}
else
if(a=='2')
{
cout<<"挖矿需要使用镐子,否则就没有掉落物。在挖矿时有几率遇见怪物。\n";
system("pause");
}
else
if(a=='3')
{
cout<<"砍树时间越长,获得木头越多。\n";
system("pause");
}
else
if(a=='4')
{
cout<<"如果遇见怪物就会进入战斗。在战斗中可以攻击,逃跑和药水。在被动遇见怪物时无法逃跑,药水需要在村庄牧师处购买。\n";
system("pause");
}
else
if(a=='5')
{
cout<<"交易可以在村庄进行。村庄偶尔会遭到劫掠,如果打败劫掠就会得到村民的丰厚回报。\n";
system("pause");
}
else
if(a=='6')
{
cout<<"在游戏中,武器、镐子、斧子和护甲都是有耐久的,当耐久为0时效果消失。\n";
system("pause");
}
else
if(a=='7')
{
cout<<"在大多数的界面都是可以打开背包界面的,按e即可开启背包界面。\n";
system("pause");
}
else
if(a=='8')
{
cout<<"作者:YYH(如有转载请告知) QQ:2054196623(欢迎**扰,在验证消息中发送070801) 微信:没有……\n";
system("pause");
}
else
if(a=='e')
{
bb();
}
}
}
void ldfd()
{
system("cls");
cout<<"**提示:在林地府邸里有很多怪物,请确认做好准备再进入!(占领即可使用)\n1.进入\n2.离开";
a=getch();
if(a=='1')
{
if(zlld==0)
{
system("cls");
cout<<"你来到了大门口,一群卫道士冲了上来。\n";
Sleep(1000);
system("cls");
dgw("卫道士",20,8,10,20);
dgw("卫道士",20,8,10,20);
dgw("卫道士",20,8,10,20);
dgw("卫道士",20,8,10,20);
system("cls");
cout<<"你进入了大厅,有一群唤魔者来了。\n";
Sleep(1000);
system("cls");
dgw("唤魔者",30,7,10,20);
dgw("唤魔者",30,7,10,20);
dgw("唤魔者",30,7,10,20);
dgw("唤魔者",30,7,10,20);
cout<<"又有一群怪物来了。\n";
Sleep(1000);
system("cls");
js();
js();
xb();
xb();
klp();
klp();
xh();
xh();
cout<<"你已经占领了林地府邸。\n";
zlld=1;
system("pause");
}
else
{
while(1)
{
system("cls");
cout<<"欢迎来到林地府邸,你要干什么?\n1.**(刷经验) 2.寻宝/n";
a=getch();
if(a=='1')
{
time_t c_start, t_start, c_end, t_end;
c_start = clock();
t_start = time(NULL);
cout << "正在**按下任意键停止" << endl;
_getch();
c_end = clock();
t_end = time(NULL);
cout << "你获得" << (int)difftime(c_end, c_start) / 10 << "经验" << endl;
jy+= (int)difftime(c_end, c_start) / 10;
sjy();
system("pause");
}
}
}
}
else
if(a=='e')
{
bb();
}
}
void czy()
{
int tttt=rand()%10;
if(tttt==0)
{
cout<<"这个村庄正在遭到劫掠,你是否出手相助?\n1.相助\n2.离开";
a=getch();
if(a=='1')
{
dgw("劫掠者",20,6,100,50);
dgw("劫掠者",20,6,100,50);
dgw("劫掠者",20,6,100,50);
dgw("劫掠者",20,6,100,50);
dgw("劫掠兽",100,10,100,50);
cout<<"村民们都很感谢你,给你了很多绿宝石\n";
l+=100;
system ("pause");
}
else
{
cout<<"你悄悄地回了家";
cd();
system ("pause");
}
}
while(1)
{
system("cls");
cout<<"你要去找谁?\n0.离开\n1.制图师\n2.制箭师\n3.图书**员\n4.牧师\n5.屠夫";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
while(1)
{
system("cls");
if(name!="Nouth")
cout<<"制图师:你好,请问你要买什么?\n0.离开\n1.通往从林的地图 100绿宝石\n2.通往冰原的地图 100绿宝石\n";
else
cout<<"制图师:Nouth大人,你好。\n0.离开\n1.通往从林的地图 50绿宝石\n2.通往冰原的地图 50绿宝石\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(cldt==1)
{
cout<<"你已经买过这件物品了\n";
system ("pause");
}
else
if(l<100)
{
cout<<"绿宝石不够了\n";
system ("pause");
}
else
{
cout<<"购买成功\n";
l-=100;
cldt=1;
system ("pause");
}
}
else
if(a=='2')
{
if(bydt==1)
{
cout<<"你已经买过这件物品了\n";
system ("pause");
}
else
if(l<100)
{
cout<<"绿宝石不够了\n";
system ("pause");
}
else
{
cout<<"购买成功\n";
l-=100;
bydt=1;
system ("pause");
}
}
}
}
else
if(a=='4')
{
while(1)
{
system("cls");
if(zk==1)
cout<<"牧师:你好,请问你要买什么?\n0.离开\n1.治疗药水I:血量加5 20绿宝石\n2.治疗药水II:血量加10 30绿宝石\n3.治疗药水III:血量加15 40绿宝石\n4.伤害药水I:敌人血量减5 10绿宝石\n5.伤害药水II:敌人血量减10 15绿宝石\n6.伤害药水III:敌人血量减15 20绿宝石\n";
else
cout<<"牧师:你好Nouth大人,请问你要买什么?\n0.离开\n1.治疗药水I:血量加5 10绿宝石\n2.治疗药水II:血量加10 15绿宝石\n3.治疗药水III:血量加15 20绿宝石\n4.伤害药水I:敌人血量减5 5绿宝石\n5.伤害药水II:敌人血量减10 7绿宝石\n6.伤害药水III:敌人血量减15 10绿宝石\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(l>=20)
{
cout<<"购买成功\n";
l-=20/zk;
ysy[0]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
else
if(a=='2')
{
if(l>=30)
{
cout<<"购买成功\n";
l-=30/zk;
ysy[1]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
else
if(a=='3')
{
if(l>=40)
{
cout<<"购买成功\n";
l-=40/zk;
ysy[2]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
else
if(a=='4')
{
if(l>=10)
{
cout<<"购买成功\n";
l-=10/zk;
ysy[3]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
else
if(a=='5')
{
if(l>=15)
{
cout<<"购买成功\n";
l-=15/zk;
ysy[4]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
else
if(a=='6')
{
if(l>=20)
{
cout<<"购买成功\n";
l-=20/zk;
ysy[5]++;
system ("pause");
}
else
{
cout<<"绿宝石不够了\n";
system ("pause");
}
}
}
}
else
if(a=='5')
{
tf();
}
else
if(a=='e')
{
bb();
}
}
}
void rly()
{
while(1)
{
system("cls");
cout<<"煤炭:"<<mty<<endl<<"你要炼造什么?\n0.离开\n1.铁矿石(剩余"<<tks<<")\n2.金矿石(剩余"<<jks<<"个)\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
cout<<"已经为你炼造了最多\n";
if(mty<tks)
{
td+=mty;
tks-=mty;
mty=0;
}
else
{
td+=tks;
mty-=tks;
tks=0;
}
system ("pause");
}
else
if(a=='2')
{
cout<<"已经为你炼造了最多\n";
if(mty<jks)
{
jd+=mty;
jks-=mty;
mty=0;
}
else
{
jd+=jks;
mty-=jks;
jks=0;
}
system ("pause");
}
else
if(a=='e')
{
bb();
}
}
}
void gjy()
{
while(1)
{
system("cls");
cout<<"0.退出 1.木镐 2.石镐 3.铁镐 4.金镐 5.钻石镐 6.木斧 7.石斧 8.铁斧 9.金斧 a.钻石斧"<<endl;
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(gtdj>1)
{
cout<<"你已经拥有更好的镐子了";
system ("pause");
gjy();
}
if(mb>=3&&mg>=2)
{
gtdj=1;
gtnj=60;
mb-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='2')
{
if(gtdj>2)
{
cout<<"你已经拥有更好的镐子了";
system ("pause");
gjy();
}
if(mg>=2&&st>=3)
{
gtdj=2;
gtnj=132;
st-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='3')
{
if(gtdj>3)
{
cout<<"你已经拥有更好的镐子了";
system ("pause");
gjy();
}
if(mg>=2&&td>=3)
{
gtdj=3;
gtnj=251;
td-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='4')
{
if(gtdj>1)
{
cout<<"你已经拥有更好的镐子了";
system ("pause");
gjy();
}
if(mg>=2&&jd>=3)
{
gtdj=1;
gtnj=44;
jd-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='5')
{
if(mg>=2&&z>=3)
{
gtdj=4;
gtnj=1562;
z-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='6')
{
if(kfl<4)
{
cout<<"你已经拥有更好的斧子了";
system ("pause");
gjy();
}
if(mg>=2&&mb>=3)
{
kfl=4;
ftnj=60;
mb-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='7')
{
if(kfl<3)
{
cout<<"你已经拥有更好的斧子了";
system ("pause");
gjy();
}
if(mg>=2&&st>=3)
{
kfl=3;
ftnj=132;
st-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='8')
{
if(kfl<2)
{
cout<<"你已经拥有更好的斧子了";
system ("pause");
gjy();
}
if(mg>=2&&td>=3)
{
kfl=2;
ftnj=251;
td-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='9')
{
if(kfl<4)
{
cout<<"你已经拥有更好的斧子了";
system ("pause");
gjy();
}
if(mg>=2&&jd>=3)
{
kfl=4;
ftnj=44;
jd-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='a')
{
if(mg>=2&&z>=3)
{
kfl=1;
ftnj=1562;
z-=3;
mg-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='e')
{
bb();
}
}
}
void home()
{
cout<<"回家了!"<<endl;
Sleep(500);
s=ssx;
cout<<"已经为你加满血了"<<endl;
system ("pause");
}
void sjy()
{
while(jy>=jyzy)
{
dj++;
jy-=jyzy;
jyzy*=2;
cout<<"你升级了,现等级为"<<dj<<endl;
Sleep(500);
}
}
void qt()
{
while(1)
{
system("cls");
cout<<"0.退出 1.木板 2.木棍"<<endl;
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(mt>=1)
{
mb+=4;
mt--;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='2')
{
if(mb>=2)
{
mg+=4;
mb-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='e')
{
bb();
}
}
}
void gj()
{
}
void wqy()
{
while(1)
{
system("cls");
cout<<"0.退出 1.木剑 2.石剑 3.铁剑 4.金剑 5.钻石剑"<<endl;
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
if(wq>4)
{
cout<<"你已经拥有更好的武器了";
system ("pause");
wqgj();
}
if(mb>=2&&mg>=1)
{
wq=4;
wqnj=60;
wqm="木剑";
mg--;
mb-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='2')
{
if(wq>5)
{
cout<<"你已经拥有更好的武器了";
system ("pause");
wqgj();
}
if(mg>=1&&st>=2)
{
wq=5;
wqnj=126;
mg--;
st-=2;
wqm="石剑";
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='3')
{
if(wq>6)
{
cout<<"你已经拥有更好的武器了";
system ("pause");
wqgj();
}
if(mg>=1&&td>=2)
{
wq=6;
wqnj=251;
mg--;
td-=2;
wqm="铁剑";
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='4')
{
if(wq>4)
{
cout<<"你已经拥有更好的武器了";
system ("pause");
wqgj();
}
if(mg>=1&&jd>=2)
{
wq=4;
wqnj=44;
mg--;
jd-=2;
wqm="金剑";
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='5')
{
if(mg>=1&&z>=2)
{
wq=7;
wqnj=1562;
wqm="钻石剑";
mg--;
z-=2;
cout<<"合成成功"<<endl;
system ("pause");
}
else
{
cout<<"合成失败"<<endl;
system ("pause");
}
}
else
if(a=='e')
{
bb();
}
}
}
void wqgj()
{
while(1)
{
system("cls");
cout<<"请问你要合成什么?"<<endl<<"0.退出 1.武器 2.盔甲 3.工具"<<endl;
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
wqy();
}
else
if(a=='2')
{
hjy();
}
else
if(a=='3')
{
gjy();
}
else
if(a=='e')
{
bb();
}
}
}
void gzt()
{
while(1)
{
system("cls");
cout<<"请问你要合成什么类型的物品:"<<endl<<"0.退出 1.武器工具 2.家具 3.建筑 4.其它"<<endl;
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
wqgj();
}
else
if(a=='2')
{
}
else
if(a=='3')
{
}
else
if(a=='4')
{
qt();
}
else
if(a=='e')
{
bb();
}
}
}
void cl()
{
if(cldt==0)
{
cout<<"请先在村庄购买通往丛林的地图\n";
system ("pause");
cd();
}
else
{
cly=1;
while(1)
{
system("cls");
cout<<"欢迎来到丛林!(友情提示:在这里你可以得到一些平原无法得到的东西)\n0.离开 1.挖矿 2.砍树 3.寻找林地府邸\n";
a=getch();
if(a=='0')
{
cly=0;
break;
}
else
if(a=='1')
{
system("cls");
cout<<"正在搜索矿洞"<<endl;
Sleep(2000);
wk();
}
else
if(a=='2')
{
system("cls");
if(ftnj>0)
{
ftnj--;
}
else
{
kfl=5;
}
time_t c_start, t_start, c_end, t_end;
c_start = clock();
t_start = time(NULL);
cout << "正在砍树,按下任意键停止" << endl;
_getch();
c_end = clock();
t_end = time(NULL);
cout << "你获得" << (int)difftime(c_end, c_start) / (500*kfl) << "木头" << endl;
mt+= (int)difftime(c_end, c_start) / (500*kfl);
system("pause");
}
else
if(a=='3')
{
ldfd();
}
else
if(a=='e')
{
bb();
}
}
}
}
void py()
{
while(1)
{
tp=1;
system("cls");
cout<<"欢迎来到平原!你可以:"<<endl<<"0.离开 1.搜寻小麦种子(暂时没用) 2.砍树 3.刷怪 4.挖矿"<<endl;
char pyy=getch();
if(pyy=='0')
{
break;
}
else
if(pyy=='1')
{
while(1)
{
system("cls");
Sleep(1000);
t=rand()%10;
cout<<"获得小麦种子"<<t<<"个"<<endl;
zhongzi[0]+=t;
cout<<"你要退出吗?(按0)"<<endl;
pyy=getch();
if(pyy=='0')
{
break;
}
else
{
continue;
}
}
}
else
if(pyy=='2')
{
system("cls");
if(ftnj>0)
{
ftnj--;
}
else
{
kfl=5;
}
time_t c_start, t_start, c_end, t_end;
c_start = clock();
t_start = time(NULL);
cout << "正在砍树,按下任意键停止" << endl;
_getch();
c_end = clock();
t_end = time(NULL);
cout << "你获得" << (int)difftime(c_end, c_start) / (1000*kfl) << "木头" << endl;
mt+= (int)difftime(c_end, c_start) / (1000*kfl);
system("pause");
}
else
if(pyy=='3')
{
while(1)
{
system("cls");
cout<<"是否继续刷怪?\n0.退出 1.继续\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
tp=0;
int sj=rand()%4;
if(sj==0)
{
js();
}
else
if(sj==1)
{
xb();
}
else
if(sj==2)
{
klp();
}
else
{
xh();
}
}
}
}
else
if(pyy=='4')
{
system("cls");
cout<<"正在搜索矿洞"<<endl;
Sleep(1000);
wk();
}
if(pyy=='e')
{
bb();
}
}
}
void mx()
{
while(1)
{
system("cls");
cout<<"你要去哪里?"<<endl<<"0.返回 1.平原 2.丛林 3.冰原 4.村庄 5.下界 6.末地"<<endl;
char mxy=getch();
if(mxy=='0')
{
break;
}
else
if(mxy=='1')
{
py();
}
else
if(mxy=='2')
{
cl();
}
else
if(mxy=='4')
{
czy();
}
else
if(mxy=='e')
{
bb();
}
}
}
int kk()
{
k=getch();
if(k=='1')
{
x-=1;
}
else
if(k=='2')
{
x+=1;
}
else
if(k=='3')
{
y-=1;
}
else
if(k=='4')
{
return 1;
}
else
if(a=='e')
{
bb();
}
int gw=rand()%10;
if(gw==0&&k!='e')
{
js();
}
else
if(gw==1&&k!='e')
{
xb();
}
if(gtnj>0)
gtnj--;
if(gtnj==0)
{
gtdj=0;
}
if(y<=30&&y>10&>dj>=3&&cly==1)
{
int j=rand()%sy;
l+=j;
if(j!=0)
cout<<"获得绿宝石"<<j<<"颗"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
if(y<=10&>dj>=3)
{
int j=rand()%sy;
z+=j;
if(j!=0)
cout<<"获得钻石"<<j<<"颗"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
if(y>=10&>dj>=2)
{
int j=rand()%sy;
tks+=j;
if(j!=0)
cout<<"获得铁矿石"<<j<<"个"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
if(y<=30&>dj>=3&&cly==1)
{
int j=rand()%sy;
jks+=j;
if(j!=0)
cout<<"获得金矿石"<<j<<"个"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
if(gtdj>=1)
{
int j=rand()%sy;
st+=j;
if(j!=0)
cout<<"获得石头"<<j<<"个"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
if(y<=55&&y>10&>dj>=1)
{
int j=rand()%sy;
mty+=j;
if(j!=0)
cout<<"获得煤炭"<<j<<"颗"<<endl;
else
cout<<"什么都没有!"<<endl;
Sleep(300);
}
return 0;
}
int wk()
{
while(1)
{
system("cls");
cout<<"1.向左挖 2.向右挖 3.向下挖 4.离开"<<endl<<"x坐标:"<<x<<","<<"y坐标:"<<y<<"."<<endl;
if(kk()==1)
{
return 0;
}
}
}
void xl()
{
if(s<=0)
{
cout<<"你失败了"<<endl;
Sleep(1000);
s=20;
cd();
}
}
void js()
{
gname="僵尸";
dgw(gname,20,2,6,10);
}
void xb()
{
gname="小白";
dgw(gname,20,4,10,20);
}
void klp()
{
gname="苦力怕";
dgw(gname,20,0,30,30);
}
void xh()
{
gname="小黑";
dgw(gname,40,10,50,40);
}
void myl()
{
gname="末影龙";
dgw(gname,200,20,0,1000);
}
void dl()
{
gname="凋零";
dgw(gname,300,50,1000,0);
}
void dgw(string names,int b,int g,int j,int jyyy)
{
system("cls");
cout<<"一只"<<names<<"来袭"<<endl;
Sleep(1000);
while(1)
{
system("cls");
cout<<"你要干什么?"<<endl<<"1.攻击 2.逃跑 3.药水\n";
a=getch();
if(a=='3')
{
system("cls");
cout<<"你要使用什么药水?\n1.治疗药水I:血量加5*"<<ysy[0]<<"\n2.治疗药水II:血量加10*"<<ysy[1]<<"\n3.治疗药水III:血量加15*"<<ysy[2]<<"\n4.伤害药水I:敌人血量减5*"<<ysy[3]<<"\n5.伤害药水II:敌人血量减10*"<<ysy[4]<<"\n6.伤害药水III:敌人血量减15*"<<ysy[5]<<"\n";
a=getch();
if(a=='1')
{
if(ysy[0]>0)
{
s+=5;
ysy[0]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
else
if(a=='2')
{
if(ysy[1]>0)
{
s+=10;
ysy[1]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
else
if(a=='3')
{
if(ysy[2]>0)
{
s+=15;
ysy[2]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
else
if(a=='4')
{
if(ysy[3]>0)
{
b-=5;
ysy[3]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
else
if(a=='5')
{
if(ysy[4]>0)
{
b-=10;
ysy[4]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
else
if(a=='6')
{
if(ysy[5]>0)
{
b-=15;
ysy[5]--;
cout<<"使用成功\n";
system ("pause");
}
else
{
cout<<"使用失败\n";
system ("pause");
}
}
}
else
if(a=='2')
{
if(tp==0)
{
cout<<"逃跑成功"<<endl;
system ("pause");
break;
}
else
{
cout<<"逃跑失败"<<endl;
system ("pause");
}
}
else
if(a=='1')
{
cout<<"你对"<<names<<"造成了"<<gjz<<"点伤害\n";
b-=gjz;
if(wqnj==0)
{
wqm="手";
wq=0;
}
else
{
wqnj--;
}
}
if(s>ssx)
{
s=ssx;
}
if(b<0)
{
b=0;
}
cout<<names<<"还有"<<b<<"滴血\n";
if(b<=0)
{
cout<<"你还有"<<s<<"滴血\n";
int jl=rand()%j;
if(jl!=0)
{
cout<<"获得绿宝石"<<jl<<"颗\n";
l+=jl;
}
else
{
cout<<names<<"太穷了,什么也没掉落\n";
}
jy+=jyyy;
sjy();
system ("pause");
break;
}
if(hjnj>0)
{
hjnj--;
if(hjnj==0)
{
hjz=0;
hjj[hjnx]--;
}
}
if(g>=hjz)
{
cout<<names<<"对你"<<"造成了"<<g-hjz<<"点伤害\n";
s-=g-hjz;
}
else
{
cout<<names<<"对你"<<"造成了"<<0<<"点伤害\n";
}
cout<<"你还有"<<s<<"滴血\n";
system ("pause");
xl();
}
}
int op=0;
void zy()
{
gjz=csg+wq;
y=60;x=0;
string hh="请问你要去干什么?";
system("cls");
cout<<"欢迎回来:"<<name<<endl;
if(op==0)
{
cout<<"M";Sleep(100);cout<<"C";Sleep(100);cout<<"1";Sleep(100);cout<<".";Sleep(100);cout<<"2";Sleep(100);cout<<".";Sleep(100);cout<<"3";Sleep(100);cout<<endl;
}
else
{
cout<<"MC1.2.3";
}
if(op==0)
for(int i=0;i<hh.size();i++)
{
cout<<hh[i];
Sleep(100);
}
else
cout<<endl<<hh;
op=1;
cout<<endl<<"1.冒险 2.工具 3.回家 4.熔炉 5.提示 6.保存"<<endl<<"其它按照传统MC"<<endl;
a=0;
system("color 0");
a=getch();
op=1;
}
void bb()
{
while(1)
{
system("cls");
cout<<"请问你要看什么?\n0.离开 1.矿物 2.工具 3.药水 4.属** 5.其他 6.护甲\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
system("cls");
cout<<"石头"<<st<<"个,"<<"铁"<<td<<"个,"<<"金"<<jd<<"个,"<<"绿宝石"<<l<<"个,"<<"钻石"<<z<<"个\n"<<"铁矿石"<<tks<<"个\n金矿石"<<jks<<"个\n煤炭"<<mty<<"个\n";
system ("pause");
}
else
if(a=='2')
{
system("cls");
cout<<"武器:"<<wqm<<"\n耐久:"<<wqnj<<"\n镐子等级"<<gtdj<<"\n耐久:"<<gtnj<<"\n砍伐力"<<kfl<<endl;
system ("pause");
}
else
if(a=='3')
{
system("cls");
cout<<"治疗药水I "<<ysy[0]<<",治疗药水II "<<ysy[1]<<",治疗药水III "<<ysy[2]<<",伤害药水I "<<ysy[3]<<",伤害药水II"<<ysy[4]<<",伤害药水III "<<ysy[5]<<endl;
system ("pause");
}
if(a=='4')
{
system("cls");
cout<<"生命值"<<s<<endl;
system ("pause");
}
else
if(a=='5')
{
system("cls");
cout<<"木头"<<mt<<"个,"<<"木板"<<mb<<"个,"<<"木棍"<<mg<<"个\n";
system ("pause");
}
else
if(a=='6')
{
while(1)
{
system("cls");
cout<<"现装备护甲:"<<hjm<<endl<<"库存护甲:\n1.皮革护甲:"<<hjj[0]<<endl<<"2.铁护甲:"<<hjj[1]<<endl<<"3.金护甲:"<<hjj[2]<<endl<<"4.钻石护甲:"<<hjj[3]<<endl<<"0.退出 1.卸下当前护甲 2.装备护甲\n";
a=getch();
if(a=='0')
{
break;
}
else
if(a=='1')
{
cout<<"卸下成功\n";
hjm="空";
hjz=0;
hjnj=0;
system("pause");
}
else
if(a=='2')
{
if(hjm!="空")
{
cout<<"请先卸下当前护甲\n";
system("pause");
}
else
{
cout<<"请输入护甲前面的编码。\n";
a=getch();
if(a=='1')
{
if(hjj[0]>0)
{
hjm="皮革护甲";
hjnx=0;
cout<<"装备成功\n";
hjz=2;
hjnj=60;
system("pause");
}
else
{
cout<<"物品不足\n";
system("pause");
}
}
else
if(a=='2')
{
if(hjj[1]>0)
{
hjm="铁护甲";
hjnx=1;
cout<<"装备成功\n";
hjz=4;
hjnj=256;
system("pause");
}
else
{
cout<<"物品不足\n";
system("pause");
}
}
else
if(a=='3')
{
hjm="金护甲";
if(hjj[2]>0)
{
hjnx=2;
cout<<"装备成功\n";
hjz=2;
hjnj=40;
system("pause");
}
else
{
cout<<"物品不足\n";
system("pause");
}
}
if(a=='4')
{
if(hjj[3]>0)
{
hjm="钻石护甲";
hjnx=3;
cout<<"装备成功\n";
hjz=7;
hjnj=1562;
system("pause");
}
else
{
cout<<"物品不足\n";
system("pause");
}
}
}
}
}
}
}
}
void jh()
{
char jh;
long long kw;
system("cls");
cout<<"请问你要交换什么矿物?"<<endl<<"1.绿宝石->钻石" <<endl;
jh=getch();
if(jh=='1')
{
cout<<"4颗绿宝石换1颗钻石。"<<endl<<"你有绿宝石"<<l<<"颗"<<endl<<"请问你要换几颗钻石?"<<endl;
cin>>kw;
if(l>=4*kw)
{
z+=kw;
l-=4*kw;
cout<<"交换成功"<<endl;
system ("pause");
}
else
{
cout<<"交换失败"<<endl;
system ("pause");
}
}
}
void sg()
{
while(1)
{
system("cls");
char xgq;
cout<<"请问你要修改什么?"<<endl<<"0.退出 1.血量 2.绿宝石 3.钻石 4.铁 5.金 6.血量上限"<<endl;
xgq=getch();
if(xgq=='0')
{
break;
}
if(xgq=='1')
{
cout<<"请输入修改值"<<endl;;
cin>>s;
cout<<"修改成功"<<endl;
system ("pause");
}
if(xgq=='2')
{
cout<<"请输入修改值"<<endl;;
cin>>l;
cout<<"修改成功"<<endl;
system ("pause");
}
if(xgq=='3')
{
cout<<"请输入修改值"<<endl;;
cin>>z;
cout<<"修改成功"<<endl;
system ("pause");
}
if(xgq=='4')
{
cout<<"请输入修改值"<<endl;;
cin>>td;
cout<<"修改成功"<<endl;
system ("pause");
}
if(xgq=='5')
{
cout<<"请输入修改值"<<endl;;
cin>>jd;
cout<<"修改成功"<<endl;
system ("pause");
}
if(xgq=='6')
{
cout<<"请输入修改值"<<endl;;
cin>>ssx;
cout<<"修改成功"<<endl;
system ("pause");
}
}
}
void cd()
{
while(1)
{
zy();
gjz=1+wq;
if(a=='1')
{
mx();
}
else
if(a=='2')
{
gzt();
}
else
if(a=='3')
{
home();
}
else
if(a=='4')
{
rly();
}
else
if(a=='5')
{
xsjc();
}
else
if(a=='6')
{
mm=(z+l)%1000000;
ofstream ofile;
ofile.open("mc.Minecraft");
ofile<<s<<" "<<wq<<" "<<z<<" "<<l<<" "<<z<<" "<<kfl<<" "<<mb<<" "<<mt<<" "<<mg<<" "<<st<<" "<<td<<" "<<jd<<" "<<wqnj<<" "<<jy<<" "<<jyzy<<" "<<gtdj<<" "<<gtnj<<" "<<ftnj<<" "<<tks<<" "<<jks<<" "<<mty<<" "<<ysy[0]<<" "<<ysy[1]<<" "<<ysy[2]<<" "<<ysy[3]<<" "<<ysy[4]<<" "<<ysy[5]<<" "<<cldt<<" "<<bydt<<" "<<wqm<<" "<<name<<" "<<zlld<<" "<<mm<<" "<<ssx<<" "<<hb<<" "<<hjz<<" "<<pg<<" "<<hjnj<<" "<<hjj[0]<<" "<<hjj[1]<<" "<<hjj[2]<<" "<<hjj[3]<<" "<<hjnx<<" "<<gly<<" "<<hjm;
ofile.close();
cout<<"存档成功"<<endl;
system ("pause");
}
else
if(a=='y'&&gly==801)
{
sg();
}
if(a=='e')
{
bb();
}
}
}
int main()
{
int hhh;
cout<<"欢迎来到我的世界文字版1.2.3。(增加护甲值,游戏帮助提升)"<<endl;
cout<<"请问你要打开什么模式?"<<endl<<"1.新建世界"<<endl<<"2.加载存档"<<endl;
c=getch();
ssx=20;
if(c=='1')
{
cout<<"请输入你的名字"<<endl;
cin>>name;
if(name=="Nouth")
{
zk=2;
l=10000;
z=10000;
wq=100;
wqm="创始者之剑";
wqnj=100000000;
s=1000;
ssx=1000;
}
else
if(name=="Herobrine")
{
wq=10000;
wqm="黑曜石";
wqnj=-1;
s=100;
ssx=100;
}
else
if(name=="YYH")
{
cout<<"测试版,请普通玩家不要进入。\n1.开启 2. 不开启\n";
a=getch();
if(a=='2')
{
cd();
}
cin>>gly;
}
cd();
}
else
if(c=='2')
{
ifstream ifile;
ifile.open("mc.Minecraft");
ifile>>s>>wq>>z>>l>>z>>kfl>>mb>>mt>>mg>>st>>td>>jd>>wqnj>>jy>>jyzy>>gtdj>>gtnj>>ftnj>>tks>>bydt>>mty>>ysy[0]>>ysy[1]>>ysy[2]>>ysy[3]>>ysy[4]>>ysy[5]>>cldt>>bydt>>wqm>>name>>zlld>>mm>>ssx>>hb>>hjz>>pg>>hjnj>>hjj[0]>>hjj[1]>>hjj[2]>>hjj[3]>>hjnx>>gly>>hjm;
if(mm!=(z+l)%1000000)
{
cout<<"作者很反感作弊,帮你把存档删了。(诚信为本)\n";
ofstream ofile;
ofile.open("mc.Minecraft");
ofile.close();
return 0;
}
cd();
}
return 0;
}
aaaaaa,告诉你,大多数版本我们玩不了,但https://ws.imc.re/eaglercraft/single.html这个肯定能玩(单机)
Eaglercraft - IMC.RE汉化上次还没采纳我
file:///C:/Users/Administrator/Pictures/Eaglercraft_Offline_IMC.RE.html 采纳我吧!谢谢!这个100%能玩,不用登录,免费