我想做一下类似贪吃蛇的,但是本体在移动的时候苹果的位置老是改变,怎么才能固定苹果的位置呢
#include<stdio.h>#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<time.h>
int x=20,y=20;
char key;
int map[20][20];
int i,j,m,n=5;
void gotoxy(int x,int y);
void draw(int x,int y);
int ix,iy;
void setmap()
{
for(i=0;i<20;i++)
for(j=0;j<20;j++)
{
map[i][j]=0;
}
srand((unsigned)time(NULL));
for(m=0;m<5;m++)
{
ix=rand()%20+1;
iy=rand()%20+1;
map[ix][iy]=1;
}
for(ix=0;ix<20;ix++)
{
for(iy=0;iy<20;iy++)
{
if(map[ix][iy]==1)
{
gotoxy(ix+1,iy+1);
printf("$");
}
}
}
}
void draw(int x,int y)
{
system("cls");
setmap();
gotoxy(x,y);
printf("&");
}
void gotoxy(int x,int y)
{
HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos={x,y};
SetConsoleCursorPosition(hOut,pos);
}
int main()
{
draw(x,y);
setmap();
while(1)
{
if(kbhit())
{ key=getch();
switch(key)
{
printf("%d\n",key);
case 'w':{draw(x,--y>=0?y:0);break;}
case 's':{draw(x,++y<=20?y:20);break;}
case 'd':{draw(++x<=20?x:20,y);break;}
case 'a':{draw(--x>=0?x:0,y);break;}
}
}
}
}