软件工程U201314924(6)

2019-09-01 16:59

DownChessData[3][0].data[0][2]=1; DownChessData[3][0].data[1][2]=1; DownChessData[3][0].data[1][3]=1;

DownChessData[3][2]= DownChessData[3][0];

//□ //□□ // □

DownChessData[3][1].xy.X=CHESS_X+4; DownChessData[3][1].xy.Y=CHESS_Y+0; DownChessData[3][1].data[0][0]=1; DownChessData[3][1].data[1][0]=1; DownChessData[3][1].data[1][1]=1; DownChessData[3][1].data[2][1]=1;

DownChessData[3][3]= DownChessData[3][1]; // □ // □ // □□

DownChessData[4][0].xy.X=CHESS_X+4; DownChessData[4][0].xy.Y=CHESS_Y+0; DownChessData[4][0].data[1][0]=1; DownChessData[4][0].data[1][1]=1; DownChessData[4][0].data[1][2]=1; DownChessData[4][0].data[2][2]=1; // □□□ // □

DownChessData[4][1].xy.X=CHESS_X+4; DownChessData[4][1].xy.Y=CHESS_Y+0;

26

}

DownChessData[4][1].data[0][2]=1; DownChessData[4][1].data[1][2]=1; DownChessData[4][1].data[2][2]=1; DownChessData[4][1].data[0][3]=1; //□□ // □ // □

DownChessData[4][2].xy.X=CHESS_X+4; DownChessData[4][2].xy.Y=CHESS_Y+0; DownChessData[4][2].data[0][0]=1; DownChessData[4][2].data[1][0]=1; DownChessData[4][2].data[1][1]=1; DownChessData[4][2].data[1][2]=1; // □ // □□□

DownChessData[4][3].xy.X=CHESS_X+4; DownChessData[4][3].xy.Y=CHESS_Y+0; DownChessData[4][3].data[3][1]=1; DownChessData[4][3].data[1][2]=1; DownChessData[4][3].data[2][2]=1; DownChessData[4][3].data[3][2]=1;

//显示某个下落的棋子

void ShowChess(chess_data chess) {

int x,y;

for (x=0;x<=3;x++) {

for(y=0;y<=3;y++)

27

if (chess.data[x][y]) {

gotoxy(chess.xy.X+x*2,chess.xy.Y+y); }

prt(\□\

} }

//隐藏棋子

void ClearChess(chess_data chess) {

int x,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); prt(\ \ } } }

void MoveUp(chess_data* Chess) {

chess_data bakChess;

//隐藏

ClearChess(*Chess); //ry+1

Chess->ry++; //1,2,3,4,5 Chess->ry%=4;//0..3 //data

28

bakChess=DownChessData[Chess->rx][Chess->ry]; bakChess.xy=Chess->xy; bakChess.rx=Chess->rx; bakChess.ry=Chess->ry; //

*Chess=bakChess; ShowChess(*Chess); }

void MoveDown(chess_data* Chess) {

//隐藏

ClearChess(*Chess); Chess->xy.Y+=1; ShowChess(*Chess); }

void MoveLeft(chess_data* Chess) {

//隐藏

ClearChess(*Chess); Chess->xy.X-=2; ShowChess(*Chess); }

void MoveRight(chess_data* Chess) {

//隐藏

ClearChess(*Chess); Chess->xy.X+=2; ShowChess(*Chess); }

//检测左边界是否到达,到达则返回1 否则返回0 int CheckLeftBorder(chess_data Chess) {

int x,y;

29

for (x=0;x<=3;x++) for (y=0;y<=3;y++) {

if (Chess.data[x][y]) {

if (Chess.xy.X+x*2<=CHESS_X+2) {

return 1; } } } return 0; }

//检测左边界是否到达,到达则返回1 否则返回0 int CheckRightBorder(chess_data Chess) {

int x,y;

for (x=3;x>=0;x--) for (y=3;y>=0;y--) {

if (Chess.data[x][y]) { }

if (Chess.xy.X+x*2>=CHESS_X+CHESS_WIDTH-2)//左

边界│占2字符宽度+右边界│占的2个字符宽度所以得减4

{

return 1; } } }

return 0;

//检测下边界

30


软件工程U201314924(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017大连中考英语题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: