搜索
查看: 771|回复: 21
打印 上一主题 下一主题

求几个好玩的游戏

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2018-8-3 11:16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

沙发
发表于 2018-8-3 15:43:06 | 只看该作者
你说的是神马游戏?晕~~
板凳
发表于 2018-8-5 16:10:26 | 只看该作者
为 什 么 评 论 一 定 要 凑 够 二 十 个 字 呀

点评

问啊哈磊去  发表于 2018-8-6 18:35
地板
发表于 2018-8-7 13:13:57 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <conio.h> /*使用getch()函数*/
#include <time.h>
#include <windows.h> /*使用Sleep()函数*/

void Menu();//菜单
void Rule_of_game();//游戏规则
void Begin(int max); //开始
void Table();//打印4×4方格
int Random_number1();//产生2或4的随机数
int Random_number2();//产生0、1、2、3的随机数
int Get(int *p_cnt, int score);//输入指令
void Move();//保留上一次的棋盘布局
int If_move();//判断是否移动
int Over();//判断是否结束
void Establish_game();//创建用于保存最高分的文件
void Write_max(int score);//向2048游戏-最高记录写入最高分
int Read_max();//读出最高分记录的文件
void Establish_file();//创建存档文件
void Write_file(int *p_cnt, int scort);//存档
int Read_file(int *p_cnt);//读档
void again();//是否继续游戏
int color(int c);//更改颜色
void box_color(int x);//不同数值对应不同颜色

int a[4][4] = {0};// 定义全局的二维数组
int A[4][4]; //保留上一步的棋局
char *name_max = "2048游戏-最高记录";
char *name_file = "[空白]-2048游戏";

int main() {
system("mode con cols=90 lines=30");
system("title 2048超级大大型游戏"); //程序标题
system("color F0");//F 表示背景颜色,0表示前景颜色
Menu();
system("pause"); //暂停,输入任意键继续
system("cls"); //清屏
again(); //是否继续游戏
return 0;
}

void Menu() //菜单
{
printf("\t\t╔══════════════════════════════════════════════╗\n");
printf("\t\t║ 欢迎使用由[奋斗的乌龟]制作的2048超级大大型游戏 ║\n");
printf("\t\t╟──────────────────────────────────────────────╢\n");
printf("\t\t║请输入选项:   ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 1 │ 游戏规则  ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 2 │ 开始游戏  ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 3 │ 继续游戏  ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 4 │ 退出游戏  ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t╚══════════════════════════════════════════════╝\n");
int x = 1, max = 0;
while(x){
switch(getch()){
case '1':
x = 0;
Rule_of_game();//游戏规则
Menu();
break;
case '2':
x = 0;
system("cls");//清屏
Establish_game(name_file);//创建新的读档文件
Establish_game(name_max);//创建新的保存最高记录的文件
Begin(max); //开始游戏
break;
case '3':
x = 0;
system("cls");//清屏
max = Read_max();//读取之前的最高记录
Begin(max); //开始游戏
break;
case '4':
exit(0);
default:
printf("输入了非法选项,请重新选择!\n");
}
}
}

void Rule_of_game()
{
system("cls");//清屏
printf("╔══════════════════════════════════════════════════════════════════════════════════╗\n");
printf("║本游戏通过按键W、S、A、D(不区分大小写)四个键分别控制滑块上移、下移、左移和右移。║\n");
printf("║滑块移动的过程中,如有相邻且相等数字的滑块将会相加,并获得相应的分数。 ║\n");
printf("║当棋盘上的所有位置均有数字,且不能合成,则游戏结束。本游戏未设置游戏成功。 ║\n");
printf("║游戏过程中输入I即为存档并退出游戏,输入O即为读档,输入P则退出游戏。 ║\n");
printf("║“开始游戏”则清除最高记录及存档、“继续游戏”则保存之前的最高记录,且可以读档。 ║\n");
printf("╚══════════════════════════════════════════════════════════════════════════════════╝\n");
system("pause");//暂停
system("cls");//清屏
}

void Begin(int max)
{
int score = 0;
int sign = 1;
int h, l, cnt = 0;
int *p_cnt = &cnt;
while(1) {
printf("\t\t╔══════════════════════════════════════════════╗\n");
printf("\t\t║ 欢迎使用由[奋斗的乌龟]制作的2048超级大大型游戏 ║\n");
printf("\t\t╟──────────────────────────────────────────────╢\n");
printf("\t\t║移动: ┌───┐ 存档: 读档: 退出: ║\n");
printf("\t\t║ │ W │  ║\n");
printf("\t\t║ ┌───┼───┼───┐ ┌───┐ ┌───┐ ┌───┐ ║\n");
printf("\t\t║ │ A │ S │ D │ │ I │ │ O │ │ P │ ║\n");
printf("\t\t║ └───┴───┴───┘ └───┘ └───┘ └───┘ ║\n");
printf("\t\t╚══════════════════════════════════════════════╝\n");
while(1){
if(sign == 1){
h = Random_number2();
l = Random_number2();
if(a[h][l] == 0){
  a[h][l] = Random_number1();
  cnt ++;
  break;
}
}
else{
break;
}

}
Table();//打印棋盘
printf("\t\t移动的步数:%d\t当前得分:%d\n\t\t最高记录:%d\n", cnt-1, score, max);
Move();//保留棋盘
score += Get(p_cnt, score);//得分
sign = If_move();//判断棋盘是否有变动
if(Over() == 0){
if(max < score){//打破记录
Establish_game(name_max);//清除之前的记录
Write_max(score);//保存此次记录
printf("\t\t恭喜您已打破记录!\n");
}
break;
}
system("cls"); //清屏
}
}

void Table()
{
int h, l;
for(h = 0; h < 4; h ++){
if(h == 0){
printf("\t\t\t┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓\n");
}
else {
printf("\t\t\t┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫\n");
}
printf("\t\t\t┃ ┃ ┃ ┃ ┃\n");
for(l = 0; l < 4; l ++){
if(a[h][l] == 0){//如果二维数组与棋盘对应的位置为零,则不放入数据
if(l == 0){
  printf("\t\t\t┃ ");
}
else {
  printf("┃ ");
}
}
else{//否则放入与二维数组对应的数据
if(l == 0){
  printf("\t\t\t┃");
  box_color(a[h][l]);//判断滑块的数值,给对应颜色
  printf("%5d ", a[h][l]);
  color(0);//恢复白色背景
}
else {
  printf("┃");
  box_color(a[h][l]);//判断滑块的数值,给对应颜色
  printf("%5d ", a[h][l]);
  color(0);//恢复白色背景
}
}
}
printf("┃\n");
printf("\t\t\t┃ ┃ ┃ ┃ ┃\n");
}
printf("\t\t\t┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛\n");
}

int Random_number1()/*随机生成2 or 4*/
{
int s;
srand( time(NULL) );
s = ((unsigned)rand() % 2);
s = s == 0 ? 2 : 4;
return s;
}

int Random_number2()/*随机生成二维数组的下标*/
{
int x;
x = ((unsigned)rand() % 4);
return x;
}

