贪吃蛇C语言的问题,就是关于贪吃蛇问题

得分:10

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

这是我写的液晶触摸控制贪食蛇上的程序  看能不能帮助你:

//加尾巴

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;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值