Scusa Anakin se questo codice non risponde alla tua domanda, ma quando l'ho letta mi sono chiesto cosa si potesse fare con la console, in merito ad una corsa...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
void strada(int pos,int sx, int dx){
system("cls");
for (int i=0; i<10; i++){
if (pos==0)
printf("| |\n\n");
else
printf("\n| |\n");
}
if (pos==0){
printf("|");
for (int s = 0; s<sx;s++) printf(" ");
printf("O/^\\O");
for (int d = 0; d<dx;d++) printf(" ");
printf("|\n");
for (int s = 0; s<sx;s++) printf(" ");
printf(" ^\n|");
for (int s = 0; s<sx;s++) printf(" ");
printf("0-+-0");
for (int d = 0; d<dx;d++) printf(" ");
printf("|");
}
else{
for (int s = 0; s<sx;s++) printf(" ");
printf(" 0/^\\0\n");
printf("|");
for (int s = 0; s<sx;s++) printf(" ");
printf(" ^ ");
for (int d = 0; d<dx;d++) printf(" ");
printf("|\n");
for (int s = 0; s<sx;s++) printf(" ");
printf(" O-+-O");
}
}
int main(){
int pos = 0;
double spaziDX = 12;
double spaziSX = 12;
int ms = clock();
int direz;
while(1){
if (ms + 50 < clock()){
if (pos==0) pos=1; else pos=0;
ms = clock();
if (kbhit()){
direz=getch();
if (direz == 77){spaziSX++; spaziDX--;}
if (direz == 75){spaziSX--; spaziDX++;}
if (direz == 27) exit(1);
}
strada(pos,spaziSX, spaziDX);
}
}
return 0;
}
Magari si possono aggiungere gli spazi nel printf() con un'istruzione tipo space(spaziDX), senza fare un ciclo.
Non fa nulla, solo un'auto stilizzata che si sposta a destra e a sinistra usando le frecce...