1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
// appel principal :
escargot2(zoneJeu, 0, 20, 0, 14, true); // zoneJeu est une BITMAP* celle affichée à l'écran qui est blanche de base
bool escargot2(BITMAP* masque, int movingBegin, int movingEnd, int fixedBegin, int fixedEnd, bool d)
{
int step, end;
if (fixedBegin == fixedEnd)
{
printf("fin\n");
return false;
}
else
{
if (movingBegin < movingEnd) step = 1;
else step = -1;
end = movingEnd - step;
for (int i = movingBegin; i != end; i+=step)
{
// horizontal
if (d == true)
{
// ajustement de +16 pr avoir le centre de la case
printf("case : %d %d\n", i*TX+16, fixedBegin*TY+16);
circlefill(masque, i*TX+16, fixedBegin*TY+16, 2, ROUGE);
}
else
{
printf("case : %d %d\n", fixedBegin*TY+16, i*TX+16);
circlefill(masque, fixedBegin*TY+16, i*TX+16, 2, BLEU);
}
refreshZone(masque, 32); // affiche à l'écran
rest(50); // ralenti la boucle
}
return escargot2(masque, fixedBegin, fixedEnd, end, movingBegin, !d);
}
} |
Partager