Not eXactly C
linguaggio di programmazione
Not eXactly C (NXC) è un linguaggio di programmazione simile al linguaggio C, utilizzato per la programmazione di robot Lego Mindstorms NXT.
| Not eXactly C linguaggio di programmazione | |
|---|---|
| Data di origine | 2006 |
| Influenzato da | C |
| Implementazione di riferimento | |
| Sito web | bricxcc.sourceforge.net/nbc/ |
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].
Note
modificaVoci correlate
modificaCollegamenti esterni
modifica- Sito ufficiale, su bricxcc.sourceforge.net.
- Guida all'NXC (PDF), su bricxcc.sourceforge.net.