NXC

hauleth

Uproszczone C++(ang. Not eXactly C) stworzone na potrzeby tekstowego programowania LEGO Mindstorms NXT.

Przykładowy program ( do walk sumo ) :-):

#include "NXCDefs.h" // niepotrzebne bo działa bez ale specyfikacja zaleca więc jest

#define NEAR 40 //odległość podobno w cm ale chyba trochę naciągane

task main ()
{

  SetSensorLowspeed(IN_4); //podłączamy sonar do wejścia 4
  TextOut(25, LCD_LINE4, "Fight!!!"); //wyświetlamy napis Fight!!! w 4 linii na wyświetlaczu zostawiając z lewej 25 pikseli
  while(true) //główna pętla programu
  {
   OnFwd(OUT_A, 100); //ustalamy by silnik na wyjściu A obracał się do przodu z maksymalną prędkością
   OnRev(OUT_C, 100); //ustalamy by silnik na wyjściu C obracał się do tyłu z maksymalną prędkością
                                  //robot wykonuje więc obroty w poszukiwaniu przeciwnika(roboty są tyłem do siebie)
   while(SensorUS(SONAR)<NEAR) //jeżeli go zobaczy (sonar wykryje coś  w odległości 40 cm)
   {
   Off(OUT_AC); //wyłączamy silniki A i C
   OnFwd(OUT_AC, 100); //i ruszamy pełną parą do przodu
   }
  } 
}

IDE dla tego języka to darmowe BrixCC bricxcc.sourceforge.net (ma domyślnie kompilatory i instrukcje(ang.) do NQC(ang. Not Quite C - starsza wersja NXC), NXC i NBC (ang.Next Byte Code - Assembler do LEGO (masakra i komu się chce)).

Instrukcje sterujące

  • 2008-01-03 18:26
  • 4 komentarzy
  • 1049 odsłon

4 komentarzy

ja teraz to odpaliłem na linuxie i jest trochę z tym zabawy, próbowałem też lejOS + Eclpse, ale nie działało

Patrz, cholera, a nam na laboratoriach zamiast dać Lego do zabawy, to wymyślają BlueJ :)

Jak byliśmy na obozie naukowym na Politechnice Wrocławskiej z liceum, to mieliśy też możliwość bawienia się tym... eh fajnie było ;)

mój znajomy kupił sobie jakiś rok temu taki zestawik :-D mam swoje lata, ale zabawa tym cackiem... ehhh czemu za moich czasów nie było takich zabawek ;-)