Not eXactly C linguaggio di programmazione | |
---|---|
Data di origine | 2006 |
Influenzato da | C |
Implementazione di riferimento | |
Sito web | bricxcc.sourceforge.net/nbc/ |
Not eXactly C (NXC) è un linguaggio di programmazione simile al linguaggio C, utilizzato per la programmazione di robot Lego Mindstorms NXT.
Sviluppato da John Hansen, questo programma possiede numerose migliorie rispetto al software in dotazione con il robot LEGO MINDSTORMS e permette, digitando semplici codici, di eseguire operazioni o funzioni molto complesse.
Questo programma viene soprattutto utilizzato nelle competizioni della RoboCup Junior proprio per la miriade di azioni che il robot può compiere.
Il compilatore NXC è disponibile sotto licenza Mozilla Public License.[1]
Un esempio di codice è il seguente:
/*Questo è un commento che si svolge su più righe*/ //questo è un commento che si svolge su una sola riga #define tempo_Fwd 2000 //questa è una costante int ripetere=4; //queste sono variabili string quale_parte="destra"; task main() //crea un nuovo task. Ogni programma deve avere almeno il task main { OnFwd(OUT_BC,75); //chiede ai motori collegati alle porte B e C di muoversi in avanti con potenza 75 Wait(5000); //attende 5000 millisecondi Off(OUT_BC); //chiede ai motori collegati alle porte B e C di spegnersi if (quale_parte=="destra")//se la stringa quale_parte è uguale a "destra" { ripetere=2; // imposta la variabile ripetere a 2 } else //altrimenti { ripetere=4; //imposta la variabile ripetere a 4 } repeat(ripetere) //ripete per tante volte quanto indica ripetere le seguenti azioni { OnFwd(OUT_BC,75); //chiede ai motori collegati alle porte B e C di muoversi in avanti con potenza 75 Wait(tempo_Fwd); //attende tempo_Fwd millisecondi Off(OUT_BC); //spegne i motori B e C } }
Un IDE per programmare in NXC è, per esempio, Bricx Command Center[2].