小游戏 · 13 蒟蒻的双人坦克大战

· · 休闲·娱乐

广告:想创造属于自己的坦克大战关卡吗?

详情请见文末

版本号:v2.0.2

(终于想起弄版本号了。

下一更新预告:新关卡,新武器。

提示:游戏中,按下‘p’即可暂停,还可以查看规则。

提示:若显示出了问题,暂停一下,立即恢复

#include<cmath>
#include<ctime>
#include<cstdio>
#include<string>
#include<cstdlib>
#include<iostream>
#include<windows.h>
#include<algorithm>
#include<conio.h>
#include<bitset>
using namespace std;
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#define KEY_DOWM(vk_c) (GetAsyncKeyState(vk_c)&0x8000?1:0)
string nicheng,ni;
int len;
struct Button{
    int x,y,color;
    const char *name;
    int len;
};
void block(int x,int y){
    HANDLE   hCon;
    hCon = GetStdHandle(STD_OUTPUT_HANDLE);  
    COORD   setps;
    setps.X = x;
    setps.Y = y;
    SetConsoleCursorPosition(hCon,setps);  
}
void SetPos(COORD a){
    HANDLE out=GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleCursorPosition(out, a);
}
void SetPos(int i, int j){
    COORD pos={i, j};
    SetPos(pos);
}
void HideCursor(){
    CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void hide(){
    CONSOLE_CURSOR_INFO cursor_info = {1, 0}; 
    SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void GetPos(POINT &pt){
    HWND hwnd=GetForegroundWindow();
    GetCursorPos(&pt);
    ScreenToClient(hwnd,&pt);
    pt.y=pt.y/16,pt.x=pt.x/16;
}
void color(int a){
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
void gto(int x,int y){
    COORD pos;pos.X=y*2;pos.Y=x;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
Button NewButton(int x,int y,int color,const char *name){
    Button t;
    t.x=x,t.y=y,t.name=name;
    t.color=color;
    t.len=strlen(name);
    return t;
}
bool Preserve(Button A){
    gto(A.x,A.y),color(A.color),printf("%s",A.name);
    POINT pt;
    GetPos(pt);
    if(pt.y==A.x&&(pt.x>=A.y&&pt.x<=A.y+A.len/2)){
        gto(A.x,A.y),printf("%s",A.name);
        if(KEY_DOWN(MOUSE_MOVED)) return 1;
    }
    return 0;
}

bitset<128>pre;
bitset<128>down;

void pan(char c){
    bool hahbhchdhehfhg;
    if(c == '8'){
        if(!KEY_DOWN(VK_UP))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '5'){
        if(!KEY_DOWN(VK_DOWN))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '4'){
        if(!KEY_DOWN(VK_LEFT))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '6'){
        if(!KEY_DOWN(VK_RIGHT))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '0'){
        if(!KEY_DOWN(VK_NUMPAD0))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '1'){
        if(!KEY_DOWN(VK_NUMPAD1))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '2'){
        if(!KEY_DOWN(VK_NUMPAD2))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else if(c == '3'){
        if(!KEY_DOWN(VK_NUMPAD3))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }else{
        if(!KEY_DOWN(c))hahbhchdhehfhg=0;
        else hahbhchdhehfhg=1;
    }
    if(hahbhchdhehfhg)down[c]=1;
    else down[c]=0;
}

bool check(char c){
    if(down[c] != pre[c]){
        pre[c] = down[c];
        if(down[c]){
            return true;
        }
    }
    return false;
}

const int ywl = 15;
const int azl1 = 1000;
const int bzl1 = 1000;
const int tipl = 2;

string tipe[tipl + 2] = {"0", "地雷", "木块"};
int maze[100][100];
int a1 = 10, a2 = 10, b1 = 10, b2 = 20, af = 1, bf = 3, ax = 300, bx = 300, al = 2, bl = 2, ag = 0, bg = 0, au = 1, bu = 1, au1 = 0, bu1 = 0, at = 1, bt = 1, am = 1, bm = 1;
int ca1 = 10, ca2 = 9, cb1 = 10, cb2 = 21, caf = 3, cbf = 1;
bool yw1[ywl + 5], yw2[ywl + 5];
int ywx[ywl + 5], ywy[ywl + 5], ywd[ywl + 5], ywz[ywl + 5];
int qiax[1100], qiay[1100], qial = 0;
bool qiah = false;
int dlx[1100], dly[1100], dlf[1100], dll = 1;
bool dl1[1100], dl2[1100];
int azx[azl1 + 3], azy[azl1 + 3], azf[azl1 + 3], azl = 1;
bool az1[azl1 + 3];
int bzx[bzl1 + 3], bzy[bzl1 + 3], bzf[azl1 + 3], bzl = 1;
bool bz1[bzl1 + 3];
int kuax[1100], kuay[1100], kual = 0;
int qaix[1100], qaiy[1100], qail = 0;
bool qaih = false;
int cu, shcha = 0, summ = 0;
int h1 = 0;
int ah2 = 0, bh2 = 0;
time_t ttime1, ttime2, ttime3;
int dx = 24, dy = 31;
int zqia[41][510] = {{0, 88, 188, 288, 281, 279, 288, 222, 268, 88, 108, 108, 89, 88, 117, 115},
{0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50},
{0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24},
{0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 52, 8, 48, 52, 8, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 48, 52, 8, 12, 44, 48, 52, 8, 12, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 44, 48, 52, 8, 12, 16, 40, 44, 48, 52, 8, 12, 16, 20, 22, 24, 26, 28, 30, 32, 34, 36, 40, 44, 48, 52, 8, 12, 16, 20, 36, 40, 44, 48, 52, 8, 12, 16, 20, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 8, 12, 16, 20, 24, 36, 40, 44, 48, 52, 8, 12, 16, 20, 24, 28, 30, 32, 34, 36, 40, 44, 48, 52, 8, 12, 16, 20, 24, 40, 44, 48, 52, 8, 12, 16, 20, 24, 26, 28, 30, 32, 34, 36, 38, 40, 44, 48, 52, 8, 12, 16, 20, 44, 48, 52, 8, 12, 16, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 48, 52, 8, 12, 16, 48, 52, 8, 12, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 52, 8, 12, 52, 8, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 30, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 30, 34, 36, 38, 40, 42, 44, 46, 48, 52, 8, 30, 48, 52, 8, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 48, 52, 8, 12, 44, 48, 52, 8, 12, 16, 18, 20, 22, 24, 26, 30, 32, 34, 36, 38, 40, 44, 48, 52, 8, 12, 16, 30, 40, 44, 48, 52, 8, 12, 16, 20, 22, 24, 26, 28, 30, 34, 36, 40, 44, 48, 52, 8, 12, 16, 20, 30, 36, 40, 44, 48, 52, 8, 16, 20, 26, 36, 48, 52, 8, 12, 14, 16, 18, 20, 22, 28, 30, 32, 38, 40, 42, 44, 46, 48, 52, 8, 12, 24, 34, 40, 44, 52, 8, 12, 16, 20, 24, 30, 40, 44, 48, 52, 8, 12, 16, 20, 24, 26, 30, 32, 34, 36, 38, 40, 44, 48, 52, 8, 12, 16, 20, 30, 44, 48, 52, 8, 12, 16, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 48, 52, 8, 12, 16, 48, 52, 8, 12, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 52, 8, 12, 30, 52, 8, 12, 14, 16, 18, 20, 22, 24, 26, 30, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 30, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 20, 38, 42, 44, 52, 8, 14, 20, 28, 34, 38, 44, 46, 50, 52, 8, 10, 16, 24, 30, 32, 34, 38, 42, 44, 52, 8, 12, 14, 18, 20, 22, 26, 28, 32, 34, 38, 44, 46, 50, 52, 8, 18, 38, 42, 44, 52, 8, 10, 12, 14, 18, 22, 24, 26, 28, 32, 34, 38, 42, 44, 46, 50, 52, 8, 14, 18, 22, 24, 28, 32, 34, 46, 52, 8, 12, 14, 22, 28, 30, 32, 38, 40, 42, 46, 50, 52, 8, 16, 18, 22, 24, 30, 36, 38, 42, 52, 8, 12, 16, 18, 22, 28, 30, 32, 38, 42, 44, 46, 48, 52, 8, 12, 22, 24, 30, 36, 38, 48, 52, 8, 12, 14, 16, 18, 22, 28, 30, 32, 38, 42, 44, 48, 52, 8, 18, 22, 24, 30, 36, 38, 42, 44, 52, 8, 10, 14, 18, 20, 22, 28, 30, 32, 38, 46, 48, 52, 8, 14, 26, 28, 32, 36, 38, 42, 46, 52, 8, 10, 14, 16, 18, 22, 26, 28, 32, 34, 36, 38, 42, 46, 48, 50, 52, 8, 16, 18, 22, 42, 52, 8, 10, 14, 16, 22, 26, 28, 32, 34, 38, 40, 42, 46, 48, 52, 8, 16, 18, 22, 26, 28, 30, 36, 44, 50, 52, 8, 10, 14, 16, 22, 26, 32, 40, 46, 52, 8, 16, 18, 22, 40, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 40, 42, 48, 50, 52, 8, 12, 16, 20, 24, 28, 32, 36, 42, 44, 50, 52, 8, 10, 12, 14, 16, 18, 20, 22, 26, 30, 34, 40, 42, 48, 50, 52, 8, 10, 18, 20, 30, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 38, 40, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 18, 20, 26, 28, 32, 34, 40, 42, 50, 52, 8, 14, 16, 18, 20, 22, 24, 26, 34, 36, 42, 44, 46, 52, 8, 10, 30, 40, 42, 50, 52, 8, 10, 12, 18, 20, 26, 30, 34, 38, 40, 42, 44, 46, 48, 50, 52, 8, 10, 16, 18, 24, 28, 32, 36, 40, 44, 48, 52, 8, 10, 12, 18, 20, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 24, 36, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 30, 40, 46, 52, 8, 12, 14, 16, 24, 36, 44, 46, 48, 52, 8, 14, 20, 30, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 12, 18, 24, 30, 36, 42, 48, 52, 8, 14, 20, 26, 30, 34, 40, 46, 52, 8, 24, 36, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 12, 14, 16, 20, 26, 28, 30, 32, 34, 40, 44, 46, 48, 52, 8, 12, 20, 26, 34, 40, 48, 52, 8, 12, 16, 18, 20, 22, 26, 30, 34, 38, 40, 42, 44, 48, 52, 8, 12, 20, 30, 40, 48, 52, 8, 12, 14, 16, 20, 24, 26, 28, 30, 32, 34, 36, 40, 44, 46, 48, 52, 8, 12, 20, 30, 40, 48, 52, 8, 12, 16, 18, 20, 22, 26, 30, 34, 38, 40, 42, 44, 48, 52, 8, 12, 20, 26, 34, 40, 48, 52, 8, 12, 14, 16, 20, 26, 28, 30, 32, 34, 40, 44, 46, 48, 52, 8, 20, 40, 52, 8, 12, 14, 16, 20, 26, 28, 30, 32, 34, 40, 44, 46, 48, 52, 8, 12, 20, 26, 34, 40, 48, 52, 8, 12, 16, 18, 20, 22, 26, 30, 34, 38, 40, 42, 44, 48, 52, 8, 12, 20, 30, 40, 48, 52, 8, 12, 14, 16, 20, 24, 26, 28, 30, 32, 34, 36, 40, 44, 46, 48, 52, 8, 12, 20, 30, 40, 48, 52, 8, 12, 16, 18, 20, 22, 26, 30, 34, 38, 40, 42, 44, 48, 52, 8, 12, 20, 26, 34, 40, 48, 52, 8, 12, 14, 16, 20, 26, 28, 30, 32, 34, 40, 44, 46, 48, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 23, 23, 23, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 16, 24, 32, 40, 48, 52, 8, 52, 8, 52, 8, 52, 8, 16, 24, 32, 40, 48, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 12, 20, 28, 36, 44, 52, 8, 52, 8, 52, 8, 52, 8, 12, 20, 28, 36, 44, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 13, 13, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 32, 40, 52, 8, 16, 52, 8, 52, 8, 16, 52, 8, 18, 22, 32, 40, 52, 8, 52, 8, 52, 8, 28, 52, 8, 10, 50, 52, 8, 32, 52, 8, 52, 8, 52, 8, 20, 28, 38, 42, 52, 8, 44, 52, 8, 52, 8, 44, 52, 8, 20, 28, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 30, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 21, 21, 21, 21, 22, 22, 23, 23, 23, 23, 23, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 18, 42, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 18, 42, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52},
{0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 15, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 21, 21, 21, 21, 21, 22, 22, 23, 23, 23, 23, 23, 24, 24, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26},
{0, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 8, 52, 8, 52, 8, 14, 30, 46, 52, 8, 52, 8, 14, 30, 46, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 52, 8, 52, 8, 14, 22, 30, 38, 46, 52, 8, 52, 8, 14, 30, 46, 52, 8, 52, 8, 14, 30, 46, 52, 8, 52, 8, 52, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52}
};
int zqia1[21][11] = {{0},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 15, 22, 15, 38, 23, 23},
{0, 15, 24, 15, 36, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 9, 42, 21, 18, 23, 23},
{0, 5, 28, 25, 32, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23},
{0, 5, 10, 25, 50, 23, 23}
};

int zqai[41][510]={{0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 31, 56, 198, 175, 100, 38}, 
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, 
{0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
{0, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48},
{0, 9, 9, 9, 9, 9, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 21, 21, 21, 21, 21},
{0, 12, 20, 28, 36, 44, 12, 20, 28, 36, 44, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 16, 24, 32, 40, 48, 16, 24, 32, 40, 48},
{0, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 13, 13, 14, 16, 17, 17, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 21, 21, 22, 22, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24},
{0, 34, 36, 38, 18, 20, 22, 24, 26, 28, 30, 32, 42, 14, 44, 24, 26, 28, 30, 32, 42, 16, 24, 34, 36, 38, 14, 26, 12, 48, 34, 46, 22, 24, 26, 36, 44, 18, 28, 30, 32, 34, 36, 16, 46, 18, 28, 30, 32, 34, 36, 38, 40, 42, 22, 24, 26},
{0, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25},
{0, 30, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 46, 48, 12, 30, 48, 12, 16, 18, 20, 22, 24, 26, 30, 32, 34, 36, 38, 40, 42, 44, 48, 12, 16, 44, 48, 12, 16, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 44, 48, 12, 16, 20, 30, 40, 44, 48, 12, 16, 20, 24, 26, 30, 32, 34, 36, 40, 44, 48, 12, 16, 20, 24, 30, 36, 40, 44, 48, 16, 24, 28, 30, 32, 40, 48, 10, 12, 14, 16, 18, 20, 22, 24, 36, 38, 40, 42, 44, 46, 48, 50, 12, 20, 28, 30, 32, 36, 44, 12, 16, 20, 24, 30, 36, 40, 44, 48, 12, 16, 20, 24, 26, 28, 30, 34, 36, 40, 44, 48, 12, 16, 20, 30, 40, 44, 48, 12, 16, 20, 22, 24, 26, 30, 32, 34, 36, 38, 40, 44, 48, 12, 16, 44, 48, 12, 16, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 48, 12, 30, 48, 12, 14, 16, 18, 20, 22, 24, 26, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 30},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
{0, 12, 14, 16, 20, 22, 24, 26, 28, 30, 34, 38, 40, 42, 44, 48, 50, 12, 16, 34, 48, 12, 16, 22, 24, 26, 28, 30, 34, 38, 40, 42, 44, 48, 12, 16, 22, 30, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 30, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 30, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 26, 30, 34, 38, 44, 48, 12, 16, 22, 30, 38, 44, 48, 12, 16, 18, 20, 22, 26, 30, 32, 34, 36, 38, 44, 48, 12, 26, 44, 48, 10, 12, 16, 18, 20, 22, 26, 30, 32, 34, 36, 38, 40, 44, 46, 48},
{0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24},
{0, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48},
{0, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 13, 13, 13, 13, 17, 17, 17, 17, 20, 20, 20, 20, 20, 22, 22, 22, 22, 22, 24, 24, 24, 24, 24},
{0, 16, 24, 32, 40, 48, 12, 20, 28, 36, 44, 16, 24, 32, 40, 48, 18, 26, 34, 42, 18, 26, 34, 42, 12, 20, 28, 36, 44, 16, 24, 32, 40, 48, 12, 20, 28, 36, 44}
};

int zkua[41][510] = {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55},
{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, 
{0, 5, 5, 7, 7, 9, 9, 9, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 17, 17, 18, 18, 18, 18, 19, 21, 21, 21, 23, 23, 25, 25},
{0, 18, 50, 22, 38, 10, 22, 38, 20, 28, 36, 44, 12, 48, 10, 18, 26, 34, 42, 50, 10, 12, 16, 18, 20, 24, 26, 28, 32, 34, 36, 40, 42, 44, 48, 50, 10, 18, 26, 34, 42, 50, 12, 48, 16, 24, 32, 40, 10, 22, 38, 50, 22, 38, 10, 42}
};

void output(int fxx, int fyy){
    int now = maze[fxx][fyy];
    if(now == 0){
        color(15);
        block(fyy, fxx);
        cout << "  ";
        SetPos(fyy, fxx);
        cout << "  ";
        return;
    }
    int now1 = now / 1000;
    int now2 = now % 1000;
    if(now1 == 1){
        if(now2 == 1){
            block(a2, a1);
            color(11);
            if(af == 1){
                cout << "←";
            }else if(af == 2){
                cout << "↑";
            }else if(af == 3){
                cout << "→";
            }else{
                cout << "↓";
            }
        }else if(now2 == 2){
            block(b2, b1);
            color(14);
            if(bf == 1){
                cout << "←";
            }else if(bf == 2){
                cout << "↑";
            }else if(bf == 3){
                cout << "→";
            }else{
                cout << "↓";
            }
        }
    }else if(now1 == 2){
        if(ywz[now2] == 1 || ywz[now2] == 3){
            color(12 * 16 + 7);
        }else{
            color(13 * 16 + 7);
        }
        block(ywy[now2], ywx[now2]);
        if(ywz[now2] == 1){
            cout << "LL";
        }else if(ywz[now2] == 2){
            cout << "GJ";
        }else if(ywz[now2] == 3){
            cout << "ZD";
        }else if(ywz[now2] == 4){
            cout << "DL";
        }else if(ywz[now2] == 5){
            cout << "HP";
        }else if(ywz[now2] == 6){
            cout << "MK";
        }
    }else if(now1 == 3){
        block(qiay[now2], qiax[now2]);
        color(8 * 16 + 8);
        cout << "  ";
    }else if(now1 == 4){
        block(qaiy[now2], qaix[now2]);
        color(3 * 16);
        cout << "·";
    }else if(now1 == 5){
        block(kuay[now2], kuax[now2]);
        color(6 * 16 + 6);
        cout << "  ";
    }
    return;
}

void aguag(){
    if(ag){
        cu = al;
        al += 30;
    }
    if(af == 1){
        if(a1 == b1 && (a2 - b2) <= al * 2 + 2 && (a2 - b2) > 0){
            bx -= 10;
            if(ag){
                bx -= 10;
            }
        }
    }else if(af == 2){
        if(a2 == b2 && (a1 - b1) <= al && (a1 - b1) > 0){
            bx -= 10;
            if(ag){
                bx -= 10;
            }
        }
    }else if(af == 3){
        if(a1 == b1 && (b2 - a2) <= al * 2 + 2 && (b2 - a2) > 0){
            bx -= 10;
            if(ag){
                bx -= 10;
            }
        }
    }else if(af == 4){
        if(a2 == b2 && (b1 - a1) <= al && (b1 - a1) > 0){
            bx -= 10;
            if(ag){
                bx -= 10;
            }
        }
    }
    if(ag) {
        al = cu;
    }
    return;
}

void agua2(){
    color(11);
    if(ag){
        cu = al;
        al += 30;
    }
    if(af == 1){
        if(a2 >= 4 + al * 2){
            output(a1, a2 - 2 - al * 2);
            for(int i = a2 - al * 2; i <= a2 - 2; i += 2){
                output(a1, i);
            }
            output(a1, a2);
        }else{
            output(a1, 2);
            for(int i = 4; i <= a2 + 2; i += 2){
                output(a1, i);
            }
        }
    }else if(af == 2){
        if(a1 >= al + 4){
            output(a1 - al - 1, a2);
            for(int i = a1 - al; i <= a1; i++){
                output(i, a2);
            }
        }else{
            output(3, a2);
            for(int i = 4; i <= a1; i++){
                output(i, a2);
            }
        } 
    }else if(af == 3){
        output(a1, a2);
        for(int i = a2 + 2; i <= a2 + al * 2 + 4 && i <= 70; i += 2){
            output(a1, i);
        }
    }else if(af == 4){
        for(int i = a1; i <= a1 + al + 1 && i <= 27; i++){
            output(i, a2);
        }
    }
    if(ag){
        al = cu;
        ag--;
    }
    return;
}

void agua(){
    color(11);
    if(ag){
        color(1 + 11 * 16);
        cu = al;
        al += 30;
    }
    if(af == 1){
        if(a2 >= 4 + al * 2){
            SetPos(a2 - 2 - al * 2, a1);
            cout << "←";
            for(int i = a2 - al; i <= a2 - 1; i++){
                cout << "—"; 
            }
            cout << "—";
        }else{
            SetPos(2, a1);
            cout << "←";
            for(int i = 2; i <= a2 - 1; i += 2){
                cout << "—"; 
            }
        }
    }else if(af == 2){
        if(a1 >= al + 4){
            SetPos(a2, a1 - al - 1);
            cout << "↑";
            for(int i = a1 - al; i <= a1; i++){
                SetPos(a2, i);
                cout << "|";
            }
        }else{
            SetPos(a2, 3);
            cout << "↑";
            for(int i = 4; i <= a1; i++){
                SetPos(a2, i);
                cout << "|";
            }
        } 
    }else if(af == 3){
        SetPos(a2, a1);
        for(int i = a2 + 2; i <= a2 + al * 2 + 2 && i + 2 <= 70; i += 2){
            cout << "—"; 
        }
        cout << "→";
    }else if(af == 4){
        int i;
        for(i = a1; i <= a1 + al && i + 1 <= 27; i++){
            SetPos(a2, i);
            cout << "|";
        }
        SetPos(a2, i);
        cout << "↓";
    }
    if(ag){
        al = cu;
        ag--;
        color(15);
    }
    return;
}

void bguag(){
    if(bg){
        cu = bl;
        bl += 30;
    }
    if(bf == 1){
        if(a1 == b1 && (b2 - a2) <= bl * 2 + 2 && (b2 - a2) > 0){
            ax -= 10;
            if(bg){
                ax -= 10;
            }
        }
    }else if(bf == 2){
        if(a2 == b2 && (b1 - a1) <= bl && (b1 - a1) > 0){
            ax -= 10;
            if(bg){
                ax -= 10;
            }
        }
    }else if(bf == 3){
        if(a1 == b1 && (a2 - b2) <= bl * 2 + 2 && (a2 - b2) > 0){
            ax -= 10;
            if(bg){
                ax -= 10;
            }
        }
    }else if(bf == 4){
        if(a2 == b2 && (a1 - b1) <= bl && (a1 - b1) > 0){
            ax -= 10;
            if(bg){
                ax -= 10;
            }
        }
    }
    if(bg){
        bl = cu;
    }
    return;
}

void bgua2(){
    color(14);
    if(bg){
        cu = bl;
        bl += 30;
    }
    if(bf == 1){
        if(b2 >= 4 + bl * 2){
            output(b1, b2 - 2 - bl * 2);
            for(int i = b2 - bl * 2; i <= b2; i += 2){
                output(b1, i);
            }
        }else{
            output(b1, 2);
            for(int i = 4; i <= b2 + 1; i += 2){
                output(b1, i);
            }
        }
    }else if(bf == 2){
        if(b1 >= bl + 4){
            output(b1 - bl - 1, b2);
            for(int i = b1 - bl; i <= b1; i++){
                output(i, b2);
            }
        }else{
            output(3, b2);
            for(int i = 4; i <= b1; i++){
                output(i, b2);
            }
        } 
    }else if(bf == 3){
        output(b1, b2);
        for(int i = b2 + 2; i <= b2 + bl * 2 + 4 && i <= 70; i += 2){
            output(b1, i);
        }
    }else if(bf == 4){
        for(int i = b1; i <= b1 + bl + 1 && i <= 27; i++){
            output(i, b2);
        }
    }
    if(bg){
        bl = cu;
        bg--;
    }
    return;
}

void bgua(){
    color(14);
    if(bg){
        color(6 + 14 * 16);
        cu = bl;
        bl += 30;
    }
    if(bf == 1){
        if(b2 >= bl * 2 + 4){
            SetPos(b2 - bl * 2 - 2, b1);
            cout << "←";
            for(int i = b2 - bl; i <= b2 - 1; i++){
                cout << "—"; 
            }
            cout << "—";
        }else{
            SetPos(2, b1);
            cout << "←";
            for(int i = 2; i <= b2 - 1; i += 2){
                cout << "—"; 
            }
        }
    }else if(bf == 2){
        if(b1 >= bl + 4){
            SetPos(b2, b1 - bl - 1);
            cout << "↑";
            for(int i = b1 - bl; i <= b1; i++){
                SetPos(b2, i);
                cout << "|";
            }
        }else{
            SetPos(b2, 3);
            cout << "↑";
            for(int i = 4; i <= b1; i++){
                SetPos(b2, i);
                cout << "|";
            }
        }
    }else if(bf == 3){
        SetPos(b2, b1);
        for(int i = b2 + 2; i <= b2 + bl * 2 + 2 && i + 2 <= 70; i += 2){
            cout << "—"; 
        }
        cout << "→";
    }else if(bf == 4){
        int i; 
        for(i = b1; i <= b1 + bl && i + 1 <= 27; i++){
            SetPos(b2, i);
            cout << "|";
        }
        SetPos(b2, i);
        cout << "↓";
    }
    if(bg){
        bl = cu;
        bg--;
        color(15);
    }
    return;
}

int main( ){
    system("mode con cols=72 lines=29");
    block(1, 1);
    cout << "本游戏由XTW蒟蒻编制" << endl;
    Sleep(1500);
    p1:block(1, 2);
    cout << "请输入模式(1.正常  2.关卡)" << endl;
    block(1, 3);
    char zzzzz1 = getch();
    if(zzzzz1 == '1'){
        cout << '1' << endl;
        Sleep(1000);
        HideCursor(); 
        system("cls");
        qial++;
        qiax[qial] = 10;
        qiay[qial] = 16;
        block(qiay[qial], qiax[qial]);
        color(8 * 16 + 8);
        cout << "  ";
        maze[qiax[qial]][qiay[qial]] = 3000 + qial;
    }else if(zzzzz1 == '2'){
        cout << '2' << endl;
        qaih = qiah = true;
        Sleep(1000);
        p2:block(1, 4);
        cout << "请选择关卡(1~f)" << endl;
        block(1, 5);
        char zzzzz2 = getch();
        if(zzzzz2 >= '1' && zzzzz2 <= '9' || zzzzz2 >= 'a' && zzzzz2 <= 'f'){
            int zzzzz3;
            if(zzzzz2 <= '9' && zzzzz2 >= '1'){
                zzzzz3 = zzzzz2 - '0';
            }else{
                zzzzz3 = zzzzz2 - 'a' + 10;
            }
            cout << zzzzz2 << endl;
            block(1, 6);
            Sleep(1000);
            HideCursor(); 
            system("cls");
            for(int i = 1; i <= zqia[0][zzzzz3]; i++){
                qial++;
                qiax[qial] = zqia[zzzzz3 * 2 - 1][i];
                qiay[qial] = zqia[zzzzz3 * 2][i];
                block(qiay[qial], qiax[qial]);
                color(8 * 16 + 8);
                cout << "  ";
                maze[qiax[qial]][qiay[qial]] = 3000 + qial; 
            }
            for(int i = 1; i <= zqai[0][zzzzz3]; i++){
                qail++;
                qaix[qail] = zqai[zzzzz3 * 2 - 1][i];
                qaiy[qail] = zqai[zzzzz3 * 2][i];
                block(qaiy[qail], qaix[qail]);
                color(3 * 16);
                cout << "·";
                maze[qaix[qail]][qaiy[qail]] = 4000 + qail; 
            }
            for(int i = 1; i <= zkua[0][zzzzz3]; i++){
                kual++;
                kuax[kual] = zkua[zzzzz3 * 2 - 1][i];
                kuay[kual] = zkua[zzzzz3 * 2][i];
                block(kuay[kual], kuax[kual]);
                color(6 * 16 + 6);
                cout << "  ";
                maze[kuax[kual]][kuay[kual]] = 5000 + kual; 
            }
            ca1 = a1 = zqia1[zzzzz3][1];
            ca2 = a2 = zqia1[zzzzz3][2];
            cb1 = b1 = zqia1[zzzzz3][3];
            cb2 = b2 = zqia1[zzzzz3][4];
            dx = zqia1[zzzzz3][5];
            dy = zqia1[zzzzz3][6];
        }else{
            goto p2;
        }
    }else{
        goto p1;
    }
    ttime3 = time(NULL);
    while(ax > 0 && bx > 0){
        if(au1){
            au1--;
        }
        if(bu1){
            bu1--;
        }
        if(h1){
            h1--;
        }
        ttime2 = time(NULL);
        if(ttime2 >= ttime3 + 1){
            shcha = 0;
            ttime3 = ttime2;
            summ++;
        }else{
            shcha += 11;
        }
        block(0, 0);
        color(15);
        cout << "player1:  HP:" << ax << "  TP:" << tipe[at] << "  GJ:" << ag / 3 << "  ZD:" << azl << "  DL:" << au << "  MK:" << am << endl;
        cout << "player2:  HP:" << bx << "  TP:" << tipe[bt] << "  GJ:" << bg / 3 << "  ZD:" << bzl << "  DL:" << bu << "  MK:" << bm << endl;
        //if(a1 != ca1 || a2 != ca2 || af != caf){
            block(ca2, ca1);
            color(15);
            cout << "  ";
            maze[ca1][ca2] = 0;
            block(a2, a1);
            color(11);
            if(af == 1){
                cout << "←";
            }else if(af == 2){
                cout << "↑";
            }else if(af == 3){
                cout << "→";
            }else{
                cout << "↓";
            }
            maze[a1][a2] = 1001;
        //}
        //if(b2 != cb2 || b1 != cb1 || bf != cbf){
            block(cb2, cb1);
            color(15);
            cout << "  ";
            maze[cb1][cb2] = 0;
            block(b2, b1);
            color(14);
            if(bf == 1){
                cout << "←";
            }else if(bf == 2){
                cout << "↑";
            }else if(bf == 3){
                cout << "→";
            }else{
                cout << "↓";
            }
            maze[b1][b2] = 1002;
        //}
        ca1 = a1;
        ca2 = a2;
        cb1 = b1;
        cb2 = b2;
        caf = af;
        cbf = bf;
        color(15);
        block(0, 0);
        cout << endl << endl;
        color(15);
        pan('P');
        pan('W');
        pan('S');
        pan('A');
        pan('D');
        pan('K');
        pan('L');
        pan('I');
        pan('O');
        pan('8');
        pan('5');
        pan('4');
        pan('6');
        pan('0');
        pan('1');
        pan('2');
        pan('3');
        if(check('P')){
            color(15);
            system("cls");
            p6:block(25, 10);
            cout << "╭———————╮";
            block(25, 11);
            cout << "| 游  戏  暂  停 |";
            block(25, 12);
            cout << "| 继续:P  规则:Q |";
            block(25, 13);
            cout << "╰———————╯";
            while(true){
                pan('P');
                pan('Q');
                if(check('Q')){
                    system("cls");
                    block(25, 10);
                    cout << "╭——————╮";
                    block(25, 11);
                    color(15);
                    cout << "| ";
                    color(11);
                    cout << "player1:蓝色";
                    color(15);
                    cout << " |";
                    block(25, 12);
                    cout << "| 上:W 下:S  |";
                    block(25, 13);
                    cout << "| 左:A 右:D  |";
                    block(25, 14);
                    cout << "| 光波:K HP-10 |";
                    block(25, 15);
                    cout << "| 子弹:L HP-10 |";
                    block(25, 16);
                    cout << "| 切换副武器:I |";
                    block(25, 17);
                    cout << "| 使用副武器:Q |";
                    block(25, 18);
                    cout << "|   地雷 HP-25 |";
                    block(25, 19);
                    cout << "|   木块 放置  |";
                    block(25, 20);
                    cout << "╰——————╯";
                    block(25, 21);
                    Sleep(1500);
                    system("pause");
                    system("cls");
                    block(25, 10);
                    cout << "╭——————╮";
                    block(25, 11);
                    cout << "| ";
                    color(14);
                    cout << "player2:黄色";
                    color(15);
                    cout << " |";
                    block(25, 12);
                    cout << "| 上:↑下:↓ |";
                    block(25, 13);
                    cout << "| 左:←右:→ |";
                    block(25, 14);
                    cout << "| 光波:0 HP-10 |";
                    block(25, 15);
                    cout << "| 子弹:1 HP-10 |";
                    block(25, 16);
                    cout << "| 切换副武器:2 |";
                    block(25, 17);
                    cout << "| 使用副武器:3 |";
                    block(25, 18);
                    cout << "|   地雷 HP-25 |";
                    block(25, 19);
                    cout << "|   木块 放置  |";
                    block(25, 20);
                    cout << "╰——————╯";
                    block(25, 21);
                    Sleep(1500);
                    system("pause");
                    system("cls");
                    block(25, 10);
                    cout << "╭———————╮";
                    block(25, 11);
                    cout << "| 墙:";
                    color(8 * 16 + 8);
                    cout << "  ";
                    color(15);
                    cout << "         |";
                    block(25, 12);
                    cout << "| 挡住坦克与子弹 |";
                    block(25, 13);
                    cout << "| 药丸:         |";
                    block(25, 14);
                    cout << "| ";
                    color(12 * 16 + 7);
                    cout << "LL";
                    color(15);
                    cout << ":光波长度+1 |";
                    block(25, 15);
                    cout << "| ";
                    color(13 * 16 + 7);
                    cout << "GJ";
                    color(15);
                    cout << ":光波加强*2 |";
                    block(25, 16);
                    cout << "| ";
                    color(12 * 16 + 7);
                    cout << "ZD";
                    color(15);
                    cout << ":子弹容量+1 |";
                    block(25, 17);
                    cout << "| ";
                    color(13 * 16 + 7);
                    cout << "DL";
                    color(15);
                    cout << ":地雷数量+1 |";
                    block(25, 18);
                    cout << "| ";
                    color(13 * 16 + 7);
                    cout << "HP";
                    color(15);
                    cout << ":玩家血量+8 |";
                    block(25, 19);
                    cout << "| ";
                    color(13 * 16 + 7);
                    cout << "MK";
                    color(15);
                    cout << ":木块数量+4 |";
                    block(25, 20);
                    cout << "| 狙击孔:";
                    color(3 * 16);
                    cout << "·";
                    color(15);
                    cout << "     |";
                    block(25, 21);
                    cout << "|       阻挡坦克 |";
                    block(25, 22);
                    cout << "| 木块:";
                    color(6 * 16 + 6);
                    cout << "  ";
                    color(15);
                    cout << "       |";
                    block(25, 23);
                    cout << "|     阻挡坦克, |";
                    block(25, 24);
                    cout << "|   可被子弹击破 |";
                    block(25, 25);
                    cout << "╰———————╯";
                    Sleep(1500);
                    block(25, 26);
                    system("pause");
                    system("cls");
                    goto p6;
                }else if(check('P')){
                    break;
                }
                Sleep(100);
            }
            system("cls");
            for(int i = 1; i <= ywl; i++){
                if(yw2[i]){
                    if(ywz[i] == 1 || ywz[i] == 3){
                        color(12 * 16 + 7);
                    }else{
                        color(13 * 16 + 7);
                    }
                    block(ywy[i], ywx[i]);
                    if(ywz[i] == 1){
                        cout << "LL";
                    }else if(ywz[i] == 2){
                        cout << "GJ";
                    }else if(ywz[i] == 3){
                        cout << "ZD";
                    }else if(ywz[i] == 4){
                        cout << "DL";
                    }else if(ywz[i] == 5){
                        cout << "HP";
                    }
                }
            }
            for(int i = 1; i <= qial; i++){
                block(qiay[i], qiax[i]);
                color(8 * 16 + 8);
                cout << "  ";
            }
            for(int i = 1; i <= qail; i++){
                block(qaiy[i], qaix[i]);
                color(3 * 16);
                cout << "·";
            }
        }
        if(ah2 == 1){
            agua2();
            ah2--;
        }
        if(ah2 == 2){
            agua();
            ah2--;
        }else if(check('W')){
            if(af == 1){
                if(a2 > 2){
                    a2 -= 2;
                }
            }else if(af == 2){
                if(a1 > 3){
                    a1--;
                }
            }else if(af == 3){
                if(a2 < 68){
                    a2 += 2;
                }
            }else if(af == 4){
                if(a1 < 27){
                    a1++;
                }
            }
        }else if(check('S')){
            if(af == 1){
                if(a2 < 68){
                    a2 += 2;
                }
            }else if(af == 2){
                if(a1 < 27){
                    a1++;
                }
            }else if(af == 3){
                if(a2 > 2){
                    a2 -= 2;
                }
            }else if(af == 4){
                if(a1 > 3){
                    a1--;
                }
            }
        }else if(check('A')){
            if(af == 1){
                af = 4;
            }else{
                af--;
            }
        }else if(check('D')){
            if(af == 4){
                af = 1;
            }else{
                af++;
            }
        }else if(check('K')){
            if(!au1){
                au1 = 15;
                agua();
                aguag();
                ah2 = 2;
            }
        }else if(check('L')){
            for(int i = 1; i <= azl; i++){
                if(!az1[i]){
                    az1[i] = true;
                    azx[i] = a1;
                    azy[i] = a2;
                    azf[i] = af;
                    break;
                }
            }
        }else if(check('I')){
            if(at == tipl){
                at = 1;
            }else{
                at++;
            }
        }else if(check('O')){
            if(au >= 1 && at == 1){
                au--;
                dlf[dll] = ttime1 + 10;
                dlx[dll] = a1;
                dly[dll] = a2;
                dl1[dll] = true;
                block(a2, a1);
                color(12);
                cout << "¤";
                dll++;
            }else if(am >= 1 && at == 2){
                int zam1 = a1, zam2 = a2;
                bool zam3 = false;
                if(af == 1){
                    if(zam2 > 2){
                        zam2 -= 2;
                        zam3 = true;
                    }
                }else if(af == 2){
                    if(zam1 > 3){
                        zam1--;
                        zam3 = true;
                    }
                }else if(af == 3){
                    if(zam2 < 68){
                        zam2 += 2;
                        zam3 = true;
                    }
                }else if(af == 4){
                    if(zam1 < 27){
                        zam1++;
                        zam3 = true;
                    }
                }
                if(zam3 && maze[zam1][zam2] == 0){
                    am--;
                    kual++;
                    kuax[kual] = zam1;
                    kuay[kual] = zam2;
                    maze[zam1][zam2] = 5000 + kual;
                    block(kuay[kual], kuax[kual]);
                    color(6 * 16 + 6);
                    cout << "  ";
                }
            }
        }
        if(bh2 == 1){
            bgua2();
            bh2--;
        }
        if(bh2 == 2){
            bgua();
            bh2--;
        }else if(check('8')){
            if(bf == 1){
                if(b2 > 2){
                    b2 -= 2;
                }
            }else if(bf == 2){
                if(b1 > 3){
                    b1--;
                }
            }else if(bf == 3){
                if(b2 < 68){
                    b2 += 2;
                }
            }else if(bf == 4){
                if(b1 < 27){
                    b1++;
                }
            }
        }else if(check('5')){
            if(bf == 1){
                if(b2 < 68){
                    b2 += 2;
                }
            }else if(bf == 2){
                if(b1 < 27){
                    b1++;
                }
            }else if(bf == 3){
                if(b2 > 2){
                    b2 -= 2;
                }
            }else if(bf == 4){
                if(b1 > 3){
                    b1--;
                }
            }
        }else if(check('4')){
            if(bf == 1){
                bf = 4;
            }else{
                bf--;
            }
        }else if(check('6')){
            if(bf == 4){
                bf = 1;
            }else{
                bf++;
            }
        }else if(check('0')){
            if(!bu1){
                bu1 = 15;
                bgua();
                bguag();
                bh2 = 2;
            }
        }else if(check('1')){
            for(int i = 1; i <= bzl; i++){
                if(!bz1[i]){
                    bz1[i] = true;
                    bzx[i] = b1;
                    bzy[i] = b2;
                    bzf[i] = bf;
                    break;
                }
            }
        }else if(check('2')){
            if(bt == tipl){
                bt = 1;
            }else{
                bt++;
            }
        }else if(check('3')){
            if(bu >= 1 && bt == 1){
                bu--;
                dlf[dll] = ttime1 + 10;
                dlx[dll] = b1;
                dly[dll] = b2;
                dl1[dll] = true;
                block(b2, b1);
                color(12);
                cout << "¤";
                dll++;
            }else if(bm >= 1 && bt == 2){
                int zbm1 = b1, zbm2 = b2;
                bool zbm3 = false;
                if(bf == 1){
                    if(zbm2 > 2){
                        zbm2 -= 2;
                        zbm3 = true;
                    }
                }else if(bf == 2){
                    if(zbm1 > 3){
                        zbm1--;
                        zbm3 = true;
                    }
                }else if(bf == 3){
                    if(zbm2 < 68){
                        zbm2 += 2;
                        zbm3 = true;
                    }
                }else if(bf == 4){
                    if(zbm1 < 27){
                        zbm1++;
                        zbm3 = true;
                    }
                }
                if(zbm3 && maze[zbm1][zbm2] == 0){
                    bm--;
                    kual++;
                    kuax[kual] = zbm1;
                    kuay[kual] = zbm2;
                    maze[zbm1][zbm2] = 5000 + kual;
                    block(kuay[kual], kuax[kual]);
                    color(6 * 16 + 6);
                    cout << "  ";
                }
            }
        }
        ttime1 = time(NULL);
        for(int i = 1; i <= qail; i++){
            if(qaix[i] == a1 && qaiy[i] == a2){
                a1 = ca1;
                a2 = ca2;
            }
            if(qaix[i] == b1 && qaiy[i] == b2){
                b1 = cb1;
                b2 = cb2;
            }
        }
        for(int i = 1; i <= qial; i++){
            if(qiax[i] == a1 && qiay[i] == a2){
                a1 = ca1;
                a2 = ca2;
            }
            if(qiax[i] == b1 && qiay[i] == b2){
                b1 = cb1;
                b2 = cb2;
            }
        }
        for(int i = 1; i <= kual; i++){
            if(kuax[i] == a1 && kuay[i] == a2){
                a1 = ca1;
                a2 = ca2;
            }
            if(kuax[i] == b1 && kuay[i] == b2){
                b1 = cb1;
                b2 = cb2;
            }
        }
        for(int i = 1; i < dll; i++){
            if(dl2[i]){
                block(dly[i], dlx[i]);
                color(15);
                if(dlx[i] == a1 && dly[i] == a2){
                    ax -= 25;
                    block(a2, a1);
                    color(12);
                    cout << "¤";
                    dl1[i] = dl2[i] = false;
                }
                if(dlx[i] == b1 && dly[i] == b2){
                    bx -= 25;
                    block(b2, b1);
                    color(12);
                    cout << "¤";
                    dl1[i] = dl2[i] = false;
                }
            }else if(ttime1 < dlf[i]){
                block(dly[i], dlx[i]);
                color(12);
                cout << "·";
            }else if(dl1[i]){
                dl2[i] = true;
                block(dly[i], dlx[i]);
                color(15);
                cout << "  ";
            }else{
                continue;
            }
        }
        for(int i = 1; i <= ywl; i++){
            if(!yw2[i]){
                continue;
            }else if(ywx[i] == a1 && ywy[i] == a2){
                if(ywz[i] == 1){
                    al++;
                }else if(ywz[i] == 2){
                    ag += 3;
                }else if(ywz[i] == 3){
                    azl++;
                }else if(ywz[i] == 4){
                    au++;
                }else if(ywz[i] == 5){
                    ax += 8;
                }else if(ywz[i] == 6){
                    am += 4;
                }
                yw1[i] = false;
                yw2[i] = false;
            }else if(ywx[i] == b1 && ywy[i] == b2){
                if(ywz[i] == 1){
                    bl++;
                }else if(ywz[i] == 2){
                    bg += 3;
                }else if(ywz[i] == 3){
                    bzl++;
                }else if(ywz[i] == 4){
                    bu++;
                }else if(ywz[i] == 5){
                    bx += 8;
                }else if(ywz[i] == 6){
                    bm += 4;
                }
                yw1[i] = false;
                yw2[i] = false;
            }else{
                bool h3 = false;
                for(int j = 1; j <= qial; j++){
                    if(qiax[j] == ywx[i] && qiay[j] == ywy[i]){
                        h3 = true;
                        break;
                    }
                }
                for(int j = 1; j <= qail; j++){
                    if(qaix[j] == ywx[i] && qaiy[j] == ywy[i]){
                        h3 = true;
                        break;
                    }
                }
                for(int j = 1; j <= kual; j++){
                    if(kuax[j] == ywx[i] && kuay[j] == ywy[i]){
                        h3 = true;
                        break;
                    }
                }
                if(h3){
                    yw1[i] = false;
                    yw2[i] = false;
                }else{
                    continue;
                }
            }
            block(ywy[i], ywx[i]);
            color(15);
            cout << "  ";
            maze[ywx[i]][ywy[i]] = 0;
        }
        for(int i = 1; i <= ywl; i++){
            if(!yw1[i]){
                if(h1){
                    break;
                }
                srand(time(NULL) + shcha);
                int sui1 = (rand() % (30 * 6 + shcha));
                shcha += 17;
                ywd[i] = sui1 % 30 * 2 + 15 + ttime1;
                yw1[i] = true;
                ywz[i] = sui1 % 6 + 1;
                h1 = 11;
                break;
            }else if(ttime1 < ywd[i]){
                continue;
            }else if(yw2[i]){
                continue;
            }else{
                srand(time(NULL));
                int sui2 = (rand() % (40 * dy + shcha)) + 1;
                shcha += 19;
                ywx[i] = sui2 % dx + 4;
                ywy[i] = sui2 / 40 % dy * 2 + 8;
                if(ywx[i] == a1 && ywy[i] == a2){
                    ywx[i] += 2;
                }
                if(ywx[i] == b1 && ywy[i] == b2){
                    ywy[i] += 2;
                }
                if(ywx[i] == a1 && ywy[i] == a2){
                    ywx[i] += 2;
                    ywy[i] += 2;
                }
                bool h3 = false;
                for(int j = 1; j <= qial; j++){
                    if(qiax[j] == ywx[i] && qiay[j] == ywy[i]){
                        ywd[i] += 10;
                        h3 = true;
                        break;
                    }
                }
                for(int j = 1; j <= qail; j++){
                    if(qaix[j] == ywx[i] && qaiy[j] == ywy[i]){
                        ywd[i] += 10;
                        h3 = true;
                        break;
                    }
                }
                for(int j = 1; j <= dll; j++){
                    if(dlx[j] == ywx[i] && dly[j] == ywy[i]){
                        ywd[i] += 10;
                        h3 = true;
                        break;
                    }
                }
                for(int j = 1; j <= kual; j++){
                    if(kuax[j] == ywx[i] && kuay[j] == ywy[i]){
                        ywd[i] += 10;
                        h3 = true;
                        break;
                    }
                }
                if(h3){
                    continue;
                }
                yw2[i] = true;
                maze[ywx[i]][ywy[i]] = 2000 + i;
                output(ywx[i], ywy[i]);
                break;
            }
        }
        for(int i = 1; i <= azl; i++){
            if(az1[i]){
                output(azx[i], azy[i]);
                if(azf[i] == 1){
                    azy[i] -= 2;
                }else if(azf[i] == 2){
                    azx[i] -= 1;
                }else if(azf[i] == 3){
                    azy[i] += 2;
                }else if(azf[i] == 4){
                    azx[i] += 1;
                }
                if(azx[i] <= 2 || azx[i] >= 28){
                    az1[i] = false;
                }
                if(azy[i] <= 1 || azy[i] >= 70){
                    az1[i] = false;
                }
                if(azx[i] == b1 && azy[i] == b2){
                    bx -= 10;
                    az1[i] = false;
                }
                if(!az1[i]){
                    continue;
                }
                for(int j = 1; j <= qial; j++){
                    if(qiax[j] == azx[i] && qiay[j] == azy[i]){
                        az1[i] = false;
                        break;
                    }
                }
                for(int j = 1; j <= kual; j++){
                    if(kuax[j] == azx[i] && kuay[j] == azy[i]){
                        az1[i] = false;
                        block(kuay[j], kuax[j]);
                        color(15);
                        cout << "  ";
                        maze[kuax[j]][kuay[j]] = 0;
                        kuax[j] = kuax[kual];
                        kuay[j] = kuay[kual];
                        maze[kuax[j]][kuay[j]] = 5000 + j;
                        kuax[kual] = kuay[kual] = 0;
                        kual--;
                        break;
                    }
                }
                if(az1[i]){
                    color(11);
                    block(azy[i], azx[i]);
                    cout << "·";
                }
            }
        }
        for(int i = 1; i <= bzl; i++){
            if(bz1[i]){
                output(bzx[i], bzy[i]);
                if(bzf[i] == 1){
                    bzy[i] -= 2;
                }else if(bzf[i] == 2){
                    bzx[i] -= 1;
                }else if(bzf[i] == 3){
                    bzy[i] += 2;
                }else if(bzf[i] == 4){
                    bzx[i] += 1;
                }
                if(bzx[i] <= 2 || bzx[i] >= 28){
                    bz1[i] = false;
                }
                if(bzy[i] <= 1 || bzy[i] >= 70){
                    bz1[i] = false;
                }
                if(bzx[i] == a1 && bzy[i] == a2){
                    ax -= 10;
                    bz1[i] = false;
                }
                if(!bz1[i]){
                    continue;
                }
                for(int j = 1; j <= qial; j++){
                    if(qiax[j] == bzx[i] && qiay[j] == bzy[i]){
                        bz1[i] = false;
                        break;
                    }
                }
                for(int j = 1; j <= kual; j++){
                    if(kuax[j] == bzx[i] && kuay[j] == bzy[i]){
                        bz1[i] = false;
                        block(kuay[j], kuax[j]);
                        color(15);
                        cout << "  ";
                        maze[kuax[j]][kuay[j]] = 0;
                        kuax[j] = kuay[j] = 0;
                        break;
                    }
                }
                if(bz1[i]){
                    color(14);
                    block(bzy[i], bzx[i]);
                    cout << "·";
                }
            }
        }
        if(!qiah && summ % 31 == 2 && shcha <= 20){
            qial++;
            srand(time(NULL));
            int sui3 = (rand() % (shcha + 40 * dy)) + 1;
            qiax[qial] = sui3 % dx + 4;
            qiay[qial] = sui3 / 40 % dy * 2 + 8;
            if(qiax[qial] == a1 && qiay[qial] == a2){
                qiax[qial]++;
            }
            if(qiax[qial] == b1 && qiay[qial] == b2){
                qiay[qial]++;
            }
            if(qiax[qial] == a1 && qiay[qial] == a2){
                qiax[qial]++;
                qiay[qial]++;
            }
            block(qiay[qial], qiax[qial]);
            color(8 * 16 + 8);
            cout << "  ";
            maze[qiax[qial]][qiay[qial]] = 3000 + qial;
            shcha += 13;
        }

        if(!qaih && summ % 29 == 1 && shcha <= 20){
            qail++;
            srand(time(NULL));
            int sui4 = (rand() % (shcha + 40 * dy)) + 1;
            shcha += 14;
            qaix[qail] = sui4 % dx + 4;
            qaiy[qail] = sui4 / 40 % dy * 2 + 8;
            if(qaix[qail] == a1 && qaiy[qail] == a2){
                qaix[qail]++;
            }
            if(qaix[qail] == b1 && qaiy[qail] == b2){
                qaiy[qail]++;
            }
            if(qaix[qail] == a1 && qaiy[qail] == a2){
                qaix[qail]++;
                qaiy[qail]++;
            }
            block(qaiy[qail], qaix[qail]);
            color(3 * 16);
            cout << "·";
            maze[qaix[qail]][qaiy[qail]] = 4000 + qail;
        }
        if(summ % 17 == 11 && shcha <= 43){
            kual++;
            srand(time(NULL));
            int sui3 = (rand() % (shcha + 40 * dy)) + 1;
            kuax[kual] = sui3 % dx + 4;
            kuay[kual] = sui3 / 40 % dy * 2 + 8;
            if(maze[kuax[kual]][kuay[kual]] != 0){
                kuax[kual] = 0;
                kuay[kual] = 0;
            }else{
                if(kuax[kual] == a1 && kuay[kual] == a2){
                    kuax[kual]++;
                }
                if(kuax[kual] == b1 && kuay[kual] == b2){
                    kuay[kual]++;
                }
                if(kuax[kual] == a1 && kuay[kual] == a2){
                    kuax[kual]++;
                    kuay[kual]++;
                }
                block(kuay[kual], kuax[kual]);
                color(6 * 16 + 6);
                cout << "  ";
                maze[kuax[kual]][kuay[kual]] = 5000 + kual;
                shcha += 7;
            }
        }
        Sleep(50);
    }
    color(15);
    system("cls");
    if(ax <= 0){
        color(14);
        cout << "player2";
        color(15);
        cout << " win!" << endl;
        cout << "本游戏由XTW蒟蒻编制" << endl;
    }else{
        color(11);
        cout << "player1";
        color(15);
        cout << " win!" << endl;
        cout << "本游戏由XTW蒟蒻编制" << endl;
    }
    Sleep(3000);
    system("pause");
    return 0;
}

附:

想创造出属于自己的关卡吗?

欢迎投稿!

投稿方式

①想好关卡(只包括坦克初始位置、墙、狙击孔与空地)。

②将关卡按如下方式编辑:

坦克初始位置分别用‘A’和‘B’表示
墙用‘#’表示,狙击孔用‘|’表示,木块用‘~’表示,空地可用任意符号(除了空格)表示。
请写上行数与列数,推荐为23行、23列,行不超过23行,列不超过31列。
比如下面就是一个例子(新出的f关模板):
23 23
#######################
#A===~===============~#
#===|===|===|===|===|=#
#==#===~===#===~===#==#
#=|===|===|===|===|===#
#~=#===~===#===~===#==#
#===|===|===|===|===|=#
#==#===#===#===#===#==#
#=====~===~===~===~===#
#=~==|===|===|===|==~=#
#~===~===~===~===~===~#
#~~#~~~#~~~#~~~#~~~#~~#
#~===~===~===~===~===~#
#=~==|===|===|===|==~=#
#===~===~===~===~=====#
#~=#===#===#===#===#==#
#=|===|===|===|===|===#
#==#===~===#===~===#=~#
#===|===|===|===|===|=#
#==#===~===#===~===#==#
#=|===|===|===|===|===#
#~===============~===B#
#######################

③将自制关卡放入云剪贴板,在该文章下评论或私信作者本人。作者如果看到了,一定回复。

欢迎大家来投稿!