问题标题: 我的世界

0
1

0
2
王梓轩
王梓轩
新手天翼
新手天翼
#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++上运行!!!

1
米锐轩
米锐轩
高级守护
高级守护

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

https://ws.imc.re/我最推荐


        *   *   *   *    
       *     * *     *     
      *  ★   *  ★   *    
       *      ★     *     
>>>------I love you!   ---->
         *         *      
           *  ★ *       
            *   *          
             * *          
              *  

采纳

0
0
0
0
0
宋子墨
宋子墨
新手天翼
新手天翼

原创不是我

#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&&gtdj>=3&&cly==1)
    {
        int j=rand()%sy;
        l+=j;
        if(j!=0)
        cout<<"获得绿宝石"<<j<<"颗"<<endl;
        else
        cout<<"什么都没有!"<<endl;
        Sleep(300);
    }
    if(y<=10&&gtdj>=3)
    {
        int j=rand()%sy;
        z+=j;
        if(j!=0) 
        cout<<"获得钻石"<<j<<"颗"<<endl;
        else
        cout<<"什么都没有!"<<endl;
        Sleep(300);
    }
    if(y>=10&&gtdj>=2)
    {
        int j=rand()%sy;
        tks+=j;
        if(j!=0) 
        cout<<"获得铁矿石"<<j<<"个"<<endl;
        else
        cout<<"什么都没有!"<<endl;
        Sleep(300);
    }
    if(y<=30&&gtdj>=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&&gtdj>=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;
}
 

0
0
0
周昕雨
周昕雨
新手天翼
新手天翼

file:///C:/Users/Administrator/Pictures/Eaglercraft_Offline_IMC.RE.html

0
周昕雨
周昕雨
新手天翼
新手天翼

file:///C:/Users/Administrator/Pictures/Eaglercraft_Offline_IMC.RE.html

0
周昕雨
周昕雨
新手天翼
新手天翼

file:///C:/Users/Administrator/Pictures/Eaglercraft_Offline_IMC.RE.html    采纳我吧!谢谢!这个100%能玩,不用登录,免费

0
0
刘风翔
刘风翔
新手启示者
新手启示者

我的世界网址不用登录(

好了,采纳我吧

0
0
我要回答