贪吃蛇代码(C语言)(3)
时间:2026-01-24
时间: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
上一篇:创建平安校园汇报材料
下一篇:学校园文化建设总结