欢迎来到天天文库
浏览记录
ID:34022318
大小:61.50 KB
页数:5页
时间:2019-03-03
《棋子下落动画实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、089-棋子下落动画实现0gameproc.h#defineCHESS_X28#defineCHESS_Y8#defineCHESS_WIDTH12*2#defineCHESS_HIGHT18//棋盘宏定义//左上角//宽度//高度externvoidgotoxy(int,int);//声明外来函数voidDrawChessMap(void)//画凵型棋盘{inti;for(i=0;i2、(i=0;i3、HIGHT);printf("━");}return;}//底部横线typedefstruct_chess_data{charchessflag;//4种形态保留chardata[4][4];//数据COORDxy;//位置point}chess_data;//定义棋子chess_dataDownChessData[5][4]={0};//20种不同形状的棋子voidInitChessData(void){DownChessData[0][0].xy.X=CHESS_X+4;//这是种形状的第一种DownChessData[0][0].4、xy.Y=CHESS_Y+0;DownChessData[0][0].data[0][0]=1;//棋子的数据DownChessData[0][0].data[1][0]=1;DownChessData[0][0].data[0][1]=1;DownChessData[0][0].data[1][1]=1;DownChessData[0][1]=DownChessData[0][2]=DownChessData[0][3]=DownChessData[0][0];}■■■■//棋子的形状分4为种,方块1-3都=05/5voidShowC5、hess(chess_datachess)089-棋子下落动画实现1{intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("■");}}}//显示棋子voidClearChess(chess_da6、tachess){intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("");}}}//隐藏棋子voidMoveDown(chess_data*Chess){ClearChess(*Chess);7、//隐藏Chess->xy.Y+=1;ShowChess(*Chess);}//↓动画棋子//棋子下落voidMoveLeft(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=-2;ShowChess(*Chess);}//←动画棋子voidMoveRight(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=2;ShowChess(*Chess);}//→动画棋子voidplaygame(void){chess_dat8、aoneChess;InitChessData();//20种形状的函数oneChess=DownChessData[0][0];ShowChess(oneChess);//显示每一种getch();Mov
2、(i=0;i3、HIGHT);printf("━");}return;}//底部横线typedefstruct_chess_data{charchessflag;//4种形态保留chardata[4][4];//数据COORDxy;//位置point}chess_data;//定义棋子chess_dataDownChessData[5][4]={0};//20种不同形状的棋子voidInitChessData(void){DownChessData[0][0].xy.X=CHESS_X+4;//这是种形状的第一种DownChessData[0][0].4、xy.Y=CHESS_Y+0;DownChessData[0][0].data[0][0]=1;//棋子的数据DownChessData[0][0].data[1][0]=1;DownChessData[0][0].data[0][1]=1;DownChessData[0][0].data[1][1]=1;DownChessData[0][1]=DownChessData[0][2]=DownChessData[0][3]=DownChessData[0][0];}■■■■//棋子的形状分4为种,方块1-3都=05/5voidShowC5、hess(chess_datachess)089-棋子下落动画实现1{intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("■");}}}//显示棋子voidClearChess(chess_da6、tachess){intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("");}}}//隐藏棋子voidMoveDown(chess_data*Chess){ClearChess(*Chess);7、//隐藏Chess->xy.Y+=1;ShowChess(*Chess);}//↓动画棋子//棋子下落voidMoveLeft(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=-2;ShowChess(*Chess);}//←动画棋子voidMoveRight(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=2;ShowChess(*Chess);}//→动画棋子voidplaygame(void){chess_dat8、aoneChess;InitChessData();//20种形状的函数oneChess=DownChessData[0][0];ShowChess(oneChess);//显示每一种getch();Mov
3、HIGHT);printf("━");}return;}//底部横线typedefstruct_chess_data{charchessflag;//4种形态保留chardata[4][4];//数据COORDxy;//位置point}chess_data;//定义棋子chess_dataDownChessData[5][4]={0};//20种不同形状的棋子voidInitChessData(void){DownChessData[0][0].xy.X=CHESS_X+4;//这是种形状的第一种DownChessData[0][0].
4、xy.Y=CHESS_Y+0;DownChessData[0][0].data[0][0]=1;//棋子的数据DownChessData[0][0].data[1][0]=1;DownChessData[0][0].data[0][1]=1;DownChessData[0][0].data[1][1]=1;DownChessData[0][1]=DownChessData[0][2]=DownChessData[0][3]=DownChessData[0][0];}■■■■//棋子的形状分4为种,方块1-3都=05/5voidShowC
5、hess(chess_datachess)089-棋子下落动画实现1{intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("■");}}}//显示棋子voidClearChess(chess_da
6、tachess){intx,y;//棋子的坐标for(x=0;x<=3;x++)//遍历棋子的每一列{for(y=0;y<=3;y++)//遍历棋子的每一行if(chess.data[x][y])//判断棋子每一个坐标,如果为{gotoxy(chess.xy.X+x*2,chess.xy.Y+y);//在打印之前先把光标移动到此处//chess.xy.X为棋子在棋盘开始的坐标,+x为要移动遍历的坐标printf("");}}}//隐藏棋子voidMoveDown(chess_data*Chess){ClearChess(*Chess);
7、//隐藏Chess->xy.Y+=1;ShowChess(*Chess);}//↓动画棋子//棋子下落voidMoveLeft(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=-2;ShowChess(*Chess);}//←动画棋子voidMoveRight(chess_data*Chess){ClearChess(*Chess);//隐藏Chess->xy.X+=2;ShowChess(*Chess);}//→动画棋子voidplaygame(void){chess_dat
8、aoneChess;InitChessData();//20种形状的函数oneChess=DownChessData[0][0];ShowChess(oneChess);//显示每一种getch();Mov
此文档下载收益归作者所有