void refresh_map() //i代表行,即纵坐标;j代表列氛围,即横坐标
对于(int i = 0; i
对于(int j = 0; j
地图[i][j]=0;
对于(int i = 0; i
地图[i][0]=1;
地图[i][29]=1;
对于(int j = 0; j
地图[0][j]=1;
地图[29][j]=1;
对于(int i = 0; i
对于(int j = 0; j
地图[i+26][j+13]=主页[i][j];
对于(int i = 0; i
对于(int j = 0; j
地图[i+1][j+1] = 事物[i][j];
switch(state) //地图第四部分:坦克(始终变化)
情况1:
映射[y-1][x-1]=0;映射[y-1][x]=1;映射[y-1][x+1]=0;
映射[y][x-1]=1; 映射[y][x]=1; 映射[y][x+1]=1;
映射[y+1][x-1]=1;映射[y+1][x]=0;映射[y+1][x+1]=1;
}休息;
情况 2:
映射[y-1][x-1]=1;映射[y-1][x]=0;映射[y-1][x+1]=1;
映射[y][x-1]=1; 映射[y][x]=1; 映射[y][x+1]=1;
映射[y+1][x-1]=0;映射[y+1][x]=1;映射[y+1][x+1]=0;
}休息;
案例 3:
映射[y-1][x-1]=0;映射[y-1][x]=1;映射[y-1][x+1]=1;
映射[y][x-1]=1;映射[y][x]=1;映射[y][x+1]=0;
映射[y+1][x-1]=0;映射[y+1][x]=1;映射[y+1][x+1]=1;
}休息;
案例4:
映射[y-1][x-1]=1;映射[y-1][x]=1;映射[y-1][x+1]=0;
映射[y][x-1]=0;映射[y][x]=1;映射[y][x+1]=1;
映射[y+1][x-1]=1;映射[y+1][x]=1;映射[y+1][x+1]=0;
}休息;
切换(state_1)
情况1:
地图[y1-1][x1-1]=0; 地图[y1-1][x1]=1; 地图[y1-1][x1+1]=0;
地图[y1][x1-1]=1; 地图[y1][x1]=1; 地图[y1][x1+1]=1;
映射[y1+1][x1-1]=1; 映射[y1+1][x1]=0; 映射[y1+1][x1+1]=1;
}休息;
情况 2:
映射[y1-1][x1-1]=1;映射[y1-1][x1]=0;映射[y1-1][x1+1]=1;
地图[y1][x1-1]=1; 地图[y1][x1]=1; 地图[y1][x1+1]=1;
映射[y1+1][x1-1]=0;映射[y1+1][x1]=1;映射[y1+1][x1+1]=0;
}休息;
案例 3:
映射[y1-1][x1-1]=0;映射[y1-1][x1]=1;映射[y1-1][x1+1]=1;
映射[y1][x1-1]=1; 映射[y1][x1]=1; 映射[y1][x1+1]=0;
映射[y1+1][x1-1]=0; 映射[y1+1][x1]=1; 映射[y1+1][x1+1]=1;
}休息;
案例4:
映射[y1-1][x1-1]=1;映射[y1-1][x1]=1;映射[y1-1][x1+1]=0;
映射[y1][x1-1]=0; 映射[y1][x1]=1; 映射[y1][x1+1]=1;
映射[y1+1][x1-1]=1;映射[y1+1][x1]=1;映射[y1+1][x1+1]=0;
}休息;
切换(state_2)
情况1:
映射[y2-1][x2-1]=0;映射[y2-1][x2]=1;映射[y2-1][x2+1]=0;
地图[y2][x2-1]=1; 地图[y2][x2]=1; 地图[y2][x2+1]=1;
映射[y2+1][x2-1]=1; 映射[y2+1][x2]=0; 映射[y2+1][x2+1]=1;
}休息;
情况 2:
映射[y2-1][x2-1]=1;映射[y2-1][x2]=0;映射[y2-1][x2+1]=1;
地图[y2][x2-1]=1; 地图[y2][x2]=1; 地图[y2][x2+1]=1;
映射[y2+1][x2-1]=0; 映射[y2+1][x2]=1; 映射[y2+1][x2+1]=0;
}休息;
案例 3:
地图[y2-1][x2-1]=0; 地图[y2-1][x2]=1; 地图[y2-1][x2+1]=1;
映射[y2][x2-1]=1; 映射[y2][x2]=1; 映射[y2][x2+1]=0;
映射[y2+1][x2-1]=0; 映射[y2+1][x2]=1; 映射[y2+1][x2+1]=1;
}休息;
案例4:
地图[y2-1][x2-1]=1;地图[y2-1][x2]=1;地图[y2-1][x2+1]=0;
映射[y2][x2-1]=0; 映射[y2][x2]=1; 映射[y2][x2+1]=1;
映射[y2+1][x2-1]=1; 映射[y2+1][x2]=1; 映射[y2+1][x2+1]=0;
}休息;
切换(state_3)
情况1:
映射[y3-1][x3-1]=0;映射[y3-1][x3]=1;映射[y3-1][x3+1]=0;
地图[y3][x3-1]=1; 地图[y3][x3]=1; 地图[y3][x3+1]=1;
映射[y3+1][x3-1]=1; 映射[y3+1][x3]=0; 映射[y3+1][x3+1]=1;
}休息;
情况 2:
映射[y3-1][x3-1]=1;映射[y3-1][x3]=0;映射[y3-1][x3+1]=1;
地图[y3][x3-1]=1; 地图[y3][x3]=1; 地图[y3][x3+1]=1;
映射[y3+1][x3-1]=0; 映射[y3+1][x3]=1; 映射[y3+1][x3+1]=0;
}休息;
案例 3:
映射[y3-1][x3-1]=0;映射[y3-1][x3]=1;映射[y3-1][x3+1]=1;
映射[y3][x3-1]=1;映射[y3][x3]=1;映射[y3][x3+1]=0;
映射[y3+1][x3-1]=0; 映射[y3+1][x3]=1; 映射[y3+1][x3+1]=1;
}休息;
案例4:
映射[y3-1][x3-1]=1;映射[y3-1][x3]=1;映射[y3-1][x3+1]=0;
映射[y3][x3-1]=0; 映射[y3][x3]=1; 映射[y3][x3+1]=1;
映射[y3+1][x3-1]=1; 映射[y3+1][x3]=1; 映射[y3+1][x3+1]=0;
}休息;
无效我的移动()
字符键;
if (kbhit()) //检测,如果有键按下,则执行if函数
key = getch(); //捕获密钥
开关(键)
案例 72:turn_up(my_tank); //向上
休息;
案例 75:turn_left(my_tank);//左转
休息;
案例 77:turn_right(my_tank);//向右
休息;
案例 80:turn_down(my_tank);//向下
休息;
case 32:stop(); //暂停或开始的空间
休息;
case 104:help(); //切换到帮助菜单
休息;
case 115:switch_skin(),print_my_tank(); //使用小s键切换皮肤
休息;
case 119:switch_weapons(); //用小w键切换武器
休息;
case 27:exit(0);//Esc退出
默认: ;
int check1(int x,int y)//就是上面那个,用它来检查
对于(int j = y; j
如果(map[j][x]==4)
返回0;
返回1;
int check2(int x,int y)//左边用它来检查
对于(int i = x; i
如果(地图[y][i]==4)
返回0;
返回1;
int check3(int x,int y)//在右边,用它来检查
对于(int i = x; i> 15; i--)
如果(地图[y][i]==4)
返回0;
返回1;
无效move_1()
if((x1==14 || x1==15) && check1(x1,y1))//就在上方
如果(state_1!=2)
turn_down_1(坦克1);
否则,如果(x1
如果(state_1!=4)
右转_1(坦克_1);
else if(x1>15 && y1==27 && check3(x1,y1))//在右边
如果(state_1!=3)
左转_1(坦克_1);
别的
如果(判断2(x1,y1,cp1))
开关(cp1)
情况1:turn_up_1(tank_1);中断;
情况2:turn_down_1(tank_1);中断;
情况3:turn_left_1(tank_1);中断;
情况4:turn_right_1(tank_1);打破;
while(判断2(x1,y1,cp1) == 0)
cp1=(rand()%4+1);
无效move_2()
if((x2==14 || x2==15) && check1(x2,y2))//就在上方
如果(state_2!=2)
turn_down_2(坦克2);
否则,如果(x2
如果(state_2!=4)
右转2(坦克2);
else if(x2>15 && y2==27 && check3(x2,y2))//在右边
如果(state_2!=3)
左转2(坦克2);
别的
如果(判断2(x2,y2,cp2))
开关(cp2)
情况1:turn_up_2(tank_2);中断;
情况2:turn_down_2(tank_2);中断;
情况3:turn_left_2(tank_2);中断;
情况4:turn_right_2(tank_2);中断;
while(判断2(x2,y2,cp2) == 0)
cp2 =(rand()%4 + 1);
无效move_3()
if((x3==14 || x3==15) && check1(x3,y3))//就在上方
如果(state_3!=2)
turn_down_3(坦克3);
否则,如果(x3
如果(state_3!=4)
右转_3(坦克_3);
else if(x3>15 && y3==27 && check3(x3,y3))//在右边
如果(state_3!=3)
向左转3(坦克3);
别的
如果(判断2(x3,y3游戏开发源码,cp3))
开关(cp3)
情况1:turn_up_3(tank_3);中断;
情况2:turn_down_3(tank_3);中断;
情况3:turn_left_3(tank_3);中断;
情况4:turn_right_3(tank_3);中断;
while(判断2(x3,y3,cp3) == 0)
cp3=(rand()%4+1);
int check_bullet(int x,int y)
如果 (地图 [ y ] [ x ])
返回0;
返回1;
void change_thing()//物品被子弹击中后会发生变化
如果(m>0&&m0&&n
if(thing[n-1][m-1]==1) //击中第一个方块
如果(武器==2)
如果(事物[n][m-1]==1)
事物[n][m-1]=0;
乙氧基(2*m游戏开发源码,n+1);
printf(" "); //擦除正方形
如果(事物[n-2][m-1]==1)
事物[n-2][m-1]=0;
戈替氧(2*m,n-1);
printf(" "); //擦除正方形
如果(事物[n-1][m]==1)
事物[n-1][m]=0;
乙氧基(2*(m+1),n);
printf(" "); //擦除正方形
如果(事物[n-1][m-2]==1)
事物[n-1][m-2]=0;
乙氧基(2*(m-1),n);
printf(" "); //擦除正方形
事物[n-1][m-1]=0;
戈替氧(2*m,n);
printf(" "); //擦除正方形
m=0,n=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(武器==3)
事物[n-1][m-1]=0;
戈替氧(2*m,n);
printf(" "); //擦除正方形
打印我的子弹(m,n);
打印_thing();
刷新地图();
别的
事物[n-1][m-1]=0;
戈替氧(2*m,n);
printf(" "); //擦除正方形
m=0,n=0;//子弹消失
打印事物();
刷新地图();
else if(thing[n-1][m-1]==2)//击中第二个方块
如果(武器==5)
事物[n-1][m-1]=0;
戈替氧(2*m,n);
打印(“ “);
m=0,n=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(武器==2)
m=0,n=0;
别的
事物[n-1][m-1]=1;
m=0,n=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(事物[n-1][m-1]==3)
如果(武器==4 ||武器==2)
m=0技能特效,n=0;
否则,如果(武器==5)
事物[n-1][m-1]=0;
戈替氧(2*m,n);
打印(“ “);
m=0,n=0;//子弹消失
打印_thing();
刷新地图();
别的
事物[n-1][m-1]=2;
m=0,n=0;//子弹消失
打印_thing();
刷新地图();
else if(thing[n-1][m-1]==4) //此方块不受子弹影响
m=0,n=0;//子弹消失
如果(m1>0&&m10&&n1
如果(事物[n1-1][m1-1]==1)
事物[n1-1][m1-1]=0;
戈替氧(2*m1,n1);
打印(“ “);
m1=0,n1=0;
打印_thing();
刷新地图();
否则,如果(事物[n1-1][m1-1]==2)
事物[n1-1][m1-1]=1;
m1=0,n1=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(事物[n1-1][m1-1]==3)
事物[n1-1][m1-1]=2;
m1=0,n1=0;//子弹消失
打印_thing();
刷新地图();
else if(thing[n-1][m-1]==4) //此方块不受子弹影响
m1=0,n1=0;//子弹消失
如果(m2>0&&m20&&n2
如果(事物[n2-1][m2-1]==1)
事物[n2-1][m2-1]=0;
戈替氧(2*m2,n2);
打印(“ “);
m2=0,n2=0;
打印事物();
刷新地图();
否则,如果(事物[n2-1][m2-1]==2)
事物[n2-1][m2-1]=1;
m2=0,n2=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(事物[n2-1][m2-1]==3)
事物[n2-1][m2-1]=2;
m2=0,n2=0;//子弹消失
打印_thing();
刷新地图();
else if(thing[n2-1][m2-1]==4) //此方块不受子弹影响
m2=0,n2=0;//子弹消失
如果(m3>0&&m30&&n3
如果(事物[n3-1][m3-1]==1)
事物[n3-1][m3-1]=0;
gotoxy(2*m3,n3);
打印(“ “);
m3=0,n3=0;
打印事物();
刷新地图();
否则,如果(事物[n3-1][m3-1]==2)
事物[n3-1][m3-1]=1;
m3=0,n3=0;//子弹消失
打印_thing();
刷新地图();
否则,如果(事物[n3-1][m3-1]==3)
事物[n3-1][m3-1]=2;
m3=0,n3=0;//子弹消失
打印_thing();
刷新地图();
else if(thing[n3-1][m3-1]==4) //此方块不受子弹影响
m3=0,n3=0;//子弹消失