Salve sono nuovo nel forum! Sono qua perchè sto cercando di fare una specie di turtle graphics, ma ho un problema che non riesco a risolvere! La mia tartaruga (un asterisco), quando la faccio camminare premendo i tasti, me la muove nelle giuste direzioni ma sdoppia la tartaruga!! Cioè se faccio una l me ne farà una seconda! Non ha senso Questo è il codice
#include<stdio.h>
#define x 70
#define y 35
#define size 100
int main(void){
int i,r,c,j = 0,k[size],pg,turbo;
/* Stamp */
printf(" ");
for(i = 1;i < x; i++){
printf("+");
}
printf("\n");
for(i = 0;i < y; i++){
if(i == 10){
printf("%c%35c%35c\n",'+','*','+');
}else{
printf("%c%70c\n",'+','+');
}
}
printf(" ");
for(i = 1;i < x; i++){
printf("+");
}
printf("\n");
/*Movimenti*/
printf("1=giu' 2=su 3=dex 4=lef 5=turbo(off/on)\n");
while(k[i] != -1){
j++;
i++;
printf("Mossa %d:",j);
scanf("%d",&k[i]);
}
/*StampMov*/
int floor[x][y];
for(i = 0; i < y; i++){
for(j = 0; j < x; j++){
floor[x][y] = 0;
}
}
r = 10;
c = 20;
floor[r][c] = 1;
turbo = 1;
for(i = 1;k[i] != -1;i++){
switch(k[i]){
case 1:
for(j = 1; j <= turbo; j++){
r+=1;
floor[r][c] = 1;
}
break;
case 2:
for(j = 1; j <= turbo; j++){
r-=1;
floor[r][c] = 1;
}
break;
case 3:
for(j = 1; j <= turbo; j++){
c+=1;
floor[r][c] = 1;
}
break;
case 4:
for(j = 1; j <= turbo; j++){
c-=1;
floor[r][c] = 1;
}
break;
case 5:
if(turbo == 5){
turbo = 1;
}
if(turbo == 1){
turbo = 5;
}
break;
}
}
for(i = 0; i < y; i++){
for(j = 0; j < x; j++){
if(floor[i][j] != 1){
printf(" ");
}if(floor[i][j] == 1){
printf("*");
}
}
printf("\n");
}
return 0;
}
Penso che sia un problema dopo /* StampMov */