henrenzhenderen1 2022-10-14 19:54 采纳率: 0%
浏览 15

2048方块的移动问题

我现在想要实现的是这个64号图片在这个4*4格子内的移动,要求是:①移动一次后,第二次移动时不会回到初始位置,②并且在每一行或者每一列最后一个格子时,能回到当时行或列的第一个格子。

img

我的代码如下:

#include <graphics.h>
#include <stdio.h>
#define I 15

int main()
{
initgraph(500, 500, 0);

//创建图片对象
PIMAGE pimg = newimage();
PIMAGE pimg2 = newimage();

getimage(pimg, "resource/background.jpg");
getimage(pimg2, "resource/block.jpg");
putimage(0, 0, pimg);
putimage(15, 15, pimg2);

for(;is_run();delay_fps(60))
{
    while(kbmsg())
    {
        key_msg msg = getkey ();
        if (msg.msg ==key_msg_down){
            if (msg.key == 'D') {
                for(int i=0;i<=120;i++){
                    cleardevice();
                    putimage(0, 0, pimg);
                    putimage(I + i, I, pimg2);    
                    Sleep(1);}

            }
            else if (msg.key == 'S') {
                for(int i=0;i<=120;i++){
                            cleardevice();
                            putimage(0, 0, pimg);
                            putimage(I , I + i, pimg2);    
                            Sleep(1);}
            }
            else if (msg.key == 'A') {
                for(int i=0;i<=120;i++){
                            cleardevice();
                            putimage(0, 0, pimg);
                            putimage(I - i , I, pimg2);    
                            Sleep(1);}
            }
            else if (msg.key == 'W') {
                for(int i=0;i<=120;i++){
                cleardevice();
                putimage(0, 0, pimg);
                putimage(I , I - i , pimg2);    
                Sleep(1);}
            }
        }
    }
    
}    
//    delimage(pimg);

getch();
closegraph();

return 0;

}

我现在的代码只能实现移动一次的效果,求指导,谢谢~
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-14 20:15
    关注
    • 这篇文章:2048源代码 也许能够解决你的问题,你可以看下
    评论

报告相同问题?

问题事件

  • 修改了问题 10月14日
  • 修改了问题 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?
  • ¥15 metamask如何添加TRON自定义网络
  • ¥66 关于川崎机器人调速问题
  • ¥15 winFrom界面无法打开