public static void Main()
Console.WriteLine("Raspberry Pi knight rider LED blinking...");
Console.WriteLine("To end press ctrl-C");
Init.WiringPiSetupGpio();
GPIO.pinMode( SWITCH_A, GPIO.INPUT );
GPIO.pinMode( LED_1, GPIO.OUTPUT );
GPIO.pinMode( LED_2, GPIO.OUTPUT );
GPIO.pinMode( LED_3, GPIO.OUTPUT );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_2, LED_OFF );
GPIO.digitalWrite( LED_3, LED_OFF );
Random random1 = new Random();
Random random2 = new Random();
Random random3 = new Random();
Random random4 = new Random();
int[] pressed = new int[10];
int[] temp = new int[10];
int[] myArray = new int[10];
int[] leds = new int[10];
int[] tempLeds = new int[10];
for( i=0;i<counter+1;i++)
int number = random1.Next(23,26);
Console.WriteLine("{0} and {1}",number,myArray[counter]);
Console.WriteLine("{0} and {1}",number,myArray[counter]);
Console.WriteLine("{0} and {1}",number,myArray[counter]);
Console.WriteLine("Unrecognized category input");
for(int n=0;n<counter+1;n++)
Console.WriteLine(temp[n]);
Console.WriteLine(tempLeds[n]);
GPIO.digitalWrite( leds[n], LED_ON );
Timing.delay((uint)((10-counter)*100));
GPIO.digitalWrite( leds[n], LED_OFF );
Timing.delay((uint)((10-counter)*100));
long time = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
int buttonNow1 = GPIO.digitalRead(SWITCH_A);
int buttonNow2 = GPIO.digitalRead(SWITCH_B);
int buttonNow3 = GPIO.digitalRead(SWITCH_C);
if (buttonNow1 != buttonState)
if ((time - pressedTime)>20)
buttonState = buttonNow1;
GPIO.digitalWrite( leds[i], LED_ON );
Timing.delay((uint)((10-counter)*100));
GPIO.digitalWrite( leds[i], LED_OFF );
Timing.delay((uint)((10-counter)*100));
if (buttonNow1 != buttonState)
if ((time - pressedTime)>20)
buttonState = buttonNow2;
GPIO.digitalWrite( leds[i], LED_ON );
Timing.delay((uint)((10-counter)*100));
GPIO.digitalWrite( leds[i], LED_OFF );
Timing.delay((uint)((10-counter)*100));
if (buttonNow1 != buttonState)
if ((time - pressedTime)>20)
buttonState = buttonNow3;
GPIO.digitalWrite( leds[i], LED_ON );
Timing.delay((uint)((10-counter)*100));
GPIO.digitalWrite( leds[i], LED_OFF );
Timing.delay((uint)((10-counter)*100));
for (index = 0; index < counter+1; index++)
if(temp[index]==pressed[index])
Console.WriteLine("-------{0}-------{1}--------",pressed[index],temp[index]);
if(wrongAnswers>0 || numPushes > 10)
Console.WriteLine("Wrong Input!! You lost!!");
Console.WriteLine("Good Job!! You Won!!");
Console.WriteLine("The matching numbers are " + correctAnswers +
"\n" + "The non matching numbers are " + wrongAnswers);
GPIO.digitalWrite( LED_1, LED_ON );
GPIO.digitalWrite( LED_2, LED_ON );
GPIO.digitalWrite( LED_3, LED_ON );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_2, LED_OFF );
GPIO.digitalWrite( LED_3, LED_OFF );
GPIO.digitalWrite( LED_1, LED_ON );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_2, LED_ON );
GPIO.digitalWrite( LED_2, LED_OFF );
GPIO.digitalWrite( LED_3, LED_ON );
GPIO.digitalWrite( LED_3, LED_OFF );
GPIO.digitalWrite( LED_1, LED_ON );
GPIO.digitalWrite( LED_2, LED_ON );
GPIO.digitalWrite( LED_3, LED_ON );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_2, LED_OFF );
GPIO.digitalWrite( LED_3, LED_OFF );
public static void lose()
GPIO.digitalWrite( LED_1, LED_ON );
GPIO.digitalWrite( LED_3, LED_ON );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_3, LED_OFF );
GPIO.digitalWrite( LED_2, LED_ON );
GPIO.digitalWrite( LED_2, LED_OFF );
GPIO.digitalWrite( LED_1, LED_ON );
GPIO.digitalWrite( LED_3, LED_ON );
GPIO.digitalWrite( LED_1, LED_OFF );
GPIO.digitalWrite( LED_3, LED_OFF );
GPIO.digitalWrite( LED_2, LED_ON );
GPIO.digitalWrite( LED_2, LED_OFF );