c语言中文刷屏,c语言二维数组刷屏练习.doc
c語言二維數組刷屏練習
// 二維數組的刷屏綜合練習 編制于2012.9.23
#include
#include
#include
#include
#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; i
{for(j=0;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)//炸彈和子彈相遇(奇數行的情況
總結
以上是生活随笔為你收集整理的c语言中文刷屏,c语言二维数组刷屏练习.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】linux服务器下包管理器
- 下一篇: 【Python】time内置模块处理时间