c语言二维数组刷屏练习.docVIP

  • 14
  • 0
  • 约4.21千字
  • 约 6页
  • 2017-06-07 发布于重庆
  • 举报
c语言二维数组刷屏练习

// 二维数组的刷屏综合练习 编制于2012.9.23 #includestdio.h #includestdlib.h #includeconio.h #includetime.h #define WIDTH 22//宏定义 /***********************函数声明**********************************************/ void init();//数组赋初值 void print();//显示当前数组 void movebom(char scr[WIDTH][WIDTH]);//炸弹移动 void movebul(char scr[WIDTH][WIDTH]);//子弹移动 void bump(char scr[WIDTH][WIDTH]);//碰撞函数 /********************全局变量************************************************/ //全局变量 char scr[WIDTH][WIDTH]; int flagbul = 0 ,flagpla = 0;//在函数体外赋初值 int high,wide;//飞机的行和列 /*********************数组操作函数********************************************/ //数组赋原始值 void init() { int i,j; for(i = 0; i WIDTH ; i++) { for(j = 0; j WIDTH; j++) { scr[i][j] = 0; } printf(\n); } return ; } //显示当前数组动画 void print() { int i,j; for(i = 0; i WIDTH ; i++) { for(j = 0; j WIDTH ; j++) { if(scr[i][j] == 0) printf( ); if(scr[i][j] == 1) printf(A);//飞机 if(scr[i][j] == 2) printf(@);//炸弹 if(scr[i][j] == 3) printf(.);//子弹 if(j == WIDTH-2 ) printf(|);//围栏 if(j == WIDTH-1 i == 0) printf(得分:%d,flagbul*10);//得分信息 if(j == WIDTH-1 i ==1) printf(死亡:%d,flagpla);//死亡信息 } printf(\n); } return ; } //炸弹移动函数(实质是改变数组值) void movebom(char scr[WIDTH][WIDTH]) { int i,j; for(i = WIDTH-1; i = 0; i--) {for(j = 0; j WIDTH; j++) { if(scr[i][j] == 2) { scr[i][j] = 0; scr[i+1][j] = 2; } } } return; } //子弹移动函数(实质是改变数组值) void movebul(char scr[WIDTH][WIDTH]) { int i,j; for(i=1; iWIDTH; i++) {for(j=0;jWIDTH;j++) { if(scr[i][j] == 3) { scr[i][j] = 0; scr[i-1][j] = 3; } if(scr[0][j] == 3)//用于消除0行的死角 scr[0][j] = 0; } } return; } //碰撞函数(实质是数组里的数据呈现某种状态) void bump(char scr[WIDTH][WIDTH]) { int i,j; for(i = 0; i WIDTH -2; i++) {for(j = 0; j WIDTH; j++) { if(scr[i][j] == 2 scr[i+2][j] == 3)//炸弹和子弹相遇(奇数行的情况) { scr[i][j] = 0; scr[i+2][

文档评论(0)

1亿VIP精品文档

相关文档