Senza verificare l'esattezza della tua funzione, una traduzione in linguaggio C dovrebbe essere cosi.
Anche se PHP è c-like, non sempre si può fare una traduzione uno a uno in linguaggio c , esempio molte funzioni in php non sono presenti in C, e il C necessità di una funzione main() è le variabili sono tipizzate, inoltre gestisce le stringhe in modo diverso da PHP.
codice:
#include <stdio.h>
char muoviMacchina ( int posizione, int giriMacchinaEffettuati ); // Prototipo funzione necessario
/* Segue variabili globali */
int stato = 1; //setto lo stato
int giriMacchinaTotali = 25; //setto i giri massimi da fare
int giriMacchinaEffettuati = 1;
char posizione = 's'; //setto la posizione di default variabile CARATTERE char
int main(){
while ( stato == 1 && giriMacchinaEffettuati <= giriMacchinaTotali ) {
posizione = muoviMacchina( posizione, giriMacchinaEffettuati );
giriMacchinaEffettuati++;
}
getchar();
}
char muoviMacchina ( int posizione, int giriMacchinaEffettuati ) {
int fineCorsa = 0;
if ( posizione == 's' ) {
while ( fineCorsa == 0 ) {
printf("%d - muovo a dx\n",giriMacchinaEffettuati);
fineCorsa = 1;
}
}
if ( posizione == 'd' ) {
while ( fineCorsa == 0 ) {
printf("%d - muovo a sx\n",giriMacchinaEffettuati);
fineCorsa = 1;
}
}
if ( $posizione == 's' ) {
posizioneCorrente = 'd';
}
else {
posizioneCorrente = 's';
}
posizione = posizioneCorrente;
return posizione;
}