mfc和c语言实现走迷宫随机小游戏,C++与MFC轻松实现:走迷宫小游戏(七)迷宫行走回放...

CClientDC dc(this);dc.BitBlt(n*93+x,m*100+y,93,100,mdc,0,0,WHITENESS);if(nChar==VK_DOWN){y+=100;

k=(n*93+x)/93;

l=(m*100+y)/100;

if(maze[l][k]==1)

{

y-=100;

}

if(dir==0)

{

index++;

if(index==4)

{

index=0;

}

}

else

{

index=0;

dir=0;

}

ptr->next=(list*)malloc(sizeof(list));

ptr->next->n=n;

ptr->next->m=m;

ptr->next->x=x;

ptr->next->y=y;

ptr->next->bitmap=bitmap[dir][index];

preptr=ptr;

ptr->next->next=NULL;

ptr=ptr->next;

ptr->back=preptr;

}

if(nChar==VK_UP)

{

y-=100;

k=(n*93+x)/93;

l=(m*100+y)/100;

if(maze[l][k]==1)

{

y+=100;

}

if(dir==3)

{

index++;

if(index==4)

{

index=0;

}

}

else

{

index=0;

dir=3;

}

ptr->next=(list*)malloc(sizeof(list));

ptr->next->n=n;

ptr->next->m=m;

ptr->next->x=x;

ptr->next->y=y;

ptr->next->bitmap=bitmap[dir][index];

preptr=ptr;

ptr->next->next=NULL;

ptr=ptr->next;

ptr->back=preptr;

}

if(nChar==VK_RIGHT)

{

x+=93;

k=(n*93+x)/93;

l=(m*100+y)/100;

if(maze[l][k]==1)

{

x-=93;

}

if(dir==2)

{

index++;

if(index==4)

{

index=0;

}

}

else

{

index=0;

dir=2;

}

ptr->next=(list*)malloc(sizeof(list));

ptr->next->n=n;

ptr->next->m=m;

ptr->next->x=x;

ptr->next->y=y;

ptr->next->bitmap=bitmap[dir][index];

preptr=ptr;

ptr->next->next=NULL;

ptr=ptr->next;

ptr->back=preptr;

}

if(nChar==VK_LEFT)

{

x-=93;

k=(n*93+x)/93;

l=(m*100+y)/100;

if(maze[l][k]==1)

{

x+=93;

}

if(dir==1)

{

index++;

if(index==4)

{

index=0;

}

}

else

{

index=0;

dir=1;

}

ptr->next=(list*)malloc(sizeof(list));

ptr->next->n=n;

ptr->next->m=m;

ptr->next->x=x;

ptr->next->y=y;

ptr->next->bitmap=bitmap[dir][index];

preptr=ptr;

ptr->next->next=NULL;

ptr=ptr->next;

ptr->back=preptr;

}

k=(n*93+x)/93;

l=(m*100+y)/100;

if(maze[l][k]==3)

{

dc.TextOut(120,350,"走出去了!");

ptr->next=(list*)malloc(sizeof(list));

ptr->next->n=n;

ptr->next->m=m;

ptr->next->x=x;

ptr->next->y=y;

ptr->next->bitmap=bitmap[dir][index];

preptr=ptr;

ptr->next->next=NULL;

ptr=ptr->next;

ptr->back=preptr;

go=true;

return;

}

mdc->SelectObject(bitmap[dir][index]);

dc.BitBlt(n*93+x,m*100+y,93,100,mdc,0,0,SRCCOPY);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值