| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:就是关于贪吃蛇问题
只看楼主 加入收藏
qq1625127317
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:185
专家分:450
注 册:2015-9-3
结帖率:83.33%
收藏
已结贴  问题点数:20 回复次数:3 
就是关于贪吃蛇问题
贪吃蛇蛇身的建立我知道的是利用链表,增添表头或者删除表尾来进行控制蛇的运动,可是怎么让它在界面的那个二维数组中呈现出来?怎么让链表与数组结合起来呢?
搜索更多相关主题的帖子: 贪吃蛇 
2015-09-14 22:35
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
收藏
得分:10 
不知道
2015-09-15 09:01
墨轩在路上
Rank: 2
等 级:论坛游民
帖 子:13
专家分:17
注 册:2015-8-14
收藏
得分:10 
这是我写的液晶触摸控制贪食蛇上的程序  看能不能帮助你:
//加尾巴
    if((Move_X==Food_X)&&(Move_Y==Food_Y))
    {
        for(i=0;i<=Track.MaxTrack;i++)
        {
            pTrackPoint[i+1][0]=TrackPoint[Track.TrackLoad][0];//将蛇身放入缓存
            pTrackPoint[i+1][1]=TrackPoint[Track.TrackLoad][1];
            
            Track.TrackLoad=(Track.TrackLoad==0)?(Track.MaxTrack):(Track.TrackLoad-1);
        }        
        Track.MaxTrack++;
        Track.TrackLoad=Track.MaxTrack;
        for(i=0;i<=Track.MaxTrack;i++)
        {
            TrackPoint[Track.MaxTrack-i][0]=pTrackPoint[i][0];//增加蛇身后将缓存值放入显示
            TrackPoint[Track.MaxTrack-i][1]=pTrackPoint[i][1];
        }              
        
        while(ProduceFood());//生成小球(食物)
        Track.TrackFood++;
        Track.TrackSpeed=(Track.TrackSpeed<50)?50:(Track.TrackSpeed-25);//加速
    }
    else//清尾巴
    {
        if(Track.TrackLoad>=Track.MaxTrack)Track.TrackLoad=0;
        else Track.TrackLoad++;
        LCD_DispBox(TrackPoint[Track.TrackLoad][0],TrackPoint[Track.TrackLoad][1],WHITE);
    }
    //检查是是否自咬
    for(i=0;(i<=Track.MaxTrack)&&(Game==GameRun);i++)
    {
        if((TrackPoint[i][0]==Move_X)&&(TrackPoint[i][1]==Move_Y))
        {
            Game=GameOver;
            LCD_DispStr(84,192,"Game Over",BLACK);
            sprintf((char*)ptr,"%d Level",Track.TrackFood);
            LCD_DispStr(84,170,ptr,BLACK);        
            LCD_DispStr(180,52,"Save",BLACK);  
        }
    }
    //正常后在伸头                  
    TrackPoint[Track.TrackLoad][0]=Move_X;
    TrackPoint[Track.TrackLoad][1]=Move_Y;      
    LCD_DispBox(Move_X,Move_Y,BLACK);
    MoveTime=0;
}
2015-09-15 09:10
qq1625127317
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:185
专家分:450
注 册:2015-9-3
收藏
得分:0 
回复 3楼 墨轩在路上
谢谢哈

静坐常思己过,闲谈莫论人非
2015-09-15 12:36
快速回复:就是关于贪吃蛇问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023891 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved