I have two games written and I want to combien them into one code. I want to press the first button and play simon, and then press the second button to play line. How do I do this?
Here is the code for simon:
#define simon 999
#define STATE_INTRO 0
#define STATE_TALKING 1
#define STATE_LISTENING 2
#define STATE_PROCESSING 3
const int red = 1;
const int yel = 2;
const int grn = 3;
const int org = 4;
const int b1 = 8;
const int b2 = 9;
const int b3 = 10;
const int b4 = 11;
const int speaker = 7;
const int keys[] = { 0, 220, 247, 196, 147 };
const int MAX = 255;
int introcount = 0;
int buttonPressed = 0;
int gameTable[MAX];
int gameCount = -1;
int gameState = STATE_INTRO;
int listenCount = -1;
void setup() {
pinMode(red, OUTPUT);
pinMode(yel, OUTPUT);
pinMode(grn, OUTPUT);
pinMode(org, OUTPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
pinMode(b3, INPUT);
pinMode(b4, INPUT);
pinMode(speaker, OUTPUT);
randomSeed(analogRead(0));
}
void loop() {
switch (gameState) {
case STATE_INTRO:
Intro();
break;
case STATE_TALKING:
delay(1000);
Talk();
break;
case STATE_LISTENING:
CheckPress(b1, red);
CheckPress(b2, yel);
CheckPress(b3, grn);
CheckPress(b4, org);
break;
case STATE_PROCESSING:
Process();
break;
}
}
void Intro() {
int r = random4();
ToneLight(r, r);
delay(20);
if (introcount++ == 10) {
gameState = STATE_TALKING;
introcount = 0;
SeedGame();
}
}
void Talk() {
gameCount += 1;
for (int i = 0; i < gameCount + 1; i++) {
ToneLight(gameTable_, gameTable*);_
_ delay(200);_
_ }_
gameState = STATE_LISTENING;
_}_
void CheckPress(int btn, int led) {
_ int state = digitalRead(btn);_
_ if (state == LOW) {_
_ ToneLight(led, led);_
_ buttonPressed = led;_
gameState = STATE_PROCESSING;
_ listenCount += 1;_
_ } else*_
* digitalWrite(led, LOW);*
}
void Process() {
* if (buttonPressed == gameTable[listenCount]) {*
* gameState = STATE_LISTENING;*
* if (listenCount == gameCount) {*
* listenCount = -1;*
* gameState = STATE_TALKING;
_ } else {_
gameState = STATE_LISTENING;
_ return;_
_ }_
_ } else {_
gameState = STATE_INTRO;
_ gameCount = -1;_
_ listenCount = -1;_
_ }_
_}_
void ToneLight(int led, int key) {
_ digitalWrite(led, HIGH);_
_ tone(speaker, keys[key], 200);_
_ delay(200);_
_ digitalWrite(led, LOW);_
_}_
void SeedGame() {
_ for (int i=0; i < MAX; i++) {_
_ gameTable = random4();
}
}
int random4() {
int r = random(4);
return ++r;
}*
HERE IS THE CODE FORE LINE :_
int currentLED = 1;
int delayValue = 300;
void setup() {
* pinMode(11, INPUT); // button input*
* pinMode(7, OUTPUT); //speaker output*
* pinMode(1, OUTPUT); // RED LED*
* pinMode(2, OUTPUT); // YELLOW LED*
* pinMode(3, OUTPUT); // GREEN LED*
* pinMode(4, OUTPUT); // PINK LED*
}
int buttonPress() {
* if (digitalRead(11) == 0) {*
* return 1;*
* } else {*
* return 0;*
* }*
}
void loop(){
* if (digitalRead(11) == 0) {*
* if (currentLED == 4) {*
* // Blink the correct LED*
* digitalWrite(4, HIGH);*
* delay(200);*
* digitalWrite(4, LOW);*
* delay(200);*
* digitalWrite(4, HIGH);*
* delay(200);*
* digitalWrite(4, LOW);*
* delay(200);*
// Speed up the LEDs
* delayValue = delayValue - 15;*
* } else {*
* // Blink the wrong LED*
* digitalWrite(currentLED, HIGH);*
* delay(200);*
* digitalWrite(currentLED, LOW);*
* delay(200);*
* digitalWrite(currentLED, HIGH);*
* delay(200);*
* digitalWrite(currentLED, LOW);*
* delay(200);*
* }*
* }*
* //LED from white –> yellow –> green –> red*
* digitalWrite(currentLED, HIGH);*
* delay(delayValue);*
* digitalWrite(currentLED, LOW);*
* delay(delayValue);*
* currentLED = currentLED + 1;*
* if (currentLED > 4) {*
* currentLED = 1;*
* }*
}
THANKS FOR ANYONE WHO HELPS