I am making a snake game and this is what i have so far. The problem is the turning. I am currently trying to make it so that the next tail goes to the place of the previous tail, but I am having difficulty with that because I do not know the location of the previous tail until it has already moved. Help?
int head1 = dbSpriteX(1) ;
int head2 = dbSpriteY(1) ;
dbMoveSprite(1, 4);
tail1 = dbSpriteX(2);
tail2 = dbSpriteY(2);
//int tail21;
//int tail22;
dbSprite(2, head1, head2+10, 2);
dbSprite(3, tail1, tail2+10,2); //take out +10, just for seeing each tail
tail1 = dbSpriteX(3);
tail2 = dbSpriteY(3);
for(int t=4;t<=tail;t++)
{
dbSprite(t, tail1, tail2+11, 2);//change 11 back to 10, this was to see the gap between each tail
tail1 = dbSpriteX(t);
tail2 = dbSpriteY(t);
dbMoveSprite(t, 4);
}
/*for(int e =3; e<=tail;e++)
{
int head1 = dbSpriteX(1) ;
int head2 = dbSpriteY(1) ;
dbMoveSprite(1, -4);
int tail1 = dbSpriteX(2);
int tail2 = dbSpriteY(2);
dbSprite(2, head1, head2-10, 2);
dbSprite(3, tail1, tail2-10, 2);//take out -10
tail1 = dbSpriteX(3);
tail2 = dbSpriteY(3);
for(int t=4;t<=tail;t++)
{
dbSprite(t, tail1, tail2-11, 2);//change 11 back to 10, this was to see the gap between each tail
tail1 = dbSpriteX(t);
tail2 = dbSpriteY(t);
dbMoveSprite(t, -4);
}
/*for(int e =3; e<=tail;e++)
{
dbSprite(e, tail1, tail2, 2);
int head1 = dbSpriteX(1);
int head2 = dbSpriteY(1);
dbMoveSprite(1, 4);
int tail1 = dbSpriteX(2);
int tail2 = dbSpriteY(2);
dbSprite(2, head1+10, head2, 2);
dbSprite(3, tail1+10,tail2, 2);//take out +10
tail1 = dbSpriteX(3);
tail2 = dbSpriteY(3);
for(int t=4;t<=tail;t++)
{
dbSprite(t, tail1+11, tail2, 2); //change 11 back to 10, this was to see the gap between each tail
tail1 = dbSpriteX(t);
tail2 = dbSpriteY(t);
dbRotateSprite(t, -90);
dbMoveSprite(t, 4);
dbRotateSprite(t,0);
}