## The Amazing Annoyatron

0 of 20 lessons complete (0%)

# Decision Maker

Ever had a hard decision, but didn’t know how to go about deciding? Well, fear not! In this project, you’ll be building a program that will give you a yes or no answer to any question that you ask it.

## Step 1

### Code some chaos

decision_maker.ino
``````void setup() {
Serial.begin(9600);
Serial.println("                   oooo                                                              ");
Serial.println("                   `888                                                              ");
Serial.println(" .oooo.    .oooo.o  888  oooo        .oooo.   oooo oooo    ooo  .oooo.   oooo    ooo ");
Serial.println("`P  )88b  d88(  \"8  888 .8P'        `P  )88b   `88. `88.  .8'  `P  )88b   `88.  .8'  ");
Serial.println(" .oP\"888  `\"Y88b.   888888.          .oP\"888    `88..]88..8'    .oP\"888    `88..8'   ");
Serial.println("d8(  888  o.  )88b  888 `88b.       d8(  888     `888'`888'    d8(  888     `888'    ");
Serial.println("`Y888""8o 8""888P' o888o o888o      `Y888""8o     `8'  `8'     `Y888""8o     .8'     ");
Serial.println("                                                                         .o..P'      ");
Serial.println("                                                                         `Y8P'       ");
Serial.println("Ask me a question and I will give you a yes/no answer\n");   }     void loop() {       randomSeed(analogRead(0));
if(Serial.available() > 0) {
Serial.println();
delay(1000);
if(random(0, 2) == 0) Serial.println("I say yes."); // The 'YES' message
else Serial.println("I say no."); // The 'NO' message
Serial.println();
delay(1000);
}
}``````

## Step 2

#### Open the ‘Serial Monitor’

Click on the button shown in the image to open the Serial Monitor.

Type in a message and click ‘Send’. The Decision Maker will respond!

## Step 3

#### Change the decision messages

Giving a simple yes or no answer to all of your questions is a bit boring, don’t you think? At the moment, when a question is being answered, you get a pretty plain response. If the answer is ‘yes’, then it just says: “I say yes.”, and nothing more.

``if(random(0, 2) == 0) Serial.println("I say yes."); // The 'YES' message``

To edit this response, all you need to do is change the text inside the quotation marks. For example, if I wanted to respond with, “The stars tell me that the answer to your question is yes.”, I would need to use the following code:

``if(random(0, 2) == 0) Serial.println("The stars tell me that the answer to your question is yes."); // The 'YES' message``

But that’s only the response when the answer to a question is ‘yes’. We can also edit the response to questions with a ‘no’ answer. The code for this can be found on line 18.

``else Serial.println("I say no."); // The 'NO' message``

Like with our the previous response, all we have to do to change this one is to change the text inside the quotation marks.