Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int ledPin[3] = {3, 4, 5};
- const int buttonPin[3] = {6, 7, 8};
- const int rgbPin[3] = {9, 10, 11};
- int difficulty = 1;
- int currLevel[10];
- int player[10];
- boolean nextLevel = true;
- void rgbLed(int red, int green, int blue, unsigned long time=0){
- analogWrite(rgbPin[0], red);
- analogWrite(rgbPin[1], green);
- analogWrite(rgbPin[2], blue);
- if(time>0){
- delay(time);
- for(int i=0; i<3; i++)
- digitalWrite(rgbPin[i], LOW);
- }
- }
- void level(){
- Serial.print("level(): ");
- for(int i=0; i<difficulty; i++){
- if(nextLevel)
- currLevel[i] = int(random(0, 3));
- Serial.print(currLevel[i]);
- digitalWrite(ledPin[currLevel[i]], HIGH);
- delay(500);
- digitalWrite(ledPin[currLevel[i]], LOW);
- delay(300);
- }
- Serial.println("");
- nextLevel = true;
- }
- void input(){
- Serial.println("input()");
- for(int i=0; i<difficulty; ){
- for(int j=0; j<3; j++){
- if(digitalRead(buttonPin[j]) == HIGH){
- player[i] = j;
- i++;
- Serial.print("Pressed: ");
- Serial.println(j);
- delay(200);
- break;
- }
- }
- }
- }
- void setup(){
- randomSeed(analogRead(0));
- Serial.begin(9600);
- for(int i=0; i<3; i++){
- pinMode(ledPin[i], OUTPUT);
- digitalWrite(ledPin[i], LOW);
- pinMode(buttonPin[i], INPUT);
- pinMode(rgbPin[i], OUTPUT);
- digitalWrite(rgbPin[i], LOW);
- }
- // Blink leds
- for(int i=0; i<3; i++){
- digitalWrite(ledPin[i], HIGH);
- delay(300);
- digitalWrite(ledPin[i], LOW);
- }
- // Blink rgb led in green
- rgbLed(0, 255, 0, 1000);
- Serial.println("Ready");
- }
- void loop(){
- Serial.print("Difficulty: ");
- Serial.println(difficulty);
- level();
- input();
- for(int i=0; i<difficulty; i++){
- if(player[i] != currLevel[i]){
- nextLevel = false;
- rgbLed(255, 0, 0, 500);
- return;
- }
- }
- rgbLed(0, 255, 0, 1000);
- difficulty++;
- if(difficulty > 10){
- rgbLed(0, 255, 0, 1000);
- rgbLed(0, 255, 0, 1000);
- }
- delay(300);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement