Skip to content

Instantly share code, notes, and snippets.

@Xennis
Created March 1, 2014 15:39
Show Gist options
  • Select an option

  • Save Xennis/9291615 to your computer and use it in GitHub Desktop.

Select an option

Save Xennis/9291615 to your computer and use it in GitHub Desktop.
Lego Spybot - "Alle meine Entchen" (NQC (Not Quite C))
/*
* Platform: Lego Spybot
* Version: 1.0
* Author: Xennis
* Doc: http://xennis.org/wiki/Lego_Spybot_-_Alle_meine_Entchen
*/
#define __NOTETIME 10
#define __WAITTIME 12
#define turn_right(s,t) SetPower(OUT_AB,s);OnFwd(OUT_A);OnRev(OUT_B);Wait(t);
#define turn_left(s,t) SetPower(OUT_AB,s);OnRev(OUT_A);OnFwd(OUT_B);Wait(t);
int active;
task main()
{
active = 1;
start activateCanon;
start playMusic;
start circle;
}
task circle()
{
while (active)
{
turn_right(7, 500);
turn_left(7, 500);
}
Off(OUT_AB);
}
task activateCanon()
{
while (active)
{
On(OUT_C);
Wait(100);
Off(OUT_C);
Wait(100);
}
}
task playMusic()
{
/*
* Sound by deady1000
* Source: http://mindstormsforum.de/viewtopic.php?f=77&t=1938
*/
PlayTone(262,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(294,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(330,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(349,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(392,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(392,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(392,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(440,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(392,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(349,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(349,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(349,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(349,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(330,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(330,8*__NOTETIME);
Wait(8*__WAITTIME);
PlayTone(294,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(294,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(294,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(294,4*__NOTETIME);
Wait(4*__WAITTIME);
PlayTone(262,8*__NOTETIME);
Wait(8*__WAITTIME);
active = 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment