贪吃蛇代码(C语言)(3)

时间:2026-01-24

snk_1.Head_Y = 0;
break;
}
case GO_UP:
{
if(snk_1.Head_Y > 0)snk_1.Head_Y--;
else snk_1.Head_Y = 63;
break;
}
default:
{
break;
}
}

s_count[snk_1.h_index].cnt++;
if(0 == game_map[snk_1.Head_Y][snk_1.Head_X])//no point
{
game_map[snk_1.Head_Y][snk_1.Head_X] = 1;
}
else if(1 == game_map[snk_1.Head_Y][snk_1.Head_X])//game over
{
KillTimer(hwnd,1);
sprintf(szChar,"score:%d",snk_1.score);
MessageBox(hwnd,szChar,"GAME OVER!",0);
}
else if(2 == game_map[snk_1.Head_Y][snk_1.Head_X])//eat food
{
game_map[snk_1.Head_Y][snk_1.Head_X] = 1;
snk_1.food_state = 0;
snk_1.score++;
goto CHECK;
}
rect.left = snk_1.Head_X*8;
rect.top = snk_1.Head_Y*8;
rect.right = rect.left + 8;
rect.bottom = rect.top + 8;
hbr= CreateSolidBrush(RGB(255,0,0));
FillRect(hdc,&rect,hbr);//show head point

//tail
game_map[snk_1.Tail_Y][snk_1.Tail_X] = 0;
rect.left = snk_1.Tail_X*8;
rect.top = snk_1.Tail_Y*8;
rect.right = rect.left + 8;
rect.bottom = rect.top + 8;
//hbr= CreateSolidBrush(RGB(0,100,0));
hbr= CreateSolidBrush(RGB(0,0,0));//clear tail point
FillRect(hdc,&rect,hbr);

switch(s_count[snk_1.t_index].direction)
{
case GO_RIGHT:
{
if(snk_1.Tail_X < 63)snk_1.Tail_X++;
else snk_1.Tail_X = 0;
break;
}
case GO_LEFT:
{
if(snk_1.Tail_X >0 )snk_1.Tail_X--;
else snk_1.Tail_X = 63;
break;
}
case GO_DOWN :
{
if(snk_1.Tail_Y < 63)snk_1.Tail_Y++;
else snk_1.Tail_Y = 0;
break;
}
case GO_UP:
{
if(snk_1.Tail_Y > 0)snk_1.Tail_Y--;
else snk_1.Tail_Y = 63;
break;
}
default:
{
break;
}
}

if(s_count[snk_1.t_index].cnt == 2)
{
snk_1.t_index = (snk_1.t_index + 1)%SNAKE_NUMBER ;
}
else
{
s_count[snk_1.t_index].cnt--;
}

//output food
if(0 == snk_1.food_state)
{
snk_1.food_state = 1;
do{
xx = rand()%3970
%63;
yy = rand()%3970/63;
}while(1 == game_map[yy][xx]);
game_map[yy][xx]=2;
rect.left = xx*8;
rect.top = yy*8;
rect.right = rect.le

贪吃蛇代码(C语言)(3).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

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