int Get(int *p_cnt, int score)
{
int h, l, t, sum = 0;
char ch;
ch = getch();//输入字符
switch (ch){
/*滑块向上移动*/
case 'w':
case 'W':
/*向上聚集数字*/
for(l = 0; l < 4; l ++){
for(t = 0; t < 4; t ++){
  for(h = 3; h > 0; h --){
  if(a[h-1][l] == 0){
  a[h-1][l] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
/*竖直方向上,相邻且相同的数字相加*/
for(l = 0; l < 4; l ++){
for(h = 0; h < 3; h ++){
  if(a[h][l] == a[h+1][l]){
  a[h][l] += a[h+1][l];
  a[h+1][l] = 0;
  sum += a[h][l];
  }
}
}
/*向上聚集数字*/
for(l = 0; l < 4; l ++){
for(t = 0; t < 4; t ++){
  for(h = 3; h > 0; h --){
  if(a[h-1][l] == 0){
  a[h-1][l] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
break;
case 's':
case 'S':
for(l = 0; l < 4; l ++){
for(t = 0; t < 4; t ++){
  for(h = 0; h < 3; h ++){
  if(a[h+1][l] == 0){
  a[h+1][l] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
for(l = 0; l < 4; l ++){
for(h = 3; h > 0; h --){
  if(a[h][l] == a[h-1][l]){
  a[h][l] += a[h-1][l];
  a[h-1][l] = 0;
  sum += a[h][l];
  }
}
}
for(l = 0; l < 4; l ++){
for(t = 0; t < 4; t ++){
  for(h = 0; h < 3; h ++){
  if(a[h+1][l] == 0){
  a[h+1][l] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
break;
case 'a':
case 'A':
for(h = 0; h < 4; h ++){
for(t = 0; t < 4; t ++){
  for(l = 3; l > 0; l --){
  if(a[h][l-1] == 0){
  a[h][l-1] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
for(h = 0; h < 4; h ++){
for(l = 0; l < 3; l ++){
  if(a[h][l] == a[h][l+1]){
  a[h][l] += a[h][l+1];
  a[h][l+1] = 0;
  sum += a[h][l];
  }
}
}
for(h = 0; h < 4; h ++){
for(t = 0; t < 4; t ++){
  for(l = 3; l > 0; l --){
  if(a[h][l-1] == 0){
  a[h][l-1] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
break;
case 'd':
case 'D':
for(h = 0; h < 4; h ++){
for(t = 0; t < 4; t ++){
  for(l = 0; l < 3; l ++){
  if(a[h][l+1] == 0){
  a[h][l+1] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
for(h = 0; h < 4; h ++){
for(l = 3; l > 0; l --){
  if(a[h][l] == a[h][l-1]){
  a[h][l] += a[h][l-1];
  a[h][l-1] = 0;
  sum += a[h][l];
  }
}
}
for(h = 0; h < 4; h ++){
for(t = 0; t < 4; t ++){
  for(l = 0; l < 3; l ++){
  if(a[h][l+1] == 0){
  a[h][l+1] = a[h][l];
  a[h][l] = 0;
  }
  }
}
}
break;
case 'i':
case 'I': //存档当前游戏格局
Establish_file();//创建用于存档的文件
Write_file(p_cnt, score);//调用存档函数
break;
case 'o':
case 'O':
sum = Read_file(p_cnt);//读档
break;
case 'p':
case 'P':
exit(0);//退出程序
default:
break;
}

return sum;
}

void Move()
{
int h, l;
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
A[h][l] = a[h][l];
}
}
}

int If_move()
{
int h, l, sign = 0;
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
if(a[h][l] != A[h][l]){//未进入条件框,说明滑块没有发生移动
sign = 1;
goto out;
}
}
}
out:
return sign;
}

int Over()
{
int over = 0;
int h, l;
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
if(a[h][l] == 0){//有空格
over = 1;//游戏继续
return 1;
}
}
}
if(over == 0){//没有空格
for(h = 0; h < 3; h ++){
for(l = 0; l < 3; l ++){
if(a[h][l] == a[h][l+1]){
  over = 1;//游戏继续
  break;
}
else if(a[h][l] == a[h+1][l]){
  over = 1;//游戏继续
  break;
}
}
if(over == 1){
break;
}
}
}
return over;//游戏结束
}

void Establish_game()//创建文件
{
int h;
if(h = fopen(name_max, "wb") == NULL){ //函数fopen()返回NULL则创建文件失败
printf("\t\t创建文件失败!程序即将自动退出 . . .\n");
Sleep(3000);//睡眠3000毫秒,即停留3秒钟
exit(0); //退出程序
}
}

void Write_max(int score)//写入文件
{
/*FILE *fp是指向文件的指针*/
FILE *fp=fopen(name_max,"at+");// at+读写打开或着建立一个文本文件;允许读写。
if(fp==NULL) //函数fopen()返回NULL则创建文件失败
{
printf("\t\t保存最高分失败!程序即将自动退出 . . .");
Sleep(3000);//睡眠3000毫秒,即停留3秒钟
exit(0); //退出程序
}
else{
fprintf(fp, "%d", score);//将score的值写入*pf指向的文件内
}
fclose(fp);//关闭*pf指向的文件
}

int Read_max()//读出文件
{
int max_score = 0;
FILE *fp=fopen(name_max,"at+");// at+读写打开或着建立一个文本文件;允许读写。
if(fp==NULL)
{
printf("\t\t读取失败!程序即将自动退出 . . .");
Sleep(3000);//睡眠3000毫秒,即停留3秒钟
exit(0); //退出程序
}
else{
fscanf(fp, "%d", &max_score);//从*pf指向的文件内数值赋值给max_score
}
fclose(fp);//关闭*pf指向的文件

return max_score;//返回最高记录的值
}

void Establish_file()//创建文件
{
int h;
if(h = fopen(name_file, "wb") == NULL){ //函数fopen()返回NULL则创建文件失败
printf("\t\t创建文件失败!程序即将自动退出 . . .\n");
Sleep(3000);//睡眠3000毫秒,即停留3秒钟
exit(0); //退出程序
}
}

void Write_file(int *p_cnt, int score)
{
int h, l;
FILE *fp=fopen(name_file,"at+");// at+读写打开或着建立一个文本文件;允许读写。
if(fp==NULL)
{
printf("\t\t存档失败!程序即将自动退出 . . .\n");
Sleep(3000);//睡眠3000毫秒,即停留3秒钟
exit(0);
}
else{
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
fprintf(fp, "%d ", a[h][l]);
}
}
}
fprintf(fp, "%d ", score);
fprintf(fp, "%d ", *p_cnt-1);
printf("\t\t存档成功!游戏即将自动退出 . . .\n");
Sleep(3000); //睡眠3000毫秒,即停留3秒钟
exit(0);
fclose(fp);//关闭文件
}

int Read_file(int *p_cnt)
{
int h, l, score = 0;
FILE *fp=fopen(name_file,"at+");// at+读写打开或着建立一个文本文件;允许读写。
if(fp==NULL)
{
printf("\t\t读档失败!程序即将自动退出 . . .\n");
Sleep(3000); //睡眠3000毫秒,即停留3秒钟
exit(0);
}
else{
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
fscanf(fp, "%d ", &a[h][l]);
}
}
}
fscanf(fp, "%d ", &score);
fscanf(fp, "%d ", p_cnt);
fclose(fp); //关闭文件

return score;
}

void again()//是否继续游戏
{
printf("\t\t╔══════════════════════════════════════════════╗\n");
printf("\t\t║  您已失败  ║\n");
printf("\t\t╟──────────────────────────────────────────────╢\n");
printf("\t\t║是否继续:   ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 1 │ 扶我起来,我还能再来一局! ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t║ ┌───┐  ║\n");
printf("\t\t║ │ 2 │ 不了不了,我要学习! ║\n");
printf("\t\t║ └───┘  ║\n");
printf("\t\t╚══════════════════════════════════════════════╝\n");
if(_getch() == '1'){
system("cls");//清屏
int h, l;
for(h = 0; h < 4; h ++){
for(l = 0; l < 4; l ++){
a[h][l] = 0;
A[h][l] = 0;
}
}
Menu();//回到菜单
}
else {
printf("\t\t游戏结束!\n");
}
}

int color(int c)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
  BACKGROUND_INTENSITY |
  BACKGROUND_BLUE |
  BACKGROUND_RED |
  BACKGROUND_GREEN |
  c);
return 0;
}

void box_color(int x)
{
switch(x){
case 2:
color(8);
break;
case 4:
color(0);
break;
case 8:
color(2);
break;
case 16:
color(6);
break;
case 32:
color(10);
break;
case 64:
color(3);
break;
case 128:
color(9);
break;
case 256:
color(11);
break;
case 512:
color(5);
break;
case 1024:
color(13);
break;
case 2048:
color(12);
break;
default :
color(4);
break;
}
}

一个2048的游戏,效果不好,不过能玩,哈哈哈

5#
发表于 2018-8-14 21:16:32 | 只看该作者
code004 发表于 2018-8-3 11:58
然后最近在做的一个更好玩。。。也不能成为游戏吧
代码被我吃了,只给你程序

不行啊缺少VCRUNTIME140D.dell和ucrtbased.dll,无法运行
6#
发表于 2018-8-22 17:20:59 | 只看该作者
迷宫游戏
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main()
{
    system("color 02");
        char a[50][50]={"                                                ",
                    "                     ###########################",
                    "                     #O    !    ###       $#   #",
                    "                     #  #####        ## $ !# ##!#",
                    "                     # ##     #### # # %       $#",
                    "                     #    ###!#    # ! ##      #",
                    "                     # !#!   ## ####  ##  #### #",      
                    "                     ## #  #  #  #  ! #    ! # #",                 
                    "                     ## #  ##   ####    ####  $#",
                    "                     #!      ####    ##        #",                 
                    "                     ####  #    !  #### ########",               
                    "                     ! ####  # ##     #      # #",            
                    "                     #      ## #  ###  ##     #",      
                    "                     # ###   !   #  ###    ## $#",
                    "                     ###########################",
                    };
                    {
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                                                     \n");
    printf("                         飞一般地加载中...           \n");
    Sleep(3000);

                    }
    int n,i,x,y,p,q;                                                      
    char ch;
    n=60;
    printf("你是一名探险家,为了的找到宝藏$\n,你必须越过栅栏#和危险区域!\n注意:路上一片漆黑\n看完地图再开始,不然你会后悔的");
    x=2; y=22; p=1; q=45;

    for(i=0;i<=20;i++)
                puts(a[i]);
    while(x!=p || y!=q)
    {
                ch=getch();
      if(ch=='s')
      {
                  if(a[x+1][y]!='#')
          if(a[x+1][y]!='!')
          {
              a[x][y]=' ';
              x++;
              a[x][y]='O';
          }
      }

      if(ch=='w')
      {
                  if(a[x-1][y]!='#')
          if(a[x-1][y]!='!')
          {
                          a[x][y]=' ';
              x--;
              a[x][y]='O';
          }
      }

      if(ch=='a')
      {
          if(a[x][y-1]!='#')
          if(a[x][y-1]!='!')
          {
              a[x][y]=' ';
              y--;
              a[x][y]='O';
          }
      }

      if(ch=='d')
      {
          if(a[x][y+1]!='#')
          if(a[x][y+1]!='!')
          {
              a[x][y]=' ';
              y++;
              a[x][y]='O';
          }
      }

      for(i=0;i<=20;i++)
    puts(a[i]);



    }
}

7#
发表于 2018-8-22 19:42:31 | 只看该作者
三阳路_吕治材 发表于 2018-8-5 16:10
为 什 么 评 论 一 定 要 凑 够 二 十 个 字 呀

打空格                                       

8#
发表于 2018-8-22 19:44:10 | 只看该作者
本帖最后由 theAFKhacker 于 2018-8-22 19:54 编辑

我有https:/【神】/pan.baid【防】u.com/s/1W【之】NgT70iGj【补】xO5oOqmA7b4bw[/url]
密码?先给啊哈币。首卖,最便宜的了,只要5个币(正常要一元)
9#
发表于 2019-1-13 20:36:42 | 只看该作者
code004 发表于 2018-8-3 11:55
C/C++的游戏的话。。。

代码都在里面,密码请在GSCG论坛(gscggame.66rt.com)上私信gscg

发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码发密码!
10#
发表于 2019-3-7 12:03:18 | 只看该作者
kankan
#include<stdlib.h>
#include<stdio.h>
#include<time.h>       //suiji        
#include<string.h>
#include<windows.h>          //SLEEP函数
struct Player                        //玩家结构体,并初始化player
{
     char name[21];
     int attack;
     int defense;
     int health;
     long int max_health;
     int level;
     int exp;
     int range_exp;
     long int max_exp;
}player={"勇者",50,40,100,100,1,0,0,100};
struct Enemy                         //怪的结构体,并初始化各种怪
{
     char name[20];
     char wupin[12];
     int attack;
     int defense;
     int health;
     int money;
     long int exp;
     int wupin_sign;
     int wupinpro;
     int double_attack;
     int miss;
}strongman={"哥斯拉","哥斯拉套",40,50,350,200,100,1,2,1,0},
witch={"使徒 Alex","银甲",25,15,100,50,50,2,2,1,1},
xiyi={"蝎子","铁甲",18,10,50,30,35,3,3,2,2},
big_strongman={"钢铁哥斯拉","火焰之心",40*5,50*5,350*5,200*5,100*5,4,4,2,0},
lion={"组合怪","最终的剑",60,30,280,200,100,5,2,1,0},
horse={"末影龙","极限剑",28,12,90,50,50,6,2,1,1},
bee={"大黄蜂","石剑",17,11,60,30,35,7,3,2,2},
shitu={"国王基多拉","\0",60*8,30*8,280*8,200*8,100*8,9,1,1,0},
guai={"\0","\0",0,0,0,0,0,0,0,0,0};
     struct Place
     {
       int bar,hotel,forest1,forest2,forest3,grass1,grass2,grass3;
     }place={1,2,3,4,5,6,7,8};

    int max_exp=0;
     int choose_number=0,s=0,strongman_arm=0,battle=0,money=100000,place_sign=9;
     int cao=100,jijiubao=100,baiyao=100,superbaiyao=100,boom=100,dubiao=100,atom_boom=100;
     int fang=0,fang1=10,fang1n=0,fang2=20,fang2n=0,fang3=40,fang3n=0,fang4=100,fang4n=0;
     int gong=0,gong1=8,gong1n=0,gong2=15,gong2n=0,gong3=25,gong3n=0,gong4=60,gong4n=0;
     char gongname[20]="无",fangname[20]="无";
     char proof;

    void AddWupin(int);
     int AttackResult();
     void BattleAct();
     void ChooseWupin();
     void DisplayState();
     void OrdinaryAct();   
    int SuiJi();
     int SuiJi100();
     void WhetherLevelUp();
     void SlowDisplay(char *);   
int main()
{
     
    int i=0,j=0,k=0;
     char player_name[21];
       SlowDisplay("这是一个勇者的世界! 我的世界的小本被天骐绑架了!\n\n 伟大的勇者啊~拿起你们的武器,营救小本吧!\n\n\n输入你的名字:   (20个字符)\n\n\n");
         
         //    sndPlaySound("res\\F005.wav",SND_LOOP);
     scanf("%s",player_name);   
    strncpy(player.name,player_name,20);
     if(strcmp(player.name,"EVA初号机")==0)
     {
         SlowDisplay("封印多年的 EVA初号机 啊!你终于可以重见天日了!\n\n\n EVA初号机 重新启动...      随即...     暴走!!!\n\n\n");
         player.attack=999;
         player.defense=999;
         player.health=9999;
         player.max_health=9999;
     }   
    getchar();

    OrdinaryAct();
     return 0;
}

    int SuiJi()
{
     srand((unsigned)time(NULL));
     return rand()%10;
}

    int SuiJi100()
{
     srand((unsigned)time(NULL));
     return rand()%100;
}

    void ChooseWupin()                         //选择物品 并使用
{
     printf("物品: 1,生羊肉%d个 2,熟牛肉%d个 3,金苹果%d个 4,附魔金苹果%d个 5,手雷%d个 6,原子弹%d个 7,手抛式氢弹%d个 0,返回\n\n\n",cao,jijiubao,baiyao,superbaiyao,boom,dubiao,atom_boom);
     switch(scanf("%d",&choose_number),choose_number)
     {
     case 1:
         if(cao>0)
         {
             SlowDisplay("使用生羊肉,HP增加30\n\n\n");
             cao--;
             if(player.health+30>player.max_health)player.health=player.max_health;
             else player.health+=30;
         }
         else SlowDisplay("没有生羊肉了\n\n\n");
         break;
     case 2:
         if(jijiubao>0)
         {
             SlowDisplay("使用熟牛肉,HP增加60\n\n\n");
             jijiubao--;
             if(player.health+60>player.max_health)player.health=player.max_health;
             else player.health+=60;
         }
         else SlowDisplay("没有熟牛肉了\n\n\n");
         break;
     case 3:
         if(baiyao>0)
         {
             SlowDisplay("使用金苹果,HP增加200\n\n\n");
             baiyao--;
             if(player.health+200>player.max_health)player.health=player.max_health;
             else player.health+=200;
         }
         else SlowDisplay("没有金苹果了\n\n\n");
         break;
     case 4:
         if(superbaiyao>0)
         {
             SlowDisplay("使用附魔金苹果,HP增加500\n\n\n");
             superbaiyao--;
             if(player.health+500>player.max_health)player.health=player.max_health;
             else player.health+=500;
         }
         else SlowDisplay("没有附魔金苹果了\n\n\n");
         break;
     case 5:
         if(battle)                   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
         {
             if(boom>0)
             {
             SlowDisplay("使用手雷,敌人HP减少300\n\n\n");
             boom--;
             guai.health-=300;
             AttackResult();
             }
         }
         else SlowDisplay("非战斗状态,不能使用手雷!\n\n\n");
         break;
     case 6:
         if(battle)                   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
         {
             if(dubiao>0)
             {
             SlowDisplay("使用原子弹,敌人HP减少1000\n\n\n");
             dubiao--;
             guai.health-=1000;
             AttackResult();
             }
         }
         else SlowDisplay("非战斗状态,不能使用原子弹!\n\n\n");
         break;
     case 7:
         if(battle)                   //在战斗中(battle=1),否则(battle=0)不能使用攻击性物品
         {
             if(atom_boom>0)
             {
             SlowDisplay("使用手抛式氢弹,敌人HP减少2000\n\n\n");
             atom_boom--;
             guai.health-=2000;
             AttackResult();
             }
         }
         else SlowDisplay("非战斗状态,不能使用手抛式氢弹!\n\n\n");
         break;
     case 0:break;
     default:printf("ChooseWupin error!\n\n\n");
     }
}
     int AttackResult()                      //攻击结果:判断是否获胜 是否获得物品 和 是否升级
{
     if(guai.health<=0)
     {
         battle=0;
         printf("战斗胜利!获得金币%d,经验%d\n\n\n",guai.money,guai.exp);
         player.exp+=guai.exp;
         player.range_exp+=guai.exp;
         money+=guai.money;
         s=SuiJi();
         if(s<guai.wupinpro)
         {
             SlowDisplay("从敌人尸骸中发现");
             printf("%s\n\n\n",guai.wupin);
             AddWupin(guai.wupin_sign);
         }
         WhetherLevelUp();
         if(strcmp(guai.name,"国王基多拉")==0)
         {
             puts("战斗胜利,救出小本!!!");
             getchar();
             getchar();
             exit(0);
         }
         return 1;                 //攻击有结果了返回1,否则返回0,用于判断是否继续做战斗行为
     }
     else
    {
         int s=SuiJi();
         
         
         if((guai.attack+s-player.defense/3)<0)
         {
             player.health-=1;
             printf("%s反击,你的HP减少了 1\n\n",guai.name);
         }
         else
         {
             player.health-=guai.attack+s-player.defense/3;
             printf("%s反击,你的HP减少了%d\n\n",guai.name,guai.attack+s-player.defense/3);
         }
         if(player.health<0)
         {
             battle=0;
             printf("%s战死!金币掉落%d\n\n\n",player.name,player.level*500);
             money-=player.level*500;
             player.health=player.max_health/5;
             OrdinaryAct();//////////
             return 1;
         }
     }
     return 0;
}
     void AddWupin(int wupin_sign)
     {
         
         switch(wupin_sign)
         {
         case 1:fang4n++;        break;
         case 2:fang3n++;        break;
         case 3:fang2n++;        break;
         case 4:strongman_arm=1;break;
         case 5:gong4n++;        break;
         case 6:gong3n++;        break;
         case 7:gong2n++;        break;
         default:printf("AddWupin error\n\n\n");
         }
      
     }
     void WhetherLevelUp()
     {
         int i=0,j=0;
         int l1=player.range_exp/100;
         int l2=player.range_exp/300;
         int l3=player.range_exp/600;
         if(player.level<=15&&l1>0)                     //15级以下,经验足够 都满足则升级
         {
             if(l1==1)
             {
                 printf("%s",player.name);
                 SlowDisplay("   升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3;
                 player.defense+=2;
                 player.max_health+=20;
                 player.health=player.max_health;
                 player.level++;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=100;
             }
             else
             {
                 printf("好厉害!连升%d级!",l1);
                 printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l1,2*l1,20*l1);
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3*l1;
                 player.defense+=2*l1;
                 player.max_health+=20*l1;
                 player.health=player.max_health;
                 player.level+=l1;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=100*l1;
             }
         }
         else if(player.level<=40&&l2>0)
         {
             if(l2==1)
             {
                 printf("%s",player.name);
                 SlowDisplay("   升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3;
                 player.defense+=2;
                 player.max_health+=20;
                 player.health=player.max_health;
                 player.level++;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=300;
             }
             else
             {
                 printf("好厉害!连升%d级!",l1);
                 printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l2,2*l2,20*l2);
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3*l2;
                 player.defense+=2*l2;
                 player.max_health+=20*l2;
                 player.health=player.max_health;
                 player.level+=l2;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=300*l2;
             }
         }
         else if(l3>0)
         {
             if(l3==1)
             {
                 printf("%s",player.name);
                 SlowDisplay("   升级!\n\n\n攻击力+3, 防御力+2, HP上限+20\n\n\n");
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3;
                 player.defense+=2;
                 player.max_health+=20;
                 player.health=player.max_health;
                 player.level++;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=600;
             }
             else
             {
                 printf("好厉害!连升%d级!",l1);
                 printf("攻击力+%d, 防御力+%d, HP上限+%d\n\n\n",3*l3,2*l3,20*l3);
                 player.exp=player.exp+guai.exp-(player.exp+guai.exp)%100;
                 player.attack+=3*l3;
                 player.defense+=2*l3;
                 player.max_health+=20*l3;
                 player.health=player.max_health;
                 player.level+=l3;
                 player.range_exp=0;
                 player.exp=player.max_exp;
                 player.max_exp+=600*l3;
             }
         }
     }
     void OrdinaryAct()                    //正常行为菜单(移动,物品,对话,查看状态,装备,退出游戏)
     {
         
         while(1)
         {
//            \(1000);
//            system("cls");
             puts("=============================================================================");
             printf("要做什么?\n\n\n   1,移动  2,道具  3,对话  4,查看状态  5,装备  0,退出游戏\n\n\n");
             puts("=============================================================================");
         switch(scanf("%d",&choose_number),choose_number)
         {
        case 1:                                    //显示移动菜单
             SlowDisplay("要去哪里?\n\n\n");
             printf("1,酒吧 2,旅馆 3,平地 4,沙滩 5,海里 6,地狱 7,末地 8,天岛\n\n\n");
             switch(scanf("%d",&choose_number),choose_number)
             {
             case 1:place_sign=place.bar;                        //记录目前位置-酒吧
         //           OrdinaryAct();
                    break;
             case 2:place_sign=place.hotel;                      //进入旅店
                    SlowDisplay("要住店吗? 200个金币 1,是  0,否\n\n\n");
                    choose_number=1;
                    switch(scanf("%d",&choose_number),choose_number)
                    {
                    case 1:if(money-200<0)                       //判断钱是否够
                             {
                                 SlowDisplay("Sorry,你的钱不够~\n\n\n");        
                             }
                             else
                            {
                                 SlowDisplay("好好休息\n\tHP满\n\t\t第二天了\n\n");
                                 money-=200;                         //花费200住店费
                                 player.health=player.max_health;    //体力满
                             }
                             break;
                    case 0:SlowDisplay("下次再来!\n\n\n");break;
                    default:printf("hotel talk error!\n\n\n");
                    }
                    place_sign=0;
                    break;
             case 3:
                 place_sign=place.forest1;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=xiyi;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;
                     guai=witch;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                     //不用调用OAct函数,会自动执行OAct函数;
                 }
                 break;
             case 4:
                 place_sign=place.forest2;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=witch;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;
                     guai=strongman;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                 }
                 break;
             case 5:
                 place_sign=place.forest3;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=strongman;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;
                     guai=big_strongman;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                 }
                 break;
             case 6:
                 place_sign=place.grass1;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=bee;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;
                     guai=horse;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                 }
                 break;
             case 7:
                 place_sign=place.grass2;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=horse;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;
                     guai=lion;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                 }
                 break;
             case 8:
                 place_sign=place.grass3;
                 s=SuiJi();   
                if(s<7)
                 {
                     battle=1;
                     guai=lion;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                 }
                 else if(s<9)
                 {
                     battle=1;                    
                     if(strongman_arm)
                     {
                         SlowDisplay("天骐的叛徒:\n\n\n    哈哈,年轻人,做的不错,不过...嘿嘿,你上当啦!火焰之心我要了,小本你也别想带走!\n\n\n");
                         guai=shitu;
                     printf("%s扑了过来!\n\n\n",guai.name);
                     BattleAct();
                     }
                     else SlowDisplay("天骐的叛徒:\n\n\n    年轻人,你好啊.如果你有火焰之心,我可以告诉你小本的下落哦~\n\n\n");
                 }
                 else
                 {
                     SlowDisplay("这里安全\n\n\n");
                 }
                 break;
             default:printf("choose map error!\n\n\n");
             }
             break;
         case 2:   ChooseWupin();break;              //显示道具,并可以使用.
         case 3:                                               //对话选项
             if(place_sign==place.bar)
            {
                 SlowDisplay("要和谁说话?\n\n\n1,女朋友 2,猎人 3,酒吧老板\n\n\n");     //显示对话人物
                switch(scanf("%d",&choose_number),choose_number)
                {
                case 1:
                    SlowDisplay("女朋友:\n\n\n    吧台边那个Hunter好帅啊!(~脸红~)\n\n\n听说他经常外出打猎,外面的路他应该很熟悉的!\n\n\n");
                    break;
                case 2:
                    if(fang1n<1&&gong1n<1)
                    {
                        SlowDisplay("猎人:\n\n\n    你要救小本啊!好胆量!\n\n\n    不过外面的世界很险恶,而且越深越危险,这是匕首和布衣,对你会有些帮助的,拿去吧!\n\n\n");
                        printf("%s心想哇,这位大叔人真好啊!\n\n\n)",player.name);
                        gong1n++;
                        fang1n++;
                    }
                    else SlowDisplay("赏金猎人:\n\n\n    加油吧,年轻人!\n\n\n    不要被外面丛林和草原所吓倒!\n\n\n");
                    break;
                case 3:
                    printf("要喝点什么?\n\n\n    1,火锅25金币 HP+20  2,XO酒80金币 HP+50  3,牛肉汤面150金币 HP+100  0,返回\n\n\n");
                    choose_number=1;
                    while(choose_number)
                    {
                         switch(scanf("%d",&choose_number),choose_number)
                         {
                         case 1:if(money<25)
                                {
                                  SlowDisplay("钱不够!");                              
                                }
                                else
                                {
                                  if(player.health+20<=player.max_health)
                                  {
                                      SlowDisplay("HP+20.");
                                      money-=25;
                                      player.health+=20;
                                  }
                                  else
                                  {
                                      SlowDisplay("HP满了");                                    
                                      player.health=player.max_health;
                                  }
                                }
                                break;
                         case 2:if(money<80)
                                {
                                  SlowDisplay("钱不够!");                              
                                }
                                else
                                {
                                  if(player.health+50<=player.max_health)
                                  {
                                      SlowDisplay("HP+50.");
                                      money-=80;
                                      player.health+=50;
                                  }
                                  else
                                  {
                                      SlowDisplay("HP满了");                                    
                                      player.health=player.max_health;
                                  }
                                }
                                break;
                         case 3:if(money<150)
                                {
                                  SlowDisplay("钱不够!");                              
                                }
                                else
                                {
                                  if(player.health+100<=player.max_health)
                                  {
                                      SlowDisplay("HP+100.");
                                      money-=150;
                                      player.health+=100;
                                  }
                                  else
                                  {
                                      SlowDisplay("HP满了");                                    
                                      player.health=player.max_health;
                                  }
                                }
                                break;
                         case 0:SlowDisplay("下次在来!\n");break;
                         default:SlowDisplay("输入错误\n\n\n");
                         }
                    }
                }
             }
             else if(place_sign==place.hotel)
                     SlowDisplay("“老板娘!我...”\n\n\n“我忙着呢,没空理你~”\n\n\n");
             else SlowDisplay("这里好像没人可以聊天\n\n\n");
             break;
         case 4:   DisplayState(); break;             //显示状态
         case 5:                                 //装备
             printf("攻装: 1,匕首:%d个 2,铁剑:%d个 3,极限剑:%d个 4,最终的剑:%d个\n\n\n",gong1n,gong2n,gong3n,gong4n);
             printf("防装: 5,布衣:%d个 6,铁甲:%d个 7,银甲:%d个   8,哥斯拉套:%d个\t\t0,返回\n\n\n",fang1n,fang2n,fang3n,fang4n);
             SlowDisplay("选择要装备的武器或防具:\n\n\n");
             switch(scanf("%d",&choose_number),choose_number)
             {
             case 1:if(gong1n>=1)
                    {
                        SlowDisplay("拿起了匕首\n\n\n");
                        gong=gong1;
                        strcpy(gongname,"匕首");
                    }
                    else SlowDisplay("你没有匕首可以装备\n\n\n");
                    break;
             case 2:if(gong2n>=1)
                    {
                        SlowDisplay("拿起了铁剑\n\n\n");
                        gong=gong2;
                        strcpy(gongname,"铁剑");
                    }
                    else SlowDisplay("你没有铁剑可以装备\n\n\n");
                    break;
             case 3:if(gong3n>=1)
                    {
                        SlowDisplay("拿起了极限剑\n\n\n");
                        gong=gong3;
                        strcpy(gongname,"极限剑");
                    }
                    else SlowDisplay("你没有极限剑可以装备\n\n\n");
                    break;
             case 4:if(gong4n>=1)
                    {
                        SlowDisplay("拿起了最终的剑\n\n\n");
                        gong=gong4;
                        strcpy(gongname,"最终的剑");
                    }
                    else SlowDisplay("你没有最终的剑可以装备\n\n\n");
                    break;
             case 5:if(fang1n>=1)
                    {
                        SlowDisplay("穿上了布衣\n\n\n");
                        fang=fang1;
                        strcpy(fangname,"布衣");
                    }
                    else SlowDisplay("你没有布衣可以装备\n\n\n");
                    break;
             case 6:if(fang2>=1)
                    {
                        SlowDisplay("穿上了铁甲\n\n\n");
                        fang=fang2;
                        strcpy(fangname,"铁甲");
                    }
                    else SlowDisplay("你没有铁甲可以装备\n\n\n");
                    break;
             case 7:if(fang3n>=1)
                    {
                        SlowDisplay("穿上了银甲\n\n\n");
                        fang=fang3;
                        strcpy(fangname,"银甲");
                    }
                    else SlowDisplay("你没有银甲可以装备\n\n\n");
                    break;
             case 8:if(fang4n>=1)
                    {
                        SlowDisplay("穿上了哥斯拉套\n\n\n");
                        fang=fang4;
                        strcpy(fangname,"哥斯拉套");
                    }
                    else SlowDisplay("你没有哥斯拉套可以装备\n\n\n");
                    break;
             case 0:SlowDisplay("未更换装备\n\n\n");break;
             default:printf("change error!");
             }
             break;
         case 0:
            SlowDisplay("确定推出游戏?(Y/N)\n\n\n");
             getchar();
             proof=getchar();
             if(proof=='y'||proof=='Y')
             {
                 SlowDisplay("数据存储中...");
                 //向文件中更新数据;
                 getchar();
                 SlowDisplay("按回车退出");
                 getchar();
                 return;
             }
             else if(proof=='n'||proof=='N')printf("继续游戏!\n\n\n");
             else SlowDisplay("继续!\n\n\n");
             break;
         default:SlowDisplay("输入错误!\n\n\n");
         }
     }
     }
     void DisplayState()
     {
         printf("%s 攻击力:%d+%d=%d  防御力:%d+%d=%d  HP:%d/%d \n\n\n",player.name,player.attack,gong,player.attack+gong,player.defense,fang,player.defense+fang,player.health,player.max_health);
         printf("武器: %s 防具: %s \n\n\n",gongname,fangname);
         printf("等级:%d  经验:%d/%d 还需要%d经验升级 金币:%d \n\n\n",player.level,player.exp,player.max_exp,player.max_exp-player.exp,money);
     }
     void BattleAct()
     {
         while(1)
         {
             puts("=============================================================================");
             printf("要怎么办?\n\n\n    1,攻击 2,物品 3,查看状态 4,逃跑\n\n\n");
             switch(scanf("%d",&choose_number),choose_number)
             {
             case 1:
                 s=SuiJi();
                 printf("%s攻击! %sHP减少%d\n\n\n",player.name,guai.name,player.attack+s+gong-guai.defense/3);
                 guai.health-=player.attack+s+gong-guai.defense/3;
                 if(AttackResult())return;            //如果攻击有结果(敌人或玩家战死)退出函数
                 else continue;
            case 2: ChooseWupin();break;             //选择物品,可以使用,战斗中允许使用攻击性物品
             case 3: DisplayState();break;             //显示状态
             case 4:
                 s=SuiJi();
                 if(s<4)                               //40%的概率可以逃跑
                 {
                     printf("%s逃跑了~\n\n\n",player.name);
                     battle=0;
                     return;
                 }
                 else printf("%s逃跑失败!\n\n\n",player.name);
                 break;
             default:SlowDisplay("输入错误,重新输入!\n\n\n");
             }
         }
     }
     void SlowDisplay(char *p)
     {
         while(1)
         {
             if(*p!=0)
                 printf("%c",*p++);
             else
                break;
             Sleep(100);
         }
     }
11#
发表于 2019-7-28 17:58:00 | 只看该作者
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
using namespace std;
int t,nl,dl,Money,Moo,Dao,Yi,Shan,Qing,Hu;
int Biao,Biaob,Bao=1,Baob,Baod=1,Baodb,Hub,Fengb,Sha,Jian,Shab,Jianb;
int X[10];
bool Daob,Yib,Shanb,Qingb,Hubb;
struct node {int Zhong,Xue,Bing,Hui,Du;} N[100001],D[100001];
void Yan(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);
}
void Bai() {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);}
void Cout(int x,int a)
{
    Yan(a);int k;
    if(x==1) {if(a==0) cout<<"城墙";if(a==1) cout<<"加农炮";if(a==2) cout<<"重机枪";if(a==3) cout<<"迫击炮";if(a==4) cout<<"喷火器";if(a==5) cout<<"火箭炮";if(a>=6) cout<<"电磁炮";}
    if(x==2)
    {
        if(a==1) cout<<"步兵",Money+=20,k=20;if(a==2) cout<<"骑兵",Money+=30,k=30;if(a==3) cout<<"炮兵",Money+=30,k=30;if(a==4) cout<<"药兵",Money+=30,k=30;if(a==6||a==7) cout<<"炮灰",Money+=10,k=10;if(a==5) cout<<"坦克",Money+=50,k=50;
        if(a==8) Yan(3),cout<<"金刚机甲",Money+=100;if(a==9) Yan(1),cout<<"寒冰机甲",Money+=100;if(a==10) Yan(2),cout<<"木毒机甲",Money+=100;if(a==11) Yan(3),cout<<"飓风机甲",Money+=100;if(a==12) Yan(4),cout<<"烈焰机甲",Money+=100;if(a>=8) k=100;
    }
    Yan(4);Sleep(200),cout<<"......爆!!!";
    if(x==2) Yan(5),cout<<"掉落"<<k<<"金币!";cout<<endl<<endl,Sha++;
    if(Sha%20==0&&Shab<Sha) Yan(5),cout<<"成就:杀死"<<Sha<<"个敌人,完成!加30金币!"<<endl<<endl,Sleep(500),Bai(),Money+=30,Shab=Sha;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Bai();
}
void War()
{
    int zn=0,zd=0;if(nl-5>0) zn=nl%5;if(dl-5>0) zd=dl%5;cout<<"┌";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┐"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=1;i<=5;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=1;i<=5;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    if(zn>0||zd>0)
    {
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) cout<<"    ";
    for(int i=5+zn;i>5;i--)
    {
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=6;i<=10;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) {cout<<"    ";continue;}
    for(int i=5+zn;i>5;i--)
    {
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=6;i<=10;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    }
    cout<<" ┆"<<endl<<"└";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┘"<<endl;
    Sleep(500);
}
void Ju(int a)
{
    Sleep(1000);system("cls");Bai();
    if(a==0)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆导弹:               ┆"<<endl;
        cout<<"┆攻击力:300          ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==1)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆医疗包:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆攻击力:-30*5(回血)┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==2)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆闪光弹:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆效果:使一个指定敌人 ┆"<<endl;
        cout<<"┆    停止攻击,并使所 ┆"<<endl;
        cout<<"┆    有炮塔攻击该敌人.┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==3)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆狂暴血清:           ┆"<<endl;
        cout<<"┆目标:所有炮塔       ┆"<<endl;
        cout<<"┆效果:使炮塔攻击2次  ┆"<<endl;
        cout<<"┆持续时间:2回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==4)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆无敌护罩:           ┆"<<endl;
        cout<<"┆效果:使所有炮塔无敌 ┆"<<endl;
        cout<<"┆持续时间:3回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    Sleep(1000);system("pause");system("cls");
}
void Die(int m)
{
    if(D[m].Xue<=0)
    {
        if(Biao==m) Biao=0;
        if(D[m].Zhong>=8) Moo=0;
        Cout(2,D[m].Zhong);
        for(int i=m;i<dl;i++)
        {
            if(Biao==i) Biao--;
            D[i].Xue=D[i+1].Xue;
            D[i].Zhong=D[i+1].Zhong;
            D[i].Bing=D[i+1].Bing;
        }
        D[dl].Xue=0,D[dl].Zhong=0,D[dl].Bing=0;dl--;
        int a=rand()%10;
        if(a==0&&t<1000)
        {
            Yan(4);
            cout<<"从敌人尸体中发现道具——"; Sleep(500);
            int b=rand()%5;
            if(b==0) {cout<<"导弹!"<<endl<<endl,Dao++;Sleep(2000);if(Daob==0) Ju(0);Daob=1;}
            if(b==1) {cout<<"医疗包!"<<endl<<endl,Yi++;Sleep(2000);if(Yib==0) Ju(1);Yib=1;}
            if(b==2) {cout<<"闪光弹!"<<endl<<endl,Shan++;Sleep(2000);if(Shanb==0) Ju(2);Shanb=1;}
            if(b==3) {cout<<"狂暴血清!"<<endl<<endl,Qing++;Sleep(2000);if(Qingb==0) Ju(3);Qingb=1;}
            if(b==4) {cout<<"无敌护罩!"<<endl<<endl,Hu++;Sleep(2000);if(Hubb==0) Ju(4);Hubb=1;}
            Bai();War();
        }
    }
}
void DieN(int m)
{
    if(N[m].Xue<=0)
    {
        Cout(1,N[m].Zhong);
        for(int i=m;i<nl;i++)
        {
            N[i].Xue=N[i+1].Xue;
            N[i].Zhong=N[i+1].Zhong;
            N[i].Bing=N[i+1].Bing;
            N[i].Hui=N[i+1].Hui;
        }
        N[nl].Xue=0,N[nl].Zhong=0,N[nl].Bing=0,N[nl].Hui=0;nl--;
    }
}
void Zao(int a)
{
    if((a==1&&Money<100)||(a==2&&(Money<120||X[2]>=5))||(a==3&&(Money<150||X[3]>=5))||(a==4&&(Money<200||X[4]>=3))||(a==5&&(Money<250||X[0]>0))||(a==6&&(Money<270||X[6]+X[7]+X[8]>=2))||(a==7&&(Money<300||X[5]>=3)))
    {Yan(3),cout<<endl<<"无效输入。",Bai( );Sleep(500);return;}nl++;
    if(a==1) N[nl].Xue=100,N[nl].Zhong=1,Money-=100;
    if(a==2) N[nl].Xue=80,N[nl].Zhong=2,Money-=120;
    if(a==3) N[nl].Xue=150,N[nl].Zhong=3,Money-=150;
    if(a==4) N[nl].Xue=200,N[nl].Zhong=4,Money-=200;
    if(a==5){N[nl].Xue=N[nl].Zhong=0,Money-=250;for(int i=nl;i>0;i--) swap(N[i],N[i-1]);N[1].Xue=500;}
    if(a==6) N[nl].Xue=400,N[nl].Zhong=6,Money-=270;
    if(a==7) N[nl].Xue=300,N[nl].Zhong=5,Money-=300;
    Yan(5);cout<<endl<<"建造成功!"<<endl<<endl;Sleep(500);cout<<"你的金币数量:"<<Money;Bai();Jian++;
    if(Jian%10==0&&Jianb<Jian) Yan(5),cout<<endl<<endl<<"成就:建造"<<Jian<<"个炮塔,完成!加30金币!",Sleep(500),Bai(),Money+=30,Jianb=Jian;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
}
void ZaoN(int a)
{
    dl++;
    if(a==1) D[dl].Xue=50,D[dl].Zhong=1;
    if(a==2) D[dl].Xue=100,D[dl].Zhong=2;
    if(a==3) D[dl].Xue=30,D[dl].Zhong=3;
    if(a==4) D[dl].Xue=100,D[dl].Zhong=4;
    if(a==5) D[dl].Xue=200,D[dl].Zhong=5;
    if(a==6) D[dl].Xue=10,D[dl].Zhong=6;
    if(a>=8) D[dl].Xue=1000,D[dl].Zhong=a;
}
void Yong(int a)
{
    int b;
    if(a==0) return;
    if((a==1&&Dao==0)||(a==2&&Yi==0)||(a==3&&Shan==0)||(a==4&&Qing==0)||(a==5&&Hu==0)) {cout<<"无效输入。"<<endl;Sleep(500);return;}
    if(a==1)
    {
        cout<<endl<<"导弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"导弹发射!命中目标!"<<endl<<endl;Bai(),D[b].Xue-=300;Die(b),Bai(),Dao--; return;
    }
    if(a==2)
    {
        cout<<endl<<"医疗包随时准备空投!";Sleep(500);cout<<"目标是第几个炮塔?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>nl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"医疗包开始医疗!"<<endl<<endl;Bai(),N[nl-b+1].Hui+=5,Bai(),Yi--; return;
    }
    if(a==3)
    {
        cout<<endl<<"闪光弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"闪光弹发射!命中目标!"<<endl<<endl;Bai(),Biao=b,D[b].Bing+=5,Biaob+=5,Shan--; return;
    }
    if(a==4) cout<<endl<<"狂暴血清爆发!"<<endl<<endl,Bai(),Baob+=2,Bai(),Qing--;
    if(a==5) cout<<endl<<"无敌护罩开启!"<<endl<<endl,Bai(),Hub+=3,Bai(),Hu--;
}
void Mo()
{
    int x=rand()%5;
    if(x==0)
    {
        Yan(5);
        cout<<"金刚机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆金刚机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——扫射:           ┆"<<endl;
        cout<<"┆     攻击力:40*n            ┆"<<endl;
        cout<<"┆     目标:所有炮塔          ┆"<<endl;
        cout<<"┆攻击力:200                  ┆"<<endl;
        cout<<"┆目标:第一个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(5);cout<<"金";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(8);
    }
    if(x==1)
    {
        Yan(1);
        cout<<"寒冰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆寒冰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——冰冻:           ┆"<<endl;
        cout<<"┆   攻击力:30                ┆"<<endl;
        cout<<"┆   效果:冰冻任意一个炮塔    ┆"<<endl;
        cout<<"┆     持续时间:3回合         ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(1);cout<<"冰";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(9);
    }
    if(x==2)
    {
        Yan(2);                        
        cout<<"木毒机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆木毒机甲:                   ┆"<<endl;                                                                     
        cout<<"┆特殊技能——狂毒:           ┆"<<endl;
        cout<<"┆   效果:使每个敌人攻击2次   ┆"<<endl;
        cout<<"┆   持续时间:2回合           ┆"<<endl;
        cout<<"┆攻击力:10*4                 ┆"<<endl;
        cout<<"┆目标:所有炮塔               ┆"<<endl;
        cout<<"┆持续时间:4回合              ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(2);cout<<"毒";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);                       
        system("pause");system("cls");
        ZaoN(10);
    }
    if(x==3)
    {
        Yan(3);
        cout<<"飓风机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆飓风机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——幻风:           ┆"<<endl;
        cout<<"┆   攻击力:50*2(对炮塔)    ┆"<<endl;
        cout<<"┆   效果:调换2个单位的位置   ┆"<<endl;
        cout<<"┆   目标:任意2个炮塔或敌人   ┆"<<endl;
        cout<<"┆攻击力:30%*该炮塔血量       ┆"<<endl;
        cout<<"┆目标:前三个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(3);cout<<"风";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(11);
    }
    if(x==4)
    {
        Yan(4);
        cout<<"烈焰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆烈焰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——火球:           ┆"<<endl;
        cout<<"┆   攻击力:30*5              ┆"<<endl;
        cout<<"┆   目标:任意五个炮塔        ┆"<<endl;
        cout<<"┆攻击力:40+30+20+10+5        ┆"<<endl;
        cout<<"┆目标:前五个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(4);cout<<"火";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(12);
    }
    Moo=1;
}
void Mai(int x)
{
    char a;
    if(x==0) Money+=10,Yan(5),Sleep(500),cout<<"你的金币+10。"<<endl<<endl,Bai();
    if(x==1) Money+=30,Yan(3),Sleep(500),cout<<"机甲临城,",Yan(5),cout<<"你的金币+30。"<<Money<<endl<<endl,Bai();
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
    y:
    while(Money>=100)
    {
        memset(X,0,sizeof(X));
        for(int i=1;i<=nl;i++) X[N[i].Zhong]++;
        if(Money>=100) cout<<"你现在可以购买:1.加农炮  ";if(Money>=120&&X[2]<5) cout<<"2.重机枪  ";if(Money>=150&&X[3]<5) cout<<"3.迫击炮  ";if(Money>=200&&X[4]<3) cout<<"4.喷火器  ";
        if(Money>=250&&X[0]==0) cout<<"5.城墙  ";if(Money>=270&&X[6]+X[7]+X[8]<2) cout<<"6.电磁炮  ";if(Money>=300&&X[5]<3) cout<<"7.火箭炮";
        if(Money>=100)
        {
            cout<<endl<<endl<<"---你想购买什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'7') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Zao(a-'0');cout<<endl<<endl;Bai();War();
            goto y;
            Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
        }
    }cout<<endl;
    z:
    while(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
    {
        War();
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0) cout<<"你现在可以使用:"; if(Dao>0) cout<<"1.导弹("<<Dao<<"个) ";if(Yi>0) cout<<"2.医疗包("<<Yi<<"个) ";if(Shan>0) cout<<"3.闪光弹("<<Shan<<"个) ";if(Qing>0) cout<<"4.狂暴血清("<<Qing<<"个) ";if(Hu>0) cout<<"5.无敌护罩("<<Hu<<"个) ";
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
        {
            cout<<endl<<endl<<"---你想使用什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'9') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Yong(a-'0');cout<<endl<<endl;
            goto z;
        }
    }cout<<endl;
}
void Chu(int y)
{
    if(y<=1) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
    if(y>=2&&y<4) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
    if(y>=4&&y<5) Yan(3),cout<<"呀!来了个炮兵!"<<endl<<endl,ZaoN(3);
    if(y>=5&&y<6) Yan(4),cout<<"呀!来了个药兵!"<<endl<<endl,ZaoN(4);
    if(y>=6&&y<7) Yan(6),cout<<"呀!来了个炮灰!"<<endl<<endl,ZaoN(6);
    if(y>=7&&y<10) Yan(5),cout<<"呀!来了个坦克!"<<endl<<endl,ZaoN(5);
    if(y>=10) cout<<"没有新敌人出现。"<<endl<<endl;
    Sleep(1000);
}
void Huo(int n)
{
    Sleep(100);
    bool k[31];int R=15+rand()%11;
    memset(k,0,sizeof(k));
    for(int i=1;i<=7;i++)
    {
        int y=rand()%n+1;
        if(Biao!=0) y=Biao;
        D[y].Xue-=R;
        k[y]=1;
        cout<<y;Sleep(50);
        if(i!=7) cout<<"、";Sleep(50);
    }cout<<"个目标,";Sleep(100);cout<<R<<"*7点伤害!"<<endl<<endl;
    for(int i=30;i>0;i--) if(k[i]==1) Die(i);
}
void Jiu(int n)
{
    Sleep(100);int R=15+rand()%11;
    int y=rand()%n+1;
    D[y].Xue+=R;
    cout<<y;Sleep(100);
    cout<<"个目标,";Sleep(100);cout<<R<<"点血!"<<endl<<endl;
    Bai(); War();
}
void Bjing(int n,int i)
{
    int x=rand()%5;int y=rand()%10;int R=190+rand()%21,R2=30+rand()%21;
    if(x==0&&D[i].Bing==0){ Yan(4),cout<<"金刚机甲锤击!"<<R<<"点伤害!"<<endl<<endl;if(Hub==0&&D[i].Bing==0) N[1].Xue-=R,DieN(1);return;}
    if(x>=1&&x<3&&D[i].Bing==0)
    {
        Yan(4),cout<<"金刚机甲扫射!"<<R2<<"*"<<nl<<"点伤害!"<<endl<<endl;
        if(Hub==0&&D[i].Bing==0) for(int i=1;i<=nl;i++) N[i].Xue-=R2,DieN(i);return;
    }
    if(nl<4&&dl>=3) {cout<<"金刚机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bbing(int n,int i)
{
    int x=rand()%5;int y=rand()%n+1;int z=rand()%10;int R=20+rand()%21;
    if(x<2&&D[i].Bing==0)
    {
        if(Hub==0&&D[i].Bing==0) N[y].Bing=3,N[y].Xue-=30,DieN(y);
        Yan(4),cout<<"寒冰机甲攻击!冰冻了你方第";cout<<nl-y+1;Sleep(100);
        cout<<"个目标,";Sleep(300);cout<<R<<"点伤害!"<<endl<<endl;
        Bai();Sleep(500),War();
        return;
    }
    if((dl>=3&&nl<4)||x==2) {cout<<"寒冰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);Bai();War();}
    if(x==4) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);if(dl<3) z=rand()%10,Chu(z);Bai();War();}
    Bai();
}
void Bdu(int n,int i)
{
    int x=rand()%8;int y=rand()%10;
    if(x<2&&D[i].Bing==0)
    {
        Yan(4),cout<<"木毒机甲向你放毒!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"所有炮塔中毒!";
            for(int i=1;i<=nl;i++) N[i].Du=4;
        }
        cout<<endl<<endl;return;
    }
    if(x==2&&D[i].Bing==0) {Yan(4),cout<<"木毒机甲向己方放毒!所有敌人中毒,攻速*2!"<<endl<<endl,Baodb=2;return;}
    if((x>4)||(nl<4&&dl>=3)) {cout<<"木毒机甲蓄力。"<<endl<<endl;return;}
    if(x>2&&x<=4) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==5) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bju(int n,int m,int i)
{
    int x=rand()%5,xx=rand()%10,y,yy,z,zz;int R=40+rand()%21;
    if(nl==1) while (x==0) x=rand()%5;
    else {y=rand()%n+1;z=y; while(z==y) z=rand()%n+1;}
    if(dl==1) while (x==1) x=rand()%5;
    else {yy=rand()%m+1;zz=yy; while(zz==yy) zz=rand()%m+1;}
    if(x==0&&D[i].Bing==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了你方第"<<n-y+1<<"个和"<<n-z+1<<"个炮塔的位置,";swap(N[y],N[z]);
        if(Hub==0) Sleep(300);cout<<R<<"*2点伤害!",N[y].Xue-=R,N[z].Xue-=R,DieN(y),DieN(z);
        cout<<endl<<endl;Bai();Sleep(500),War();return;
    }
    if(x==1&&Fengb==1) x=5;
    if(x==1&&D[i].Bing==0&&Fengb==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了己方第"<<yy<<"个和"<<zz<<"个敌人的位置!"<<endl<<endl;swap(D[yy],D[zz]);
        Bai();Sleep(500),War();Fengb=1;
        return;
    }
    if((dl>=3&&nl<4)||x==5) {cout<<"飓风机甲蓄力。"<<endl<<endl;return;}
    if(x==2) if(Hub==0&&D[i].Bing==0){cout<<"飓风机甲刮起狂风!前三个炮塔血量减30%!"<<endl<<endl;if(N[3].Xue!=0) N[3].Xue*=0.7,DieN(3);if(N[2].Xue!=0) N[2].Xue*=0.7,DieN(2);if(N[1].Xue!=0) N[1].Xue*=0.7,DieN(1);}
    if(x==3) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);Bai();War();}
    if(x==4) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);if(dl<3) xx=rand()%10,Chu(xx);Bai();War();}
    Bai();
}
void Byan(int n,int i)
{
    int x=rand()%5;int y=rand()%10;
    if(x==0&&D[i].Bing==0)
    {
        int R=35+rand()%11,R1=25+rand()%11,R2=15+rand()%11,R3=5+rand()%11,R4=1+rand()%10;
        Yan(4),cout<<"烈焰机甲红焰迸出,火势燎原!";
        if(Hub==0&&D[i].Bing==0) cout<<R<<"+"<<R1<<"+"<<R2<<"+"<<R3<<"+"<<R4<<"点伤害!";cout<<endl<<endl;
        if(nl>=5) N[5].Xue-=R4,DieN(5);
        if(nl>=4) N[4].Xue-=R3,DieN(4);
        if(nl>=3) N[3].Xue-=R2,DieN(3);
        if(nl>=2) N[2].Xue-=R1,DieN(2);
        if(nl>=1) N[1].Xue-=R,DieN(1); return;
    }
    if(x==1&&D[i].Bing==0)
    {
        bool k[31];int R=25+rand()%11;
        memset(k,0,sizeof(k));
        Yan(4),cout<<"烈焰机甲的火焰聚成5个火球,向你飞来!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"击中了第";
            for(int i=0;i<5;i++)
            {
                int z=rand()%n+1;
                N[z].Xue-=R;
                k[z]=1;
                cout<<nl-z+1;Sleep(50);
                if(i!=4) cout<<"、";Sleep(50);
            }
            cout<<"个目标,";Sleep(100);cout<<R<<"*5伤害!";cout<<endl<<endl;
            for(int i=30;i>0;i--) if(k[i]==1) DieN(i);
        }
        return;
    }
    if((nl<4&&dl>=3)||x==2) {cout<<"烈焰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Round()
{
    system("cls");t++;int R,R2,R3;
    if(t>=3305536) cout<<"第"<<t-3305536<<"天"<<endl<<endl;
    else cout<<"第"<<t<<"天"<<endl<<endl;
    if(t%10==0&&t>=30) Yan(5),cout<<"成就:坚守"<<t<<"天,完成!加30金币!"<<endl,Bai(),Money+=30;
    if(Money>=300) Money=300,Yan(3),cout<<endl<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    War();Fengb=0;
    for(int i=1;i<=nl;i++) if(N[i].Hui!=0) N[i].Xue+=30;
    for(int i=1;i<=nl;i++) if(N[i].Du!=0) N[i].Xue-=10,DieN(i);
    if(Baob!=0) Bao=2;if(Baob==0) Bao=1;if(Baodb!=0) Baod=2;if(Baodb==0) Baod=1;if(Biaob==0) Biao=0;
    if(D[1].Xue<=0)
    {
        if(t!=0) cout<<"炮塔暂时没有发现敌人。"<<endl<<endl;Sleep(500);
        for(int i=nl;i>0;i--)
        {   int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0) {cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";Sleep(200);cout<<"蓄势待发!"<<endl<<endl;Bai();}
        }Bai();
    }
    else
    {
        if(Hub!=0) Yan(5),cout<<"无敌护罩耀耀生辉,将所有敌人的攻击阻挡在外。"<<endl<<endl,Sleep(500);
        for(int j=1;j<=Baod;j++)
        {
            if(j==2) Yan(4),cout<<"在毒性的催发下,敌人疯狂攻击着!"<<endl<<endl,Sleep(500);
            for(int i=1;i<=dl;i++)
            {
            int c=0;Yan(D[i].Zhong);
            if(D[i].Bing!=0) Yan(4),cout<<"在闪光弹的强光下,敌人睁不开眼睛!"<<endl<<endl,Sleep(500);
            if(D[i].Zhong==1&&nl>=0&&Hub==0&&D[i].Bing==0) R=20+rand()%21,cout<<"步兵开枪了!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=R,DieN(1);
            if(D[i].Zhong==2&&nl>=0&&Hub==0&&D[i].Bing==0) R=10+rand()%21,cout<<"骑兵身形一抖,向前一刺!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=20,DieN(1);
            if(D[i].Zhong==3&&nl>=0&&Hub==0&&D[i].Bing==0) R=40+rand()%21,cout<<"炮兵点火,炮声响彻天际!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=50,DieN(1);
            if(D[i].Zhong==4&&nl>=0&&D[i].Bing==0) cout<<"药兵开始治疗!恢复了第",Jiu(dl);
            if(D[i].Zhong==5&&nl>=0&&Hub==0&&D[i].Bing==0) R=70+rand()%21,cout<<"坦克的穿甲弹从炮管口滚滚白烟中冲出!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=80,DieN(1);
            if(c==0&&D[i].Zhong==6&&nl>=0&&D[i].Bing==0) cout<<"炮灰点燃了",Yan(4),cout<<"炸弹的引信!"<<endl<<endl,D[i].Zhong++,c=1;
            if(c==0&&D[i].Zhong==7&&nl>=0&&D[i].Bing==0) {R=490+rand()%21,cout<<"炮灰",Yan(4),cout<<"爆炸!!!",Sleep(500),cout<<R<<"点伤害!"<<endl<<endl;if(Hub==0) N[1].Xue-=500,DieN(1);D[i].Xue-=500,Die(i),c=1;}
            if(D[i].Zhong==8&&nl>=0) Yan(5),Bjing(nl,i);
            if(D[i].Zhong==9&&nl>=0) Yan(1),Bbing(nl,i);
            if(D[i].Zhong==10&&nl>=0) Yan(2),Bdu(nl,i);
            if(D[i].Zhong==11&&nl>=0) Yan(3),Bju(nl,dl,i);
            if(D[i].Zhong==12&&nl>=0) Yan(4),Byan(nl,i);
            if(nl>=0) Sleep(200);Bai();
            }
        }
        for(int j=1;j<=Bao;j++)
        {
            if(j==2) Yan(4),cout<<"狂暴血清爆发了,炮塔疯狂地发射着子弹!"<<endl<<endl,Sleep(500),Baob--;
            for(int i=nl;i>0;i--)
            {
            int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;Sleep(200);}
            if(N[i].Zhong==1&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=20+rand()%21,cout<<"加农炮一炮发出!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==2&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,cout<<"重机枪射出复仇的子弹!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==3&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=60+rand()%21,cout<<"迫击炮的炮弹划出一条完美的抛物线!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[dl].Xue-=R,Die(dl);Sleep(200);}
            if(N[i].Zhong==4&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,R2=20+rand()%21,R3=rand()%21,cout<<"喷火器喷出熊熊烈火!"<<R<<"+"<<R2<<"+"<<R3<<"点伤害!"<<endl<<endl;if(Biao!=0){if(D[Biao+2].Zhong!=0)D[Biao+2].Xue-=R3,Die(Biao+2);if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);if(D[Biao].Zhong!=0)D[Biao].Xue-=R,Die(Biao);}else{if(D[3].Zhong!=0)D[3].Xue-=R3,Die(3);if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);if(D[1].Zhong!=0)D[1].Xue-=R,Die(1);}Sleep(200);}
            if(N[i].Zhong==5&&D[1].Zhong!=0&&N[i].Bing==0) {if(dl!=0) cout<<"火箭炮的7枚火箭依次冲出!命中第";Huo(dl);Sleep(200);}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0){cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";if(D[1].Zhong!=0){R=290+rand()%21,R2=90+rand()%21,Sleep(200);cout<<"然后...",Sleep(200),cout<<"轰!!!",Sleep(200),cout<<R<<"+"<<R2<<"点伤害!"<<endl<<endl,N[i].Zhong-=2;if(Biao!=0){if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);D[Biao].Xue-=R,Die(Biao),b=1;} else {if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);D[1].Xue-=R,Die(1),b=1;}}else cout<<"蓄势待发!"<<endl<<endl;Bai();Sleep(200);}
            Bai();
            }
        }
        for(int i=nl;i>0;i--) if(N[i].Hui!=0) N[i].Hui--;
        for(int i=nl;i>0;i--) if(N[i].Bing!=0) N[i].Bing--;
        for(int i=nl;i>0;i--) if(N[i].Du!=0) N[i].Du--;
        for(int i=dl;i>0;i--) if(D[i].Bing!=0) D[i].Bing--;
        if(Baodb!=0) Baodb--;if(Biaob!=0) Biaob--;
        if(nl<=0)
        {
            Yan(4);Sleep(2000);system("cls");
            cout<<endl<<"城破了,你输了!!!"<<endl<<endl;Sleep(1000);
            cout<<"你坚守了"<<t<<"天。"<<endl<<endl;Bai();Sleep(1000);system("pause");
            return;
        }
    }
    if(Hub!=0) Hub--;
    if(t>=3305536&&dl<=0) return;
    if(t<3305536) Mai(Moo);
    if(t<3305536&&Moo==0)
    {
        int u=0;
        x: Bai();
        Sleep(200);
        int y=rand()%11;
        if(t<10)
        {
            if(dl>=2) y=0;
            if(y<5) cout<<"没有新敌人出现。"<<endl<<endl;
            if(y>=5&&y<9) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
            if(y>=9) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
        }
        if(t<20&&t>=10)
        {
            if(dl>=2) y=7;
            if(y>=7) {cout<<"没有新敌人出现。"<<endl<<endl;y=0;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t<29&&t>=20)
        {
            if(dl>=2) y=9;
            if(y>=9) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t==29) Mo();
        if(t<45&&t>=30)
        {
            if(dl>=3) y=10;
            if(y>=10) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%2;
            if(dl<2&&w<1&&u<2) goto x;
        }
        if(t<59&&t>=45)
        {
            if(dl>=nl+1) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
        }
        if(t==59) Mo();if(t==60) Mo();
        if(t<79&&t>60)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==79) Mo();if(t==80) Mo();if(t==81) Mo();
        if(t<99&&t>81)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==99)
        {
            system("cls");Sleep(500);
            cout<<"第100天"<<endl<<endl;Yan(5);
            cout<<"飞机的轰鸣声响过,你的视野变为雪白......"<<endl<<endl; Sleep(1000);
            cout<<"激烈的战场瞬间寂静,机甲轰然倒塌......"<<endl<<endl;  Sleep(1000);
            cout<<"在层层迷雾中,远方若隐若现地显出军队的轮廓......"<<endl<<endl; Sleep(1000);
            cout<<"啊,你的援军到了!!!"<<endl<<endl;  Sleep(1000);
            cout<<"伟大的将帅啊,我们的首都,保住了!!!"<<endl<<endl;Sleep(3000);
            system("cls");Bai();
            cout<<endl<<"游戏目标达成,游戏结束!"<<endl<<endl;Sleep(2000);
            system("pause");return;
        }
        Bai();
    }
    Sleep(300);
    Round();
}
void Jiao()
{
    char a;Bai();
    cout<<endl<<" 现在进行教学模式。"<<endl;Sleep(1000);system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆加农炮:                 ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆价值:100                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:∞         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"●";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"请按1键以建造加农炮。"<<endl<<endl;a=_getch();N[1].Zhong=1,N[1].Xue=100,nl++;War();
    cout<<"好极了,他应该能帮我们守住城市。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆步兵:                   ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:50                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"○";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    D[1].Zhong=1,D[1].Xue=50,dl=1;
    system("pause");system("cls");War();
    cout<<"现在看看你的加农炮能把它怎么样!"<<endl<<endl;Sleep(1000);
    t=3305536,Round();
    cout<<"加农炮血多价廉,是战斗前期的必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆重机枪:                 ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:80                 ┆"<<endl;
    cout<<"┆价值:120                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"■";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"重机枪攻击力高,可以大量输出火力。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆骑兵:                   ┆"<<endl;
    cout<<"┆攻击力:20               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"□";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"骑兵血多,但攻击力低。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆迫击炮:                 ┆"<<endl;
    cout<<"┆攻击力:70               ┆"<<endl;
    cout<<"┆血量:150                ┆"<<endl;
    cout<<"┆价值:150                ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆目标:最后一个敌人       ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"▲";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"迫击炮攻击力高,并可以在一些血少敌人出场时将其击杀。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮兵:                   ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:30                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"△";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮兵攻击力高,需要速决。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆喷火器:                 ┆"<<endl;
    cout<<"┆攻击力:50+30+10         ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆价值:200                ┆"<<endl;
    cout<<"┆目标:前三个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▼";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"喷火器,超值攻击礼包。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆城墙:                   ┆"<<endl;
    cout<<"┆血量:500                ┆"<<endl;
    cout<<"┆价值:250                ┆"<<endl;
    cout<<"┆最多建造数量:1          ┆"<<endl;
    cout<<"┆符号: ▎                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"救场神器!相当于无敌多回合!"<<endl<<endl;
    cout<<"城墙会自动放置在战场最前方。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆药兵:                   ┆"<<endl;
    cout<<"┆攻击力:-20(治愈己方)  ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:任意一个己方       ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▽";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"药兵血多,不过不会攻击。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆电磁炮:                 ┆"<<endl;
    cout<<"┆攻击力:300+100          ┆"<<endl;
    cout<<"┆       (蓄力2回合)     ┆"<<endl;
    cout<<"┆血量:400                ┆"<<endl;
    cout<<"┆价值:270                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:2          ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"电磁炮是对付坦克的必备法宝。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮灰:                   ┆"<<endl;
    cout<<"┆攻击力:500(蓄力1回合) ┆"<<endl;
    cout<<"┆血量:10                 ┆"<<endl;
    cout<<"┆掉落金币:10             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◇";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮灰出场时,务必第一时间将其击杀。"<<endl<<endl;
    cout<<"炮灰爆炸时,自己也会死亡。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆火箭炮:                 ┆"<<endl;
    cout<<"┆攻击力:20*7             ┆"<<endl;
    cout<<"┆血量:300                ┆"<<endl;
    cout<<"┆价值:300                ┆"<<endl;
    cout<<"┆目标:任意九个敌人       ┆"<<endl;
    cout<<"┆最多建造数量:3          ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"★";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"火箭炮极其有用,后期必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆坦克:                   ┆"<<endl;
    cout<<"┆攻击力:80               ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆掉落金币:50             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"☆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"坦克,你的噩梦!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
    cout<<endl<<"开局时,你有一个城墙。"<<endl<<endl;Sleep(2000);
    cout<<"建造炮塔要花费金币,你的金币每回合+10。"<<endl<<endl;Sleep(2000);
    cout<<"后期会出BOSS——机甲,这时你的金币每回合+30。"<<endl<<endl;Sleep(2000);
    cout<<"你的金币储量上限为300。"<<endl<<endl,Sleep(2000);
    cout<<"打爆一个敌人有几率掉道具。"<<endl<<endl;Sleep(2000);
    cout<<"每个炮塔一回合只能攻击一次。"<<endl<<endl;Sleep(2000);
    cout<<"当所有炮塔阵亡时,游戏结束。"<<endl<<endl;Sleep(2000);
    cout<<"伟大的将帅啊,请你保卫我们的首都!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
}
int main()
{
    srand((unsigned)time(NULL));
    system("mode con cols=46 lines=40");
    ST:system("cls");
    memset(N,0,sizeof(N));memset(D,0,sizeof(D));memset(X,0,sizeof(X));
    t=nl=dl=Moo=Biao=Biaob=Bao=Baob=Baod=Baodb=Hub=Fengb=Sha=Jian=Shab=Jianb=0;
    Bai(); cout<<endl<<" ----------------城市守卫战------------------"<<endl;
    cout<<" --------------------------作者:胎神--------"<<endl<<endl;
    cout<<" 2.0版本:"<<endl<<endl;
    cout<<" 5大更新主题:"<<endl<<endl;
    cout<<"    --新武器解锁!救场神器---城墙!"<<endl<<endl;
    cout<<"    --伤害变随机!更多变的战局!"<<endl<<endl;
    cout<<"    --3大成就全新来袭,获得金币更容易!"<<endl<<endl;
    cout<<"    --全新战场输出模式!不串行!"<<endl<<endl;
    cout<<"    --金币与炮塔上限已加入。"<<endl<<endl;
    cout<<" 另:建塔和用道具";Yan(3);cout<<"不需要按回车!"<<endl<<endl;Bai();
    cout<<" 输入: 1.教学模式   2.战争模式"<<endl;
    st:
    char a;a=_getch();
    if(a=='1') {Jiao(),N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<"现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else if(a=='2') {N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<" 现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else goto st;
    Bai();
    return 0;
}
12#
发表于 2019-7-28 17:58:23 | 只看该作者
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
using namespace std;
int t,nl,dl,Money,Moo,Dao,Yi,Shan,Qing,Hu;
int Biao,Biaob,Bao=1,Baob,Baod=1,Baodb,Hub,Fengb,Sha,Jian,Shab,Jianb;
int X[10];
bool Daob,Yib,Shanb,Qingb,Hubb;
struct node {int Zhong,Xue,Bing,Hui,Du;} N[100001],D[100001];
void Yan(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);
}
void Bai() {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);}
void Cout(int x,int a)
{
    Yan(a);int k;
    if(x==1) {if(a==0) cout<<"城墙";if(a==1) cout<<"加农炮";if(a==2) cout<<"重机枪";if(a==3) cout<<"迫击炮";if(a==4) cout<<"喷火器";if(a==5) cout<<"火箭炮";if(a>=6) cout<<"电磁炮";}
    if(x==2)
    {
        if(a==1) cout<<"步兵",Money+=20,k=20;if(a==2) cout<<"骑兵",Money+=30,k=30;if(a==3) cout<<"炮兵",Money+=30,k=30;if(a==4) cout<<"药兵",Money+=30,k=30;if(a==6||a==7) cout<<"炮灰",Money+=10,k=10;if(a==5) cout<<"坦克",Money+=50,k=50;
        if(a==8) Yan(3),cout<<"金刚机甲",Money+=100;if(a==9) Yan(1),cout<<"寒冰机甲",Money+=100;if(a==10) Yan(2),cout<<"木毒机甲",Money+=100;if(a==11) Yan(3),cout<<"飓风机甲",Money+=100;if(a==12) Yan(4),cout<<"烈焰机甲",Money+=100;if(a>=8) k=100;
    }
    Yan(4);Sleep(200),cout<<"......爆!!!";
    if(x==2) Yan(5),cout<<"掉落"<<k<<"金币!";cout<<endl<<endl,Sha++;
    if(Sha%20==0&&Shab<Sha) Yan(5),cout<<"成就:杀死"<<Sha<<"个敌人,完成!加30金币!"<<endl<<endl,Sleep(500),Bai(),Money+=30,Shab=Sha;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Bai();
}
void War()
{
    int zn=0,zd=0;if(nl-5>0) zn=nl%5;if(dl-5>0) zd=dl%5;cout<<"┌";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┐"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=1;i<=5;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=1;i<=5;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    if(zn>0||zd>0)
    {
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) cout<<"    ";
    for(int i=5+zn;i>5;i--)
    {
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=6;i<=10;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) {cout<<"    ";continue;}
    for(int i=5+zn;i>5;i--)
    {
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=6;i<=10;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    }
    cout<<" ┆"<<endl<<"└";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┘"<<endl;
    Sleep(500);
}
void Ju(int a)
{
    Sleep(1000);system("cls");Bai();
    if(a==0)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆导弹:               ┆"<<endl;
        cout<<"┆攻击力:300          ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==1)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆医疗包:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆攻击力:-30*5(回血)┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==2)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆闪光弹:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆效果:使一个指定敌人 ┆"<<endl;
        cout<<"┆    停止攻击,并使所 ┆"<<endl;
        cout<<"┆    有炮塔攻击该敌人.┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==3)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆狂暴血清:           ┆"<<endl;
        cout<<"┆目标:所有炮塔       ┆"<<endl;
        cout<<"┆效果:使炮塔攻击2次  ┆"<<endl;
        cout<<"┆持续时间:2回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==4)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆无敌护罩:           ┆"<<endl;
        cout<<"┆效果:使所有炮塔无敌 ┆"<<endl;
        cout<<"┆持续时间:3回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    Sleep(1000);system("pause");system("cls");
}
void Die(int m)
{
    if(D[m].Xue<=0)
    {
        if(Biao==m) Biao=0;
        if(D[m].Zhong>=8) Moo=0;
        Cout(2,D[m].Zhong);
        for(int i=m;i<dl;i++)
        {
            if(Biao==i) Biao--;
            D[i].Xue=D[i+1].Xue;
            D[i].Zhong=D[i+1].Zhong;
            D[i].Bing=D[i+1].Bing;
        }
        D[dl].Xue=0,D[dl].Zhong=0,D[dl].Bing=0;dl--;
        int a=rand()%10;
        if(a==0&&t<1000)
        {
            Yan(4);
            cout<<"从敌人尸体中发现道具——"; Sleep(500);
            int b=rand()%5;
            if(b==0) {cout<<"导弹!"<<endl<<endl,Dao++;Sleep(2000);if(Daob==0) Ju(0);Daob=1;}
            if(b==1) {cout<<"医疗包!"<<endl<<endl,Yi++;Sleep(2000);if(Yib==0) Ju(1);Yib=1;}
            if(b==2) {cout<<"闪光弹!"<<endl<<endl,Shan++;Sleep(2000);if(Shanb==0) Ju(2);Shanb=1;}
            if(b==3) {cout<<"狂暴血清!"<<endl<<endl,Qing++;Sleep(2000);if(Qingb==0) Ju(3);Qingb=1;}
            if(b==4) {cout<<"无敌护罩!"<<endl<<endl,Hu++;Sleep(2000);if(Hubb==0) Ju(4);Hubb=1;}
            Bai();War();
        }
    }
}
void DieN(int m)
{
    if(N[m].Xue<=0)
    {
        Cout(1,N[m].Zhong);
        for(int i=m;i<nl;i++)
        {
            N[i].Xue=N[i+1].Xue;
            N[i].Zhong=N[i+1].Zhong;
            N[i].Bing=N[i+1].Bing;
            N[i].Hui=N[i+1].Hui;
        }
        N[nl].Xue=0,N[nl].Zhong=0,N[nl].Bing=0,N[nl].Hui=0;nl--;
    }
}
void Zao(int a)
{
    if((a==1&&Money<100)||(a==2&&(Money<120||X[2]>=5))||(a==3&&(Money<150||X[3]>=5))||(a==4&&(Money<200||X[4]>=3))||(a==5&&(Money<250||X[0]>0))||(a==6&&(Money<270||X[6]+X[7]+X[8]>=2))||(a==7&&(Money<300||X[5]>=3)))
    {Yan(3),cout<<endl<<"无效输入。",Bai( );Sleep(500);return;}nl++;
    if(a==1) N[nl].Xue=100,N[nl].Zhong=1,Money-=100;
    if(a==2) N[nl].Xue=80,N[nl].Zhong=2,Money-=120;
    if(a==3) N[nl].Xue=150,N[nl].Zhong=3,Money-=150;
    if(a==4) N[nl].Xue=200,N[nl].Zhong=4,Money-=200;
    if(a==5){N[nl].Xue=N[nl].Zhong=0,Money-=250;for(int i=nl;i>0;i--) swap(N[i],N[i-1]);N[1].Xue=500;}
    if(a==6) N[nl].Xue=400,N[nl].Zhong=6,Money-=270;
    if(a==7) N[nl].Xue=300,N[nl].Zhong=5,Money-=300;
    Yan(5);cout<<endl<<"建造成功!"<<endl<<endl;Sleep(500);cout<<"你的金币数量:"<<Money;Bai();Jian++;
    if(Jian%10==0&&Jianb<Jian) Yan(5),cout<<endl<<endl<<"成就:建造"<<Jian<<"个炮塔,完成!加30金币!",Sleep(500),Bai(),Money+=30,Jianb=Jian;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
}
void ZaoN(int a)
{
    dl++;
    if(a==1) D[dl].Xue=50,D[dl].Zhong=1;
    if(a==2) D[dl].Xue=100,D[dl].Zhong=2;
    if(a==3) D[dl].Xue=30,D[dl].Zhong=3;
    if(a==4) D[dl].Xue=100,D[dl].Zhong=4;
    if(a==5) D[dl].Xue=200,D[dl].Zhong=5;
    if(a==6) D[dl].Xue=10,D[dl].Zhong=6;
    if(a>=8) D[dl].Xue=1000,D[dl].Zhong=a;
}
void Yong(int a)
{
    int b;
    if(a==0) return;
    if((a==1&&Dao==0)||(a==2&&Yi==0)||(a==3&&Shan==0)||(a==4&&Qing==0)||(a==5&&Hu==0)) {cout<<"无效输入。"<<endl;Sleep(500);return;}
    if(a==1)
    {
        cout<<endl<<"导弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"导弹发射!命中目标!"<<endl<<endl;Bai(),D[b].Xue-=300;Die(b),Bai(),Dao--; return;
    }
    if(a==2)
    {
        cout<<endl<<"医疗包随时准备空投!";Sleep(500);cout<<"目标是第几个炮塔?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>nl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"医疗包开始医疗!"<<endl<<endl;Bai(),N[nl-b+1].Hui+=5,Bai(),Yi--; return;
    }
    if(a==3)
    {
        cout<<endl<<"闪光弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"闪光弹发射!命中目标!"<<endl<<endl;Bai(),Biao=b,D[b].Bing+=5,Biaob+=5,Shan--; return;
    }
    if(a==4) cout<<endl<<"狂暴血清爆发!"<<endl<<endl,Bai(),Baob+=2,Bai(),Qing--;
    if(a==5) cout<<endl<<"无敌护罩开启!"<<endl<<endl,Bai(),Hub+=3,Bai(),Hu--;
}
void Mo()
{
    int x=rand()%5;
    if(x==0)
    {
        Yan(5);
        cout<<"金刚机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆金刚机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——扫射:           ┆"<<endl;
        cout<<"┆     攻击力:40*n            ┆"<<endl;
        cout<<"┆     目标:所有炮塔          ┆"<<endl;
        cout<<"┆攻击力:200                  ┆"<<endl;
        cout<<"┆目标:第一个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(5);cout<<"金";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(8);
    }
    if(x==1)
    {
        Yan(1);
        cout<<"寒冰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆寒冰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——冰冻:           ┆"<<endl;
        cout<<"┆   攻击力:30                ┆"<<endl;
        cout<<"┆   效果:冰冻任意一个炮塔    ┆"<<endl;
        cout<<"┆     持续时间:3回合         ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(1);cout<<"冰";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(9);
    }
    if(x==2)
    {
        Yan(2);                        
        cout<<"木毒机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆木毒机甲:                   ┆"<<endl;                                                                     
        cout<<"┆特殊技能——狂毒:           ┆"<<endl;
        cout<<"┆   效果:使每个敌人攻击2次   ┆"<<endl;
        cout<<"┆   持续时间:2回合           ┆"<<endl;
        cout<<"┆攻击力:10*4                 ┆"<<endl;
        cout<<"┆目标:所有炮塔               ┆"<<endl;
        cout<<"┆持续时间:4回合              ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(2);cout<<"毒";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);                       
        system("pause");system("cls");
        ZaoN(10);
    }
    if(x==3)
    {
        Yan(3);
        cout<<"飓风机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆飓风机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——幻风:           ┆"<<endl;
        cout<<"┆   攻击力:50*2(对炮塔)    ┆"<<endl;
        cout<<"┆   效果:调换2个单位的位置   ┆"<<endl;
        cout<<"┆   目标:任意2个炮塔或敌人   ┆"<<endl;
        cout<<"┆攻击力:30%*该炮塔血量       ┆"<<endl;
        cout<<"┆目标:前三个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(3);cout<<"风";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(11);
    }
    if(x==4)
    {
        Yan(4);
        cout<<"烈焰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆烈焰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——火球:           ┆"<<endl;
        cout<<"┆   攻击力:30*5              ┆"<<endl;
        cout<<"┆   目标:任意五个炮塔        ┆"<<endl;
        cout<<"┆攻击力:40+30+20+10+5        ┆"<<endl;
        cout<<"┆目标:前五个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(4);cout<<"火";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(12);
    }
    Moo=1;
}
void Mai(int x)
{
    char a;
    if(x==0) Money+=10,Yan(5),Sleep(500),cout<<"你的金币+10。"<<endl<<endl,Bai();
    if(x==1) Money+=30,Yan(3),Sleep(500),cout<<"机甲临城,",Yan(5),cout<<"你的金币+30。"<<Money<<endl<<endl,Bai();
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
    y:
    while(Money>=100)
    {
        memset(X,0,sizeof(X));
        for(int i=1;i<=nl;i++) X[N[i].Zhong]++;
        if(Money>=100) cout<<"你现在可以购买:1.加农炮  ";if(Money>=120&&X[2]<5) cout<<"2.重机枪  ";if(Money>=150&&X[3]<5) cout<<"3.迫击炮  ";if(Money>=200&&X[4]<3) cout<<"4.喷火器  ";
        if(Money>=250&&X[0]==0) cout<<"5.城墙  ";if(Money>=270&&X[6]+X[7]+X[8]<2) cout<<"6.电磁炮  ";if(Money>=300&&X[5]<3) cout<<"7.火箭炮";
        if(Money>=100)
        {
            cout<<endl<<endl<<"---你想购买什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'7') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Zao(a-'0');cout<<endl<<endl;Bai();War();
            goto y;
            Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
        }
    }cout<<endl;
    z:
    while(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
    {
        War();
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0) cout<<"你现在可以使用:"; if(Dao>0) cout<<"1.导弹("<<Dao<<"个) ";if(Yi>0) cout<<"2.医疗包("<<Yi<<"个) ";if(Shan>0) cout<<"3.闪光弹("<<Shan<<"个) ";if(Qing>0) cout<<"4.狂暴血清("<<Qing<<"个) ";if(Hu>0) cout<<"5.无敌护罩("<<Hu<<"个) ";
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
        {
            cout<<endl<<endl<<"---你想使用什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'9') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Yong(a-'0');cout<<endl<<endl;
            goto z;
        }
    }cout<<endl;
}
void Chu(int y)
{
    if(y<=1) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
    if(y>=2&&y<4) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
    if(y>=4&&y<5) Yan(3),cout<<"呀!来了个炮兵!"<<endl<<endl,ZaoN(3);
    if(y>=5&&y<6) Yan(4),cout<<"呀!来了个药兵!"<<endl<<endl,ZaoN(4);
    if(y>=6&&y<7) Yan(6),cout<<"呀!来了个炮灰!"<<endl<<endl,ZaoN(6);
    if(y>=7&&y<10) Yan(5),cout<<"呀!来了个坦克!"<<endl<<endl,ZaoN(5);
    if(y>=10) cout<<"没有新敌人出现。"<<endl<<endl;
    Sleep(1000);
}
void Huo(int n)
{
    Sleep(100);
    bool k[31];int R=15+rand()%11;
    memset(k,0,sizeof(k));
    for(int i=1;i<=7;i++)
    {
        int y=rand()%n+1;
        if(Biao!=0) y=Biao;
        D[y].Xue-=R;
        k[y]=1;
        cout<<y;Sleep(50);
        if(i!=7) cout<<"、";Sleep(50);
    }cout<<"个目标,";Sleep(100);cout<<R<<"*7点伤害!"<<endl<<endl;
    for(int i=30;i>0;i--) if(k[i]==1) Die(i);
}
void Jiu(int n)
{
    Sleep(100);int R=15+rand()%11;
    int y=rand()%n+1;
    D[y].Xue+=R;
    cout<<y;Sleep(100);
    cout<<"个目标,";Sleep(100);cout<<R<<"点血!"<<endl<<endl;
    Bai(); War();
}
void Bjing(int n,int i)
{
    int x=rand()%5;int y=rand()%10;int R=190+rand()%21,R2=30+rand()%21;
    if(x==0&&D[i].Bing==0){ Yan(4),cout<<"金刚机甲锤击!"<<R<<"点伤害!"<<endl<<endl;if(Hub==0&&D[i].Bing==0) N[1].Xue-=R,DieN(1);return;}
    if(x>=1&&x<3&&D[i].Bing==0)
    {
        Yan(4),cout<<"金刚机甲扫射!"<<R2<<"*"<<nl<<"点伤害!"<<endl<<endl;
        if(Hub==0&&D[i].Bing==0) for(int i=1;i<=nl;i++) N[i].Xue-=R2,DieN(i);return;
    }
    if(nl<4&&dl>=3) {cout<<"金刚机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bbing(int n,int i)
{
    int x=rand()%5;int y=rand()%n+1;int z=rand()%10;int R=20+rand()%21;
    if(x<2&&D[i].Bing==0)
    {
        if(Hub==0&&D[i].Bing==0) N[y].Bing=3,N[y].Xue-=30,DieN(y);
        Yan(4),cout<<"寒冰机甲攻击!冰冻了你方第";cout<<nl-y+1;Sleep(100);
        cout<<"个目标,";Sleep(300);cout<<R<<"点伤害!"<<endl<<endl;
        Bai();Sleep(500),War();
        return;
    }
    if((dl>=3&&nl<4)||x==2) {cout<<"寒冰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);Bai();War();}
    if(x==4) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);if(dl<3) z=rand()%10,Chu(z);Bai();War();}
    Bai();
}
void Bdu(int n,int i)
{
    int x=rand()%8;int y=rand()%10;
    if(x<2&&D[i].Bing==0)
    {
        Yan(4),cout<<"木毒机甲向你放毒!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"所有炮塔中毒!";
            for(int i=1;i<=nl;i++) N[i].Du=4;
        }
        cout<<endl<<endl;return;
    }
    if(x==2&&D[i].Bing==0) {Yan(4),cout<<"木毒机甲向己方放毒!所有敌人中毒,攻速*2!"<<endl<<endl,Baodb=2;return;}
    if((x>4)||(nl<4&&dl>=3)) {cout<<"木毒机甲蓄力。"<<endl<<endl;return;}
    if(x>2&&x<=4) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==5) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bju(int n,int m,int i)
{
    int x=rand()%5,xx=rand()%10,y,yy,z,zz;int R=40+rand()%21;
    if(nl==1) while (x==0) x=rand()%5;
    else {y=rand()%n+1;z=y; while(z==y) z=rand()%n+1;}
    if(dl==1) while (x==1) x=rand()%5;
    else {yy=rand()%m+1;zz=yy; while(zz==yy) zz=rand()%m+1;}
    if(x==0&&D[i].Bing==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了你方第"<<n-y+1<<"个和"<<n-z+1<<"个炮塔的位置,";swap(N[y],N[z]);
        if(Hub==0) Sleep(300);cout<<R<<"*2点伤害!",N[y].Xue-=R,N[z].Xue-=R,DieN(y),DieN(z);
        cout<<endl<<endl;Bai();Sleep(500),War();return;
    }
    if(x==1&&Fengb==1) x=5;
    if(x==1&&D[i].Bing==0&&Fengb==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了己方第"<<yy<<"个和"<<zz<<"个敌人的位置!"<<endl<<endl;swap(D[yy],D[zz]);
        Bai();Sleep(500),War();Fengb=1;
        return;
    }
    if((dl>=3&&nl<4)||x==5) {cout<<"飓风机甲蓄力。"<<endl<<endl;return;}
    if(x==2) if(Hub==0&&D[i].Bing==0){cout<<"飓风机甲刮起狂风!前三个炮塔血量减30%!"<<endl<<endl;if(N[3].Xue!=0) N[3].Xue*=0.7,DieN(3);if(N[2].Xue!=0) N[2].Xue*=0.7,DieN(2);if(N[1].Xue!=0) N[1].Xue*=0.7,DieN(1);}
    if(x==3) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);Bai();War();}
    if(x==4) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);if(dl<3) xx=rand()%10,Chu(xx);Bai();War();}
    Bai();
}
void Byan(int n,int i)
{
    int x=rand()%5;int y=rand()%10;
    if(x==0&&D[i].Bing==0)
    {
        int R=35+rand()%11,R1=25+rand()%11,R2=15+rand()%11,R3=5+rand()%11,R4=1+rand()%10;
        Yan(4),cout<<"烈焰机甲红焰迸出,火势燎原!";
        if(Hub==0&&D[i].Bing==0) cout<<R<<"+"<<R1<<"+"<<R2<<"+"<<R3<<"+"<<R4<<"点伤害!";cout<<endl<<endl;
        if(nl>=5) N[5].Xue-=R4,DieN(5);
        if(nl>=4) N[4].Xue-=R3,DieN(4);
        if(nl>=3) N[3].Xue-=R2,DieN(3);
        if(nl>=2) N[2].Xue-=R1,DieN(2);
        if(nl>=1) N[1].Xue-=R,DieN(1); return;
    }
    if(x==1&&D[i].Bing==0)
    {
        bool k[31];int R=25+rand()%11;
        memset(k,0,sizeof(k));
        Yan(4),cout<<"烈焰机甲的火焰聚成5个火球,向你飞来!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"击中了第";
            for(int i=0;i<5;i++)
            {
                int z=rand()%n+1;
                N[z].Xue-=R;
                k[z]=1;
                cout<<nl-z+1;Sleep(50);
                if(i!=4) cout<<"、";Sleep(50);
            }
            cout<<"个目标,";Sleep(100);cout<<R<<"*5伤害!";cout<<endl<<endl;
            for(int i=30;i>0;i--) if(k[i]==1) DieN(i);
        }
        return;
    }
    if((nl<4&&dl>=3)||x==2) {cout<<"烈焰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Round()
{
    system("cls");t++;int R,R2,R3;
    if(t>=3305536) cout<<"第"<<t-3305536<<"天"<<endl<<endl;
    else cout<<"第"<<t<<"天"<<endl<<endl;
    if(t%10==0&&t>=30) Yan(5),cout<<"成就:坚守"<<t<<"天,完成!加30金币!"<<endl,Bai(),Money+=30;
    if(Money>=300) Money=300,Yan(3),cout<<endl<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    War();Fengb=0;
    for(int i=1;i<=nl;i++) if(N[i].Hui!=0) N[i].Xue+=30;
    for(int i=1;i<=nl;i++) if(N[i].Du!=0) N[i].Xue-=10,DieN(i);
    if(Baob!=0) Bao=2;if(Baob==0) Bao=1;if(Baodb!=0) Baod=2;if(Baodb==0) Baod=1;if(Biaob==0) Biao=0;
    if(D[1].Xue<=0)
    {
        if(t!=0) cout<<"炮塔暂时没有发现敌人。"<<endl<<endl;Sleep(500);
        for(int i=nl;i>0;i--)
        {   int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0) {cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";Sleep(200);cout<<"蓄势待发!"<<endl<<endl;Bai();}
        }Bai();
    }
    else
    {
        if(Hub!=0) Yan(5),cout<<"无敌护罩耀耀生辉,将所有敌人的攻击阻挡在外。"<<endl<<endl,Sleep(500);
        for(int j=1;j<=Baod;j++)
        {
            if(j==2) Yan(4),cout<<"在毒性的催发下,敌人疯狂攻击着!"<<endl<<endl,Sleep(500);
            for(int i=1;i<=dl;i++)
            {
            int c=0;Yan(D[i].Zhong);
            if(D[i].Bing!=0) Yan(4),cout<<"在闪光弹的强光下,敌人睁不开眼睛!"<<endl<<endl,Sleep(500);
            if(D[i].Zhong==1&&nl>=0&&Hub==0&&D[i].Bing==0) R=20+rand()%21,cout<<"步兵开枪了!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=R,DieN(1);
            if(D[i].Zhong==2&&nl>=0&&Hub==0&&D[i].Bing==0) R=10+rand()%21,cout<<"骑兵身形一抖,向前一刺!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=20,DieN(1);
            if(D[i].Zhong==3&&nl>=0&&Hub==0&&D[i].Bing==0) R=40+rand()%21,cout<<"炮兵点火,炮声响彻天际!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=50,DieN(1);
            if(D[i].Zhong==4&&nl>=0&&D[i].Bing==0) cout<<"药兵开始治疗!恢复了第",Jiu(dl);
            if(D[i].Zhong==5&&nl>=0&&Hub==0&&D[i].Bing==0) R=70+rand()%21,cout<<"坦克的穿甲弹从炮管口滚滚白烟中冲出!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=80,DieN(1);
            if(c==0&&D[i].Zhong==6&&nl>=0&&D[i].Bing==0) cout<<"炮灰点燃了",Yan(4),cout<<"炸弹的引信!"<<endl<<endl,D[i].Zhong++,c=1;
            if(c==0&&D[i].Zhong==7&&nl>=0&&D[i].Bing==0) {R=490+rand()%21,cout<<"炮灰",Yan(4),cout<<"爆炸!!!",Sleep(500),cout<<R<<"点伤害!"<<endl<<endl;if(Hub==0) N[1].Xue-=500,DieN(1);D[i].Xue-=500,Die(i),c=1;}
            if(D[i].Zhong==8&&nl>=0) Yan(5),Bjing(nl,i);
            if(D[i].Zhong==9&&nl>=0) Yan(1),Bbing(nl,i);
            if(D[i].Zhong==10&&nl>=0) Yan(2),Bdu(nl,i);
            if(D[i].Zhong==11&&nl>=0) Yan(3),Bju(nl,dl,i);
            if(D[i].Zhong==12&&nl>=0) Yan(4),Byan(nl,i);
            if(nl>=0) Sleep(200);Bai();
            }
        }
        for(int j=1;j<=Bao;j++)
        {
            if(j==2) Yan(4),cout<<"狂暴血清爆发了,炮塔疯狂地发射着子弹!"<<endl<<endl,Sleep(500),Baob--;
            for(int i=nl;i>0;i--)
            {
            int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;Sleep(200);}
            if(N[i].Zhong==1&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=20+rand()%21,cout<<"加农炮一炮发出!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==2&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,cout<<"重机枪射出复仇的子弹!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==3&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=60+rand()%21,cout<<"迫击炮的炮弹划出一条完美的抛物线!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[dl].Xue-=R,Die(dl);Sleep(200);}
            if(N[i].Zhong==4&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,R2=20+rand()%21,R3=rand()%21,cout<<"喷火器喷出熊熊烈火!"<<R<<"+"<<R2<<"+"<<R3<<"点伤害!"<<endl<<endl;if(Biao!=0){if(D[Biao+2].Zhong!=0)D[Biao+2].Xue-=R3,Die(Biao+2);if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);if(D[Biao].Zhong!=0)D[Biao].Xue-=R,Die(Biao);}else{if(D[3].Zhong!=0)D[3].Xue-=R3,Die(3);if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);if(D[1].Zhong!=0)D[1].Xue-=R,Die(1);}Sleep(200);}
            if(N[i].Zhong==5&&D[1].Zhong!=0&&N[i].Bing==0) {if(dl!=0) cout<<"火箭炮的7枚火箭依次冲出!命中第";Huo(dl);Sleep(200);}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0){cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";if(D[1].Zhong!=0){R=290+rand()%21,R2=90+rand()%21,Sleep(200);cout<<"然后...",Sleep(200),cout<<"轰!!!",Sleep(200),cout<<R<<"+"<<R2<<"点伤害!"<<endl<<endl,N[i].Zhong-=2;if(Biao!=0){if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);D[Biao].Xue-=R,Die(Biao),b=1;} else {if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);D[1].Xue-=R,Die(1),b=1;}}else cout<<"蓄势待发!"<<endl<<endl;Bai();Sleep(200);}
            Bai();
            }
        }
        for(int i=nl;i>0;i--) if(N[i].Hui!=0) N[i].Hui--;
        for(int i=nl;i>0;i--) if(N[i].Bing!=0) N[i].Bing--;
        for(int i=nl;i>0;i--) if(N[i].Du!=0) N[i].Du--;
        for(int i=dl;i>0;i--) if(D[i].Bing!=0) D[i].Bing--;
        if(Baodb!=0) Baodb--;if(Biaob!=0) Biaob--;
        if(nl<=0)
        {
            Yan(4);Sleep(2000);system("cls");
            cout<<endl<<"城破了,你输了!!!"<<endl<<endl;Sleep(1000);
            cout<<"你坚守了"<<t<<"天。"<<endl<<endl;Bai();Sleep(1000);system("pause");
            return;
        }
    }
    if(Hub!=0) Hub--;
    if(t>=3305536&&dl<=0) return;
    if(t<3305536) Mai(Moo);
    if(t<3305536&&Moo==0)
    {
        int u=0;
        x: Bai();
        Sleep(200);
        int y=rand()%11;
        if(t<10)
        {
            if(dl>=2) y=0;
            if(y<5) cout<<"没有新敌人出现。"<<endl<<endl;
            if(y>=5&&y<9) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
            if(y>=9) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
        }
        if(t<20&&t>=10)
        {
            if(dl>=2) y=7;
            if(y>=7) {cout<<"没有新敌人出现。"<<endl<<endl;y=0;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t<29&&t>=20)
        {
            if(dl>=2) y=9;
            if(y>=9) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t==29) Mo();
        if(t<45&&t>=30)
        {
            if(dl>=3) y=10;
            if(y>=10) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%2;
            if(dl<2&&w<1&&u<2) goto x;
        }
        if(t<59&&t>=45)
        {
            if(dl>=nl+1) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
        }
        if(t==59) Mo();if(t==60) Mo();
        if(t<79&&t>60)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==79) Mo();if(t==80) Mo();if(t==81) Mo();
        if(t<99&&t>81)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==99)
        {
            system("cls");Sleep(500);
            cout<<"第100天"<<endl<<endl;Yan(5);
            cout<<"飞机的轰鸣声响过,你的视野变为雪白......"<<endl<<endl; Sleep(1000);
            cout<<"激烈的战场瞬间寂静,机甲轰然倒塌......"<<endl<<endl;  Sleep(1000);
            cout<<"在层层迷雾中,远方若隐若现地显出军队的轮廓......"<<endl<<endl; Sleep(1000);
            cout<<"啊,你的援军到了!!!"<<endl<<endl;  Sleep(1000);
            cout<<"伟大的将帅啊,我们的首都,保住了!!!"<<endl<<endl;Sleep(3000);
            system("cls");Bai();
            cout<<endl<<"游戏目标达成,游戏结束!"<<endl<<endl;Sleep(2000);
            system("pause");return;
        }
        Bai();
    }
    Sleep(300);
    Round();
}
void Jiao()
{
    char a;Bai();
    cout<<endl<<" 现在进行教学模式。"<<endl;Sleep(1000);system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆加农炮:                 ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆价值:100                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:∞         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"●";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"请按1键以建造加农炮。"<<endl<<endl;a=_getch();N[1].Zhong=1,N[1].Xue=100,nl++;War();
    cout<<"好极了,他应该能帮我们守住城市。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆步兵:                   ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:50                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"○";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    D[1].Zhong=1,D[1].Xue=50,dl=1;
    system("pause");system("cls");War();
    cout<<"现在看看你的加农炮能把它怎么样!"<<endl<<endl;Sleep(1000);
    t=3305536,Round();
    cout<<"加农炮血多价廉,是战斗前期的必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆重机枪:                 ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:80                 ┆"<<endl;
    cout<<"┆价值:120                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"■";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"重机枪攻击力高,可以大量输出火力。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆骑兵:                   ┆"<<endl;
    cout<<"┆攻击力:20               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"□";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"骑兵血多,但攻击力低。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆迫击炮:                 ┆"<<endl;
    cout<<"┆攻击力:70               ┆"<<endl;
    cout<<"┆血量:150                ┆"<<endl;
    cout<<"┆价值:150                ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆目标:最后一个敌人       ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"▲";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"迫击炮攻击力高,并可以在一些血少敌人出场时将其击杀。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮兵:                   ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:30                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"△";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮兵攻击力高,需要速决。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆喷火器:                 ┆"<<endl;
    cout<<"┆攻击力:50+30+10         ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆价值:200                ┆"<<endl;
    cout<<"┆目标:前三个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▼";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"喷火器,超值攻击礼包。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆城墙:                   ┆"<<endl;
    cout<<"┆血量:500                ┆"<<endl;
    cout<<"┆价值:250                ┆"<<endl;
    cout<<"┆最多建造数量:1          ┆"<<endl;
    cout<<"┆符号: ▎                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"救场神器!相当于无敌多回合!"<<endl<<endl;
    cout<<"城墙会自动放置在战场最前方。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆药兵:                   ┆"<<endl;
    cout<<"┆攻击力:-20(治愈己方)  ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:任意一个己方       ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▽";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"药兵血多,不过不会攻击。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆电磁炮:                 ┆"<<endl;
    cout<<"┆攻击力:300+100          ┆"<<endl;
    cout<<"┆       (蓄力2回合)     ┆"<<endl;
    cout<<"┆血量:400                ┆"<<endl;
    cout<<"┆价值:270                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:2          ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"电磁炮是对付坦克的必备法宝。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮灰:                   ┆"<<endl;
    cout<<"┆攻击力:500(蓄力1回合) ┆"<<endl;
    cout<<"┆血量:10                 ┆"<<endl;
    cout<<"┆掉落金币:10             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◇";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮灰出场时,务必第一时间将其击杀。"<<endl<<endl;
    cout<<"炮灰爆炸时,自己也会死亡。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆火箭炮:                 ┆"<<endl;
    cout<<"┆攻击力:20*7             ┆"<<endl;
    cout<<"┆血量:300                ┆"<<endl;
    cout<<"┆价值:300                ┆"<<endl;
    cout<<"┆目标:任意九个敌人       ┆"<<endl;
    cout<<"┆最多建造数量:3          ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"★";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"火箭炮极其有用,后期必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆坦克:                   ┆"<<endl;
    cout<<"┆攻击力:80               ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆掉落金币:50             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"☆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"坦克,你的噩梦!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
    cout<<endl<<"开局时,你有一个城墙。"<<endl<<endl;Sleep(2000);
    cout<<"建造炮塔要花费金币,你的金币每回合+10。"<<endl<<endl;Sleep(2000);
    cout<<"后期会出BOSS——机甲,这时你的金币每回合+30。"<<endl<<endl;Sleep(2000);
    cout<<"你的金币储量上限为300。"<<endl<<endl,Sleep(2000);
    cout<<"打爆一个敌人有几率掉道具。"<<endl<<endl;Sleep(2000);
    cout<<"每个炮塔一回合只能攻击一次。"<<endl<<endl;Sleep(2000);
    cout<<"当所有炮塔阵亡时,游戏结束。"<<endl<<endl;Sleep(2000);
    cout<<"伟大的将帅啊,请你保卫我们的首都!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
}
int main()
{
    srand((unsigned)time(NULL));
    system("mode con cols=46 lines=40");
    ST:system("cls");
    memset(N,0,sizeof(N));memset(D,0,sizeof(D));memset(X,0,sizeof(X));
    t=nl=dl=Moo=Biao=Biaob=Bao=Baob=Baod=Baodb=Hub=Fengb=Sha=Jian=Shab=Jianb=0;
    Bai(); cout<<endl<<" ----------------城市守卫战------------------"<<endl;
    cout<<" --------------------------作者:胎神--------"<<endl<<endl;
    cout<<" 2.0版本:"<<endl<<endl;
    cout<<" 5大更新主题:"<<endl<<endl;
    cout<<"    --新武器解锁!救场神器---城墙!"<<endl<<endl;
    cout<<"    --伤害变随机!更多变的战局!"<<endl<<endl;
    cout<<"    --3大成就全新来袭,获得金币更容易!"<<endl<<endl;
    cout<<"    --全新战场输出模式!不串行!"<<endl<<endl;
    cout<<"    --金币与炮塔上限已加入。"<<endl<<endl;
    cout<<" 另:建塔和用道具";Yan(3);cout<<"不需要按回车!"<<endl<<endl;Bai();
    cout<<" 输入: 1.教学模式   2.战争模式"<<endl;
    st:
    char a;a=_getch();
    if(a=='1') {Jiao(),N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<"现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else if(a=='2') {N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<" 现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else goto st;
    Bai();
    return 0;
}

13#
发表于 2019-12-14 08:48:08 | 只看该作者
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
using namespace std;
int t,nl,dl,Money,Moo,Dao,Yi,Shan,Qing,Hu;
int Biao,Biaob,Bao=1,Baob,Baod=1,Baodb,Hub,Fengb,Sha,Jian,Shab,Jianb;
int X[10];
bool Daob,Yib,Shanb,Qingb,Hubb;
struct node {int Zhong,Xue,Bing,Hui,Du;} N[100001],D[100001];
void Yan(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);
}
void Bai() {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);}
void Cout(int x,int a)
{
    Yan(a);int k;
    if(x==1) {if(a==0) cout<<"城墙";if(a==1) cout<<"加农炮";if(a==2) cout<<"重机枪";if(a==3) cout<<"迫击炮";if(a==4) cout<<"喷火器";if(a==5) cout<<"火箭炮";if(a>=6) cout<<"电磁炮";}
    if(x==2)
    {
        if(a==1) cout<<"步兵",Money+=20,k=20;if(a==2) cout<<"骑兵",Money+=30,k=30;if(a==3) cout<<"炮兵",Money+=30,k=30;if(a==4) cout<<"药兵",Money+=30,k=30;if(a==6||a==7) cout<<"炮灰",Money+=10,k=10;if(a==5) cout<<"坦克",Money+=50,k=50;
        if(a==8) Yan(3),cout<<"金刚机甲",Money+=100;if(a==9) Yan(1),cout<<"寒冰机甲",Money+=100;if(a==10) Yan(2),cout<<"木毒机甲",Money+=100;if(a==11) Yan(3),cout<<"飓风机甲",Money+=100;if(a==12) Yan(4),cout<<"烈焰机甲",Money+=100;if(a>=8) k=100;
    }
    Yan(4);Sleep(200),cout<<"......爆!!!";
    if(x==2) Yan(5),cout<<"掉落"<<k<<"金币!";cout<<endl<<endl,Sha++;
    if(Sha%20==0&&Shab<Sha) Yan(5),cout<<"成就:杀死"<<Sha<<"个敌人,完成!加30金币!"<<endl<<endl,Sleep(500),Bai(),Money+=30,Shab=Sha;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Bai();
}
void War()
{
    int zn=0,zd=0;if(nl-5>0) zn=nl%5;if(dl-5>0) zd=dl%5;cout<<"┌";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┐"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=1;i<=5;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5;i>0;i--) if(i>=nl+1) cout<<"    ";
    for(int i=5;i>0;i--)
    {
        if(i>=nl+1) continue;
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=1;i<=5;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    if(zn>0||zd>0)
    {
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) cout<<"    ";
    for(int i=5+zn;i>5;i--)
    {
        Yan(1);if(i<=0) break;
        if(N[i].Bing>0) Yan(6);
        if(N[i].Du>0) Yan(2);
        if(N[i].Hui>0) Yan(3);
        cout<<setw(4)<<N[i].Xue; Bai();
    }
    for(int i=6;i<=10;i++)
    {
        Yan(4);
        if(i>dl) {cout<<"    ";continue;}
        if(Baodb!=0) Yan(2);
        if(D[i].Zhong>=8) Yan(3);
        cout<<setw(4)<<D[i].Xue; Bai();
    }Bai();
    cout<<" ┆"<<endl<<"┆";
    for(int i=5-zn;i>0;i--) {cout<<"    ";continue;}
    for(int i=5+zn;i>5;i--)
    {
        Yan(N[i].Zhong);if(N[i].Bing>0) Yan(6);
        if(N[i].Zhong==0) cout<<"  ▎";if(N[i].Zhong==1) cout<<"  ●";if(N[i].Zhong==2) cout<<"  ■";if(N[i].Zhong==3) cout<<"  ▲";if(N[i].Zhong==4) cout<<"  ▼";if(N[i].Zhong==5) cout<<"  ★";if(N[i].Zhong>=6) cout<<"  ◆";
        Bai();
    }
    for(int i=6;i<=10;i++)
    {
        if(i>dl) {cout<<"    ";continue;}
        Yan(D[i].Zhong);if(D[i].Bing>0) Yan(4);
        if(D[i].Zhong==1) cout<<"  ○";if(D[i].Zhong==2) cout<<"  □";if(D[i].Zhong==3) cout<<"  △";if(D[i].Zhong==4) cout<<"  ▽";if(D[i].Zhong==5) cout<<"  ☆";if(D[i].Zhong>=6&&D[i].Zhong<=7) cout<<"  ◇";if(D[i].Zhong==8) Yan(5),cout<<"  金";if(D[i].Zhong==9) Yan(1),cout<<"  冰";if(D[i].Zhong==10) Yan(2),cout<<"  毒";if(D[i].Zhong==11) Yan(3),cout<<"  风";if(D[i].Zhong==12) Yan(4),cout<<"  火";
        Bai();
    }
    }
    cout<<" ┆"<<endl<<"└";
    for(int i=0;i<=40;i++) cout<<'-';cout<<"┘"<<endl;
    Sleep(500);
}
void Ju(int a)
{
    Sleep(1000);system("cls");Bai();
    if(a==0)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆导弹:               ┆"<<endl;
        cout<<"┆攻击力:300          ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==1)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆医疗包:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆攻击力:-30*5(回血)┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==2)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆闪光弹:             ┆"<<endl;
        cout<<"┆目标:指定目标       ┆"<<endl;
        cout<<"┆效果:使一个指定敌人 ┆"<<endl;
        cout<<"┆    停止攻击,并使所 ┆"<<endl;
        cout<<"┆    有炮塔攻击该敌人.┆"<<endl;
        cout<<"┆持续时间:5回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==3)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆狂暴血清:           ┆"<<endl;
        cout<<"┆目标:所有炮塔       ┆"<<endl;
        cout<<"┆效果:使炮塔攻击2次  ┆"<<endl;
        cout<<"┆持续时间:2回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    if(a==4)
    {
        cout<<"┌---------------------┐"<<endl;
        cout<<"┆新道具解锁!         ┆"<<endl;
        cout<<"┆                     ┆"<<endl;
        cout<<"┆无敌护罩:           ┆"<<endl;
        cout<<"┆效果:使所有炮塔无敌 ┆"<<endl;
        cout<<"┆持续时间:3回合      ┆"<<endl;
        cout<<"└---------------------┘"<<endl;
    }
    Sleep(1000);system("pause");system("cls");
}
void Die(int m)
{
    if(D[m].Xue<=0)
    {
        if(Biao==m) Biao=0;
        if(D[m].Zhong>=8) Moo=0;
        Cout(2,D[m].Zhong);
        for(int i=m;i<dl;i++)
        {
            if(Biao==i) Biao--;
            D[i].Xue=D[i+1].Xue;
            D[i].Zhong=D[i+1].Zhong;
            D[i].Bing=D[i+1].Bing;
        }
        D[dl].Xue=0,D[dl].Zhong=0,D[dl].Bing=0;dl--;
        int a=rand()%10;
        if(a==0&&t<1000)
        {
            Yan(4);
            cout<<"从敌人尸体中发现道具——"; Sleep(500);
            int b=rand()%5;
            if(b==0) {cout<<"导弹!"<<endl<<endl,Dao++;Sleep(2000);if(Daob==0) Ju(0);Daob=1;}
            if(b==1) {cout<<"医疗包!"<<endl<<endl,Yi++;Sleep(2000);if(Yib==0) Ju(1);Yib=1;}
            if(b==2) {cout<<"闪光弹!"<<endl<<endl,Shan++;Sleep(2000);if(Shanb==0) Ju(2);Shanb=1;}
            if(b==3) {cout<<"狂暴血清!"<<endl<<endl,Qing++;Sleep(2000);if(Qingb==0) Ju(3);Qingb=1;}
            if(b==4) {cout<<"无敌护罩!"<<endl<<endl,Hu++;Sleep(2000);if(Hubb==0) Ju(4);Hubb=1;}
            Bai();War();
        }
    }
}
void DieN(int m)
{
    if(N[m].Xue<=0)
    {
        Cout(1,N[m].Zhong);
        for(int i=m;i<nl;i++)
        {
            N[i].Xue=N[i+1].Xue;
            N[i].Zhong=N[i+1].Zhong;
            N[i].Bing=N[i+1].Bing;
            N[i].Hui=N[i+1].Hui;
        }
        N[nl].Xue=0,N[nl].Zhong=0,N[nl].Bing=0,N[nl].Hui=0;nl--;
    }
}
void Zao(int a)
{
    if((a==1&&Money<100)||(a==2&&(Money<120||X[2]>=5))||(a==3&&(Money<150||X[3]>=5))||(a==4&&(Money<200||X[4]>=3))||(a==5&&(Money<250||X[0]>0))||(a==6&&(Money<270||X[6]+X[7]+X[8]>=2))||(a==7&&(Money<300||X[5]>=3)))
    {Yan(3),cout<<endl<<"无效输入。",Bai( );Sleep(500);return;}nl++;
    if(a==1) N[nl].Xue=100,N[nl].Zhong=1,Money-=100;
    if(a==2) N[nl].Xue=80,N[nl].Zhong=2,Money-=120;
    if(a==3) N[nl].Xue=150,N[nl].Zhong=3,Money-=150;
    if(a==4) N[nl].Xue=200,N[nl].Zhong=4,Money-=200;
    if(a==5){N[nl].Xue=N[nl].Zhong=0,Money-=250;for(int i=nl;i>0;i--) swap(N[i],N[i-1]);N[1].Xue=500;}
    if(a==6) N[nl].Xue=400,N[nl].Zhong=6,Money-=270;
    if(a==7) N[nl].Xue=300,N[nl].Zhong=5,Money-=300;
    Yan(5);cout<<endl<<"建造成功!"<<endl<<endl;Sleep(500);cout<<"你的金币数量:"<<Money;Bai();Jian++;
    if(Jian%10==0&&Jianb<Jian) Yan(5),cout<<endl<<endl<<"成就:建造"<<Jian<<"个炮塔,完成!加30金币!",Sleep(500),Bai(),Money+=30,Jianb=Jian;
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
}
void ZaoN(int a)
{
    dl++;
    if(a==1) D[dl].Xue=50,D[dl].Zhong=1;
    if(a==2) D[dl].Xue=100,D[dl].Zhong=2;
    if(a==3) D[dl].Xue=30,D[dl].Zhong=3;
    if(a==4) D[dl].Xue=100,D[dl].Zhong=4;
    if(a==5) D[dl].Xue=200,D[dl].Zhong=5;
    if(a==6) D[dl].Xue=10,D[dl].Zhong=6;
    if(a>=8) D[dl].Xue=1000,D[dl].Zhong=a;
}
void Yong(int a)
{
    int b;
    if(a==0) return;
    if((a==1&&Dao==0)||(a==2&&Yi==0)||(a==3&&Shan==0)||(a==4&&Qing==0)||(a==5&&Hu==0)) {cout<<"无效输入。"<<endl;Sleep(500);return;}
    if(a==1)
    {
        cout<<endl<<"导弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"导弹发射!命中目标!"<<endl<<endl;Bai(),D[b].Xue-=300;Die(b),Bai(),Dao--; return;
    }
    if(a==2)
    {
        cout<<endl<<"医疗包随时准备空投!";Sleep(500);cout<<"目标是第几个炮塔?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>nl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"医疗包开始医疗!"<<endl<<endl;Bai(),N[nl-b+1].Hui+=5,Bai(),Yi--; return;
    }
    if(a==3)
    {
        cout<<endl<<"闪光弹随时准备发射!";Sleep(500);cout<<"目标是第几个敌人?-- ";
        char b=_getch();cout<<b<<endl;b-=48; if(b>dl||b<=0) {cout<<"无效输入。"<<endl;Sleep(500);return;}
        Yan(4),cout<<endl<<"闪光弹发射!命中目标!"<<endl<<endl;Bai(),Biao=b,D[b].Bing+=5,Biaob+=5,Shan--; return;
    }
    if(a==4) cout<<endl<<"狂暴血清爆发!"<<endl<<endl,Bai(),Baob+=2,Bai(),Qing--;
    if(a==5) cout<<endl<<"无敌护罩开启!"<<endl<<endl,Bai(),Hub+=3,Bai(),Hu--;
}
void Mo()
{
    int x=rand()%5;
    if(x==0)
    {
        Yan(5);
        cout<<"金刚机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆金刚机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——扫射:           ┆"<<endl;
        cout<<"┆     攻击力:40*n            ┆"<<endl;
        cout<<"┆     目标:所有炮塔          ┆"<<endl;
        cout<<"┆攻击力:200                  ┆"<<endl;
        cout<<"┆目标:第一个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(5);cout<<"金";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(8);
    }
    if(x==1)
    {
        Yan(1);
        cout<<"寒冰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆寒冰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——冰冻:           ┆"<<endl;
        cout<<"┆   攻击力:30                ┆"<<endl;
        cout<<"┆   效果:冰冻任意一个炮塔    ┆"<<endl;
        cout<<"┆     持续时间:3回合         ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆掉落金币:100                ┆"<<endl;
        cout<<"┆符号: ";Yan(1);cout<<"冰";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(9);
    }
    if(x==2)
    {
        Yan(2);                        
        cout<<"木毒机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆木毒机甲:                   ┆"<<endl;                                                                     
        cout<<"┆特殊技能——狂毒:           ┆"<<endl;
        cout<<"┆   效果:使每个敌人攻击2次   ┆"<<endl;
        cout<<"┆   持续时间:2回合           ┆"<<endl;
        cout<<"┆攻击力:10*4                 ┆"<<endl;
        cout<<"┆目标:所有炮塔               ┆"<<endl;
        cout<<"┆持续时间:4回合              ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(2);cout<<"毒";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);                       
        system("pause");system("cls");
        ZaoN(10);
    }
    if(x==3)
    {
        Yan(3);
        cout<<"飓风机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆飓风机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——幻风:           ┆"<<endl;
        cout<<"┆   攻击力:50*2(对炮塔)    ┆"<<endl;
        cout<<"┆   效果:调换2个单位的位置   ┆"<<endl;
        cout<<"┆   目标:任意2个炮塔或敌人   ┆"<<endl;
        cout<<"┆攻击力:30%*该炮塔血量       ┆"<<endl;
        cout<<"┆目标:前三个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(3);cout<<"风";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(11);
    }
    if(x==4)
    {
        Yan(4);
        cout<<"烈焰机甲出现了!"<<endl<<endl;
        Sleep(1000);system("cls");Bai();
        cout<<"┌-----------------------------┐"<<endl;
        cout<<"┆新敌人出现!                 ┆"<<endl;
        cout<<"┆                             ┆"<<endl;
        cout<<"┆烈焰机甲:                   ┆"<<endl;
        cout<<"┆特殊技能——火球:           ┆"<<endl;
        cout<<"┆   攻击力:30*5              ┆"<<endl;
        cout<<"┆   目标:任意五个炮塔        ┆"<<endl;
        cout<<"┆攻击力:40+30+20+10+5        ┆"<<endl;
        cout<<"┆目标:前五个炮塔             ┆"<<endl;
        cout<<"┆血量:1000                   ┆"<<endl;
        cout<<"┆符号: ";Yan(4);cout<<"火";Bai();cout<<"                    ┆"<<endl;
        cout<<"└-----------------------------┘"<<endl;Sleep(2000);
        system("pause");system("cls");
        ZaoN(12);
    }
    Moo=1;
}
void Mai(int x)
{
    char a;
    if(x==0) Money+=10,Yan(5),Sleep(500),cout<<"你的金币+10。"<<endl<<endl,Bai();
    if(x==1) Money+=30,Yan(3),Sleep(500),cout<<"机甲临城,",Yan(5),cout<<"你的金币+30。"<<Money<<endl<<endl,Bai();
    if(Money>=300) Money=300,Yan(3),cout<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
    y:
    while(Money>=100)
    {
        memset(X,0,sizeof(X));
        for(int i=1;i<=nl;i++) X[N[i].Zhong]++;
        if(Money>=100) cout<<"你现在可以购买:1.加农炮  ";if(Money>=120&&X[2]<5) cout<<"2.重机枪  ";if(Money>=150&&X[3]<5) cout<<"3.迫击炮  ";if(Money>=200&&X[4]<3) cout<<"4.喷火器  ";
        if(Money>=250&&X[0]==0) cout<<"5.城墙  ";if(Money>=270&&X[6]+X[7]+X[8]<2) cout<<"6.电磁炮  ";if(Money>=300&&X[5]<3) cout<<"7.火箭炮";
        if(Money>=100)
        {
            cout<<endl<<endl<<"---你想购买什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'7') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Zao(a-'0');cout<<endl<<endl;Bai();War();
            goto y;
            Yan(5),Sleep(500),cout<<"你的金币数量:"<<Money<<endl<<endl,Bai(),Sleep(500);
        }
    }cout<<endl;
    z:
    while(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
    {
        War();
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0) cout<<"你现在可以使用:"; if(Dao>0) cout<<"1.导弹("<<Dao<<"个) ";if(Yi>0) cout<<"2.医疗包("<<Yi<<"个) ";if(Shan>0) cout<<"3.闪光弹("<<Shan<<"个) ";if(Qing>0) cout<<"4.狂暴血清("<<Qing<<"个) ";if(Hu>0) cout<<"5.无敌护罩("<<Hu<<"个) ";
        if(Dao>0||Yi>0||Shan>0||Qing>0||Hu>0)
        {
            cout<<endl<<endl<<"---你想使用什么?(按0取消)---  ";a=_getch();cout<<a<<endl;
            if(a=='0') break;
            if(a<'0'||a>'9') {cout<<"无效输入。"<<endl<<endl;Sleep(500);goto y;}
            Yong(a-'0');cout<<endl<<endl;
            goto z;
        }
    }cout<<endl;
}
void Chu(int y)
{
    if(y<=1) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
    if(y>=2&&y<4) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
    if(y>=4&&y<5) Yan(3),cout<<"呀!来了个炮兵!"<<endl<<endl,ZaoN(3);
    if(y>=5&&y<6) Yan(4),cout<<"呀!来了个药兵!"<<endl<<endl,ZaoN(4);
    if(y>=6&&y<7) Yan(6),cout<<"呀!来了个炮灰!"<<endl<<endl,ZaoN(6);
    if(y>=7&&y<10) Yan(5),cout<<"呀!来了个坦克!"<<endl<<endl,ZaoN(5);
    if(y>=10) cout<<"没有新敌人出现。"<<endl<<endl;
    Sleep(1000);
}
void Huo(int n)
{
    Sleep(100);
    bool k[31];int R=15+rand()%11;
    memset(k,0,sizeof(k));
    for(int i=1;i<=7;i++)
    {
        int y=rand()%n+1;
        if(Biao!=0) y=Biao;
        D[y].Xue-=R;
        k[y]=1;
        cout<<y;Sleep(50);
        if(i!=7) cout<<"、";Sleep(50);
    }cout<<"个目标,";Sleep(100);cout<<R<<"*7点伤害!"<<endl<<endl;
    for(int i=30;i>0;i--) if(k[i]==1) Die(i);
}
void Jiu(int n)
{
    Sleep(100);int R=15+rand()%11;
    int y=rand()%n+1;
    D[y].Xue+=R;
    cout<<y;Sleep(100);
    cout<<"个目标,";Sleep(100);cout<<R<<"点血!"<<endl<<endl;
    Bai(); War();
}
void Bjing(int n,int i)
{
    int x=rand()%5;int y=rand()%10;int R=190+rand()%21,R2=30+rand()%21;
    if(x==0&&D[i].Bing==0){ Yan(4),cout<<"金刚机甲锤击!"<<R<<"点伤害!"<<endl<<endl;if(Hub==0&&D[i].Bing==0) N[1].Xue-=R,DieN(1);return;}
    if(x>=1&&x<3&&D[i].Bing==0)
    {
        Yan(4),cout<<"金刚机甲扫射!"<<R2<<"*"<<nl<<"点伤害!"<<endl<<endl;
        if(Hub==0&&D[i].Bing==0) for(int i=1;i<=nl;i++) N[i].Xue-=R2,DieN(i);return;
    }
    if(nl<4&&dl>=3) {cout<<"金刚机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"金刚机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bbing(int n,int i)
{
    int x=rand()%5;int y=rand()%n+1;int z=rand()%10;int R=20+rand()%21;
    if(x<2&&D[i].Bing==0)
    {
        if(Hub==0&&D[i].Bing==0) N[y].Bing=3,N[y].Xue-=30,DieN(y);
        Yan(4),cout<<"寒冰机甲攻击!冰冻了你方第";cout<<nl-y+1;Sleep(100);
        cout<<"个目标,";Sleep(300);cout<<R<<"点伤害!"<<endl<<endl;
        Bai();Sleep(500),War();
        return;
    }
    if((dl>=3&&nl<4)||x==2) {cout<<"寒冰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);Bai();War();}
    if(x==4) {Yan(4),cout<<"寒冰机甲召唤!"<<endl<<endl;Chu(z);if(dl<3) z=rand()%10,Chu(z);Bai();War();}
    Bai();
}
void Bdu(int n,int i)
{
    int x=rand()%8;int y=rand()%10;
    if(x<2&&D[i].Bing==0)
    {
        Yan(4),cout<<"木毒机甲向你放毒!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"所有炮塔中毒!";
            for(int i=1;i<=nl;i++) N[i].Du=4;
        }
        cout<<endl<<endl;return;
    }
    if(x==2&&D[i].Bing==0) {Yan(4),cout<<"木毒机甲向己方放毒!所有敌人中毒,攻速*2!"<<endl<<endl,Baodb=2;return;}
    if((x>4)||(nl<4&&dl>=3)) {cout<<"木毒机甲蓄力。"<<endl<<endl;return;}
    if(x>2&&x<=4) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==5) {Yan(4),cout<<"木毒机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Bju(int n,int m,int i)
{
    int x=rand()%5,xx=rand()%10,y,yy,z,zz;int R=40+rand()%21;
    if(nl==1) while (x==0) x=rand()%5;
    else {y=rand()%n+1;z=y; while(z==y) z=rand()%n+1;}
    if(dl==1) while (x==1) x=rand()%5;
    else {yy=rand()%m+1;zz=yy; while(zz==yy) zz=rand()%m+1;}
    if(x==0&&D[i].Bing==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了你方第"<<n-y+1<<"个和"<<n-z+1<<"个炮塔的位置,";swap(N[y],N[z]);
        if(Hub==0) Sleep(300);cout<<R<<"*2点伤害!",N[y].Xue-=R,N[z].Xue-=R,DieN(y),DieN(z);
        cout<<endl<<endl;Bai();Sleep(500),War();return;
    }
    if(x==1&&Fengb==1) x=5;
    if(x==1&&D[i].Bing==0&&Fengb==0)
    {
        Yan(4),cout<<"飓风机甲刮起狂风!调换了己方第"<<yy<<"个和"<<zz<<"个敌人的位置!"<<endl<<endl;swap(D[yy],D[zz]);
        Bai();Sleep(500),War();Fengb=1;
        return;
    }
    if((dl>=3&&nl<4)||x==5) {cout<<"飓风机甲蓄力。"<<endl<<endl;return;}
    if(x==2) if(Hub==0&&D[i].Bing==0){cout<<"飓风机甲刮起狂风!前三个炮塔血量减30%!"<<endl<<endl;if(N[3].Xue!=0) N[3].Xue*=0.7,DieN(3);if(N[2].Xue!=0) N[2].Xue*=0.7,DieN(2);if(N[1].Xue!=0) N[1].Xue*=0.7,DieN(1);}
    if(x==3) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);Bai();War();}
    if(x==4) {Yan(4),cout<<"飓风机甲召唤!"<<endl<<endl;Chu(xx);if(dl<3) xx=rand()%10,Chu(xx);Bai();War();}
    Bai();
}
void Byan(int n,int i)
{
    int x=rand()%5;int y=rand()%10;
    if(x==0&&D[i].Bing==0)
    {
        int R=35+rand()%11,R1=25+rand()%11,R2=15+rand()%11,R3=5+rand()%11,R4=1+rand()%10;
        Yan(4),cout<<"烈焰机甲红焰迸出,火势燎原!";
        if(Hub==0&&D[i].Bing==0) cout<<R<<"+"<<R1<<"+"<<R2<<"+"<<R3<<"+"<<R4<<"点伤害!";cout<<endl<<endl;
        if(nl>=5) N[5].Xue-=R4,DieN(5);
        if(nl>=4) N[4].Xue-=R3,DieN(4);
        if(nl>=3) N[3].Xue-=R2,DieN(3);
        if(nl>=2) N[2].Xue-=R1,DieN(2);
        if(nl>=1) N[1].Xue-=R,DieN(1); return;
    }
    if(x==1&&D[i].Bing==0)
    {
        bool k[31];int R=25+rand()%11;
        memset(k,0,sizeof(k));
        Yan(4),cout<<"烈焰机甲的火焰聚成5个火球,向你飞来!";
        if(Hub==0&&D[i].Bing==0)
        {
            cout<<"击中了第";
            for(int i=0;i<5;i++)
            {
                int z=rand()%n+1;
                N[z].Xue-=R;
                k[z]=1;
                cout<<nl-z+1;Sleep(50);
                if(i!=4) cout<<"、";Sleep(50);
            }
            cout<<"个目标,";Sleep(100);cout<<R<<"*5伤害!";cout<<endl<<endl;
            for(int i=30;i>0;i--) if(k[i]==1) DieN(i);
        }
        return;
    }
    if((nl<4&&dl>=3)||x==2) {cout<<"烈焰机甲蓄力。"<<endl<<endl;return;}
    if(x==3) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);Bai();War();}
    if(x==4) {Yan(4),cout<<"烈焰机甲召唤!"<<endl<<endl;Chu(y);if(dl<3) y=rand()%10,Chu(y);Bai();War();}
    Bai();Sleep(100);
}
void Round()
{
    system("cls");t++;int R,R2,R3;
    if(t>=3305536) cout<<"第"<<t-3305536<<"天"<<endl<<endl;
    else cout<<"第"<<t<<"天"<<endl<<endl;
    if(t%10==0&&t>=30) Yan(5),cout<<"成就:坚守"<<t<<"天,完成!加30金币!"<<endl,Bai(),Money+=30;
    if(Money>=300) Money=300,Yan(3),cout<<endl<<"金币储量已达上限!"<<endl<<endl,Bai(),Sleep(500);
    War();Fengb=0;
    for(int i=1;i<=nl;i++) if(N[i].Hui!=0) N[i].Xue+=30;
    for(int i=1;i<=nl;i++) if(N[i].Du!=0) N[i].Xue-=10,DieN(i);
    if(Baob!=0) Bao=2;if(Baob==0) Bao=1;if(Baodb!=0) Baod=2;if(Baodb==0) Baod=1;if(Biaob==0) Biao=0;
    if(D[1].Xue<=0)
    {
        if(t!=0) cout<<"炮塔暂时没有发现敌人。"<<endl<<endl;Sleep(500);
        for(int i=nl;i>0;i--)
        {   int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1;
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0) {cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";Sleep(200);cout<<"蓄势待发!"<<endl<<endl;Bai();}
        }Bai();
    }
    else
    {
        if(Hub!=0) Yan(5),cout<<"无敌护罩耀耀生辉,将所有敌人的攻击阻挡在外。"<<endl<<endl,Sleep(500);
        for(int j=1;j<=Baod;j++)
        {
            if(j==2) Yan(4),cout<<"在毒性的催发下,敌人疯狂攻击着!"<<endl<<endl,Sleep(500);
            for(int i=1;i<=dl;i++)
            {
            int c=0;Yan(D[i].Zhong);
            if(D[i].Bing!=0) Yan(4),cout<<"在闪光弹的强光下,敌人睁不开眼睛!"<<endl<<endl,Sleep(500);
            if(D[i].Zhong==1&&nl>=0&&Hub==0&&D[i].Bing==0) R=20+rand()%21,cout<<"步兵开枪了!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=R,DieN(1);
            if(D[i].Zhong==2&&nl>=0&&Hub==0&&D[i].Bing==0) R=10+rand()%21,cout<<"骑兵身形一抖,向前一刺!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=20,DieN(1);
            if(D[i].Zhong==3&&nl>=0&&Hub==0&&D[i].Bing==0) R=40+rand()%21,cout<<"炮兵点火,炮声响彻天际!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=50,DieN(1);
            if(D[i].Zhong==4&&nl>=0&&D[i].Bing==0) cout<<"药兵开始治疗!恢复了第",Jiu(dl);
            if(D[i].Zhong==5&&nl>=0&&Hub==0&&D[i].Bing==0) R=70+rand()%21,cout<<"坦克的穿甲弹从炮管口滚滚白烟中冲出!"<<R<<"点伤害!"<<endl<<endl,N[1].Xue-=80,DieN(1);
            if(c==0&&D[i].Zhong==6&&nl>=0&&D[i].Bing==0) cout<<"炮灰点燃了",Yan(4),cout<<"炸弹的引信!"<<endl<<endl,D[i].Zhong++,c=1;
            if(c==0&&D[i].Zhong==7&&nl>=0&&D[i].Bing==0) {R=490+rand()%21,cout<<"炮灰",Yan(4),cout<<"爆炸!!!",Sleep(500),cout<<R<<"点伤害!"<<endl<<endl;if(Hub==0) N[1].Xue-=500,DieN(1);D[i].Xue-=500,Die(i),c=1;}
            if(D[i].Zhong==8&&nl>=0) Yan(5),Bjing(nl,i);
            if(D[i].Zhong==9&&nl>=0) Yan(1),Bbing(nl,i);
            if(D[i].Zhong==10&&nl>=0) Yan(2),Bdu(nl,i);
            if(D[i].Zhong==11&&nl>=0) Yan(3),Bju(nl,dl,i);
            if(D[i].Zhong==12&&nl>=0) Yan(4),Byan(nl,i);
            if(nl>=0) Sleep(200);Bai();
            }
        }
        for(int j=1;j<=Bao;j++)
        {
            if(j==2) Yan(4),cout<<"狂暴血清爆发了,炮塔疯狂地发射着子弹!"<<endl<<endl,Sleep(500),Baob--;
            for(int i=nl;i>0;i--)
            {
            int b=0;Yan(N[i].Zhong);
            if(N[i].Zhong==0) {cout<<"城墙巍然不动。"<<endl<<endl;Sleep(200);}
            if(N[i].Zhong==1&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=20+rand()%21,cout<<"加农炮一炮发出!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==2&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,cout<<"重机枪射出复仇的子弹!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[1].Xue-=R,Die(1);Sleep(200);}
            if(N[i].Zhong==3&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=60+rand()%21,cout<<"迫击炮的炮弹划出一条完美的抛物线!"<<R<<"点伤害!"<<endl<<endl;if(Biao!=0) D[Biao].Xue-=R,Die(Biao);else D[dl].Xue-=R,Die(dl);Sleep(200);}
            if(N[i].Zhong==4&&D[1].Zhong!=0&&N[i].Bing==0) {if(D[1].Zhong!=0)R=40+rand()%21,R2=20+rand()%21,R3=rand()%21,cout<<"喷火器喷出熊熊烈火!"<<R<<"+"<<R2<<"+"<<R3<<"点伤害!"<<endl<<endl;if(Biao!=0){if(D[Biao+2].Zhong!=0)D[Biao+2].Xue-=R3,Die(Biao+2);if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);if(D[Biao].Zhong!=0)D[Biao].Xue-=R,Die(Biao);}else{if(D[3].Zhong!=0)D[3].Xue-=R3,Die(3);if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);if(D[1].Zhong!=0)D[1].Xue-=R,Die(1);}Sleep(200);}
            if(N[i].Zhong==5&&D[1].Zhong!=0&&N[i].Bing==0) {if(dl!=0) cout<<"火箭炮的7枚火箭依次冲出!命中第";Huo(dl);Sleep(200);}
            if(b==0&&N[i].Zhong==6&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第1环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==7&&N[i].Bing==0) cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第2环,点亮!"<<endl<<endl,Bai(),N[i].Zhong++,b=1,Sleep(200);
            if(b==0&&N[i].Zhong==8&&N[i].Bing==0){cout<<"电磁炮,",Yan(4),Sleep(200),cout<<"第3环,点亮!";if(D[1].Zhong!=0){R=290+rand()%21,R2=90+rand()%21,Sleep(200);cout<<"然后...",Sleep(200),cout<<"轰!!!",Sleep(200),cout<<R<<"+"<<R2<<"点伤害!"<<endl<<endl,N[i].Zhong-=2;if(Biao!=0){if(D[Biao+1].Zhong!=0)D[Biao+1].Xue-=R2,Die(Biao+1);D[Biao].Xue-=R,Die(Biao),b=1;} else {if(D[2].Zhong!=0)D[2].Xue-=R2,Die(2);D[1].Xue-=R,Die(1),b=1;}}else cout<<"蓄势待发!"<<endl<<endl;Bai();Sleep(200);}
            Bai();
            }
        }
        for(int i=nl;i>0;i--) if(N[i].Hui!=0) N[i].Hui--;
        for(int i=nl;i>0;i--) if(N[i].Bing!=0) N[i].Bing--;
        for(int i=nl;i>0;i--) if(N[i].Du!=0) N[i].Du--;
        for(int i=dl;i>0;i--) if(D[i].Bing!=0) D[i].Bing--;
        if(Baodb!=0) Baodb--;if(Biaob!=0) Biaob--;
        if(nl<=0)
        {
            Yan(4);Sleep(2000);system("cls");
            cout<<endl<<"城破了,你输了!!!"<<endl<<endl;Sleep(1000);
            cout<<"你坚守了"<<t<<"天。"<<endl<<endl;Bai();Sleep(1000);system("pause");
            return;
        }
    }
    if(Hub!=0) Hub--;
    if(t>=3305536&&dl<=0) return;
    if(t<3305536) Mai(Moo);
    if(t<3305536&&Moo==0)
    {
        int u=0;
        x: Bai();
        Sleep(200);
        int y=rand()%11;
        if(t<10)
        {
            if(dl>=2) y=0;
            if(y<5) cout<<"没有新敌人出现。"<<endl<<endl;
            if(y>=5&&y<9) Yan(1),cout<<"呀!来了个步兵!"<<endl<<endl,ZaoN(1);
            if(y>=9) Yan(2),cout<<"呀!来了个骑兵!"<<endl<<endl,ZaoN(2);
        }
        if(t<20&&t>=10)
        {
            if(dl>=2) y=7;
            if(y>=7) {cout<<"没有新敌人出现。"<<endl<<endl;y=0;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t<29&&t>=20)
        {
            if(dl>=2) y=9;
            if(y>=9) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%3;
            if(dl<2&&w<3&&u<2) goto x;
        }
        if(t==29) Mo();
        if(t<45&&t>=30)
        {
            if(dl>=3) y=10;
            if(y>=10) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            int w=rand()%2;
            if(dl<2&&w<1&&u<2) goto x;
        }
        if(t<59&&t>=45)
        {
            if(dl>=nl+1) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
        }
        if(t==59) Mo();if(t==60) Mo();
        if(t<79&&t>60)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==79) Mo();if(t==80) Mo();if(t==81) Mo();
        if(t<99&&t>81)
        {
            if(dl>=nl+2) y=20;
            if(y==20) {cout<<"没有新敌人出现。"<<endl<<endl;}
            else Chu(y);u++;
            if(u<3) goto x;
            if(u==3&&y==0) goto x;
        }
        if(t==99)
        {
            system("cls");Sleep(500);
            cout<<"第100天"<<endl<<endl;Yan(5);
            cout<<"飞机的轰鸣声响过,你的视野变为雪白......"<<endl<<endl; Sleep(1000);
            cout<<"激烈的战场瞬间寂静,机甲轰然倒塌......"<<endl<<endl;  Sleep(1000);
            cout<<"在层层迷雾中,远方若隐若现地显出军队的轮廓......"<<endl<<endl; Sleep(1000);
            cout<<"啊,你的援军到了!!!"<<endl<<endl;  Sleep(1000);
            cout<<"伟大的将帅啊,我们的首都,保住了!!!"<<endl<<endl;Sleep(3000);
            system("cls");Bai();
            cout<<endl<<"游戏目标达成,游戏结束!"<<endl<<endl;Sleep(2000);
            system("pause");return;
        }
        Bai();
    }
    Sleep(300);
    Round();
}
void Jiao()
{
    char a;Bai();
    cout<<endl<<" 现在进行教学模式。"<<endl;Sleep(1000);system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆加农炮:                 ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆价值:100                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:∞         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"●";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"请按1键以建造加农炮。"<<endl<<endl;a=_getch();N[1].Zhong=1,N[1].Xue=100,nl++;War();
    cout<<"好极了,他应该能帮我们守住城市。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆步兵:                   ┆"<<endl;
    cout<<"┆攻击力:30               ┆"<<endl;
    cout<<"┆血量:50                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(1);cout<<"○";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    D[1].Zhong=1,D[1].Xue=50,dl=1;
    system("pause");system("cls");War();
    cout<<"现在看看你的加农炮能把它怎么样!"<<endl<<endl;Sleep(1000);
    t=3305536,Round();
    cout<<"加农炮血多价廉,是战斗前期的必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆重机枪:                 ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:80                 ┆"<<endl;
    cout<<"┆价值:120                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"■";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"重机枪攻击力高,可以大量输出火力。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆骑兵:                   ┆"<<endl;
    cout<<"┆攻击力:20               ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(2);cout<<"□";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"骑兵血多,但攻击力低。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆迫击炮:                 ┆"<<endl;
    cout<<"┆攻击力:70               ┆"<<endl;
    cout<<"┆血量:150                ┆"<<endl;
    cout<<"┆价值:150                ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆目标:最后一个敌人       ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"▲";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"迫击炮攻击力高,并可以在一些血少敌人出场时将其击杀。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮兵:                   ┆"<<endl;
    cout<<"┆攻击力:50               ┆"<<endl;
    cout<<"┆血量:30                 ┆"<<endl;
    cout<<"┆掉落金币:20             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(3);cout<<"△";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮兵攻击力高,需要速决。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆喷火器:                 ┆"<<endl;
    cout<<"┆攻击力:50+30+10         ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆价值:200                ┆"<<endl;
    cout<<"┆目标:前三个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:5          ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▼";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"喷火器,超值攻击礼包。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆城墙:                   ┆"<<endl;
    cout<<"┆血量:500                ┆"<<endl;
    cout<<"┆价值:250                ┆"<<endl;
    cout<<"┆最多建造数量:1          ┆"<<endl;
    cout<<"┆符号: ▎                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"救场神器!相当于无敌多回合!"<<endl<<endl;
    cout<<"城墙会自动放置在战场最前方。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆药兵:                   ┆"<<endl;
    cout<<"┆攻击力:-20(治愈己方)  ┆"<<endl;
    cout<<"┆血量:100                ┆"<<endl;
    cout<<"┆掉落金币:30             ┆"<<endl;
    cout<<"┆目标:任意一个己方       ┆"<<endl;
    cout<<"┆符号: ";Yan(4);cout<<"▽";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"药兵血多,不过不会攻击。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆电磁炮:                 ┆"<<endl;
    cout<<"┆攻击力:300+100          ┆"<<endl;
    cout<<"┆       (蓄力2回合)     ┆"<<endl;
    cout<<"┆血量:400                ┆"<<endl;
    cout<<"┆价值:270                ┆"<<endl;
    cout<<"┆目标:第一个敌人         ┆"<<endl;
    cout<<"┆最多建造数量:2          ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"电磁炮是对付坦克的必备法宝。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆炮灰:                   ┆"<<endl;
    cout<<"┆攻击力:500(蓄力1回合) ┆"<<endl;
    cout<<"┆血量:10                 ┆"<<endl;
    cout<<"┆掉落金币:10             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(6);cout<<"◇";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"炮灰出场时,务必第一时间将其击杀。"<<endl<<endl;
    cout<<"炮灰爆炸时,自己也会死亡。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新武器解锁!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆火箭炮:                 ┆"<<endl;
    cout<<"┆攻击力:20*7             ┆"<<endl;
    cout<<"┆血量:300                ┆"<<endl;
    cout<<"┆价值:300                ┆"<<endl;
    cout<<"┆目标:任意九个敌人       ┆"<<endl;
    cout<<"┆最多建造数量:3          ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"★";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"火箭炮极其有用,后期必备。"<<endl<<endl;Sleep(1000);
    system("pause");system("cls");
    cout<<"┌-------------------------┐"<<endl;
    cout<<"┆新敌人出现!             ┆"<<endl;
    cout<<"┆                         ┆"<<endl;
    cout<<"┆坦克:                   ┆"<<endl;
    cout<<"┆攻击力:80               ┆"<<endl;
    cout<<"┆血量:200                ┆"<<endl;
    cout<<"┆掉落金币:50             ┆"<<endl;
    cout<<"┆目标:第一个炮塔         ┆"<<endl;
    cout<<"┆符号: ";Yan(5);cout<<"☆";Bai();cout<<"                ┆"<<endl;
    cout<<"└-------------------------┘"<<endl;Sleep(2000);
    cout<<"坦克,你的噩梦!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
    cout<<endl<<"开局时,你有一个城墙。"<<endl<<endl;Sleep(2000);
    cout<<"建造炮塔要花费金币,你的金币每回合+10。"<<endl<<endl;Sleep(2000);
    cout<<"后期会出BOSS——机甲,这时你的金币每回合+30。"<<endl<<endl;Sleep(2000);
    cout<<"你的金币储量上限为300。"<<endl<<endl,Sleep(2000);
    cout<<"打爆一个敌人有几率掉道具。"<<endl<<endl;Sleep(2000);
    cout<<"每个炮塔一回合只能攻击一次。"<<endl<<endl;Sleep(2000);
    cout<<"当所有炮塔阵亡时,游戏结束。"<<endl<<endl;Sleep(2000);
    cout<<"伟大的将帅啊,请你保卫我们的首都!"<<endl<<endl;Sleep(2000);
    system("pause");system("cls");
}
int main()
{
    srand((unsigned)time(NULL));
    system("mode con cols=46 lines=40");
    ST:system("cls");
    memset(N,0,sizeof(N));memset(D,0,sizeof(D));memset(X,0,sizeof(X));
    t=nl=dl=Moo=Biao=Biaob=Bao=Baob=Baod=Baodb=Hub=Fengb=Sha=Jian=Shab=Jianb=0;
    Bai(); cout<<endl<<" ----------------城市守卫战------------------"<<endl;
    cout<<" --------------------------作者:胎神--------"<<endl<<endl;
    cout<<" 2.0版本:"<<endl<<endl;
    cout<<" 5大更新主题:"<<endl<<endl;
    cout<<"    --新武器解锁!救场神器---城墙!"<<endl<<endl;
    cout<<"    --伤害变随机!更多变的战局!"<<endl<<endl;
    cout<<"    --3大成就全新来袭,获得金币更容易!"<<endl<<endl;
    cout<<"    --全新战场输出模式!不串行!"<<endl<<endl;
    cout<<"    --金币与炮塔上限已加入。"<<endl<<endl;
    cout<<" 另:建塔和用道具";Yan(3);cout<<"不需要按回车!"<<endl<<endl;Bai();
    cout<<" 输入: 1.教学模式   2.战争模式"<<endl;
    st:
    char a;a=_getch();
    if(a=='1') {Jiao(),N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<"现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else if(a=='2') {N[1].Zhong=0,N[1].Xue=500,nl=1,Money=90;cout<<endl<<" 现在进行战争模式。"<<endl<<endl;Sleep(1000);t=0;Round();goto ST;}
    else goto st;
    Bai();
    return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表