Dance!
Floofy the Alien has boarded your ship and wants to teach you the dance of his people. Follow along and learn it so you can receive a friendly welcome by the rest of the Martian population.
Welcome Mode
Once the TOT is inserted, Floofy the Alien invites users to come learn its cultural dance by waving its arms around and playing a happy welcoming song that can be heard through the provided headphones. Each arm is controlled by an independent servo, and a soundboard stores and outputs the signal for the song. The user then selects a difficulty level on the game play potentiometer (our analog input). This controls the speed of the game by adjusting the timer duration on how long the user has to respond to a dance move. This also adjusts the duration between Floofy’s dance moves. Once the user has chosen a speed, they press the start button to begin the game. Floofy prepares to teach the dance by putting its arms down. The clock, which is controlled by a servo, starts ticking.
Game Mode
Dance Move Given
Floofy randomly performs one of three possible dance moves: left, right, or both. A servo moves the corresponding arm(s) to approximately 45o outwards to show the dance move. The user to copy its move before Floofy puts its arm(s) down.
Hands-Free User Input
Once the user sees Floofy’s arm(s) move, they have to quickly copy the dance move by mirroring Floofy’s movement. To do this, they slice their hand in the space underneath Floofy’s eye stalk that corresponds to the movement. For example, if Floofy’s left arm moves, the user has to slice their hand underneath the left eye stalk. If both arms move, the user has to slice their hand underneath both eye stalks. This is our large-scale motion input.
Audio Feedback
An IR line break is placed on each eye stalk to register whether the user performed the dance move. If the user slices their hand through the correct eye stalk within the time limit, a correct move is recorded. Floofy will withdraw its arm and play a bell sound to inform the user that they have successfully performed the move. If the user slices their hand through the wrong eye stalk or the timer expires before the user performs the dance move, Floofy will withdraw its arm and play a buzzer sound to inform the user that they failed the move. Floofy then generates another dance move, and this process repeats. Floofy keeps track of the user’s correct and incorrect dance moves.
Floofy randomly performs one of three possible dance moves: left, right, or both. A servo moves the corresponding arm(s) to approximately 45o outwards to show the dance move. The user to copy its move before Floofy puts its arm(s) down.
Hands-Free User Input
Once the user sees Floofy’s arm(s) move, they have to quickly copy the dance move by mirroring Floofy’s movement. To do this, they slice their hand in the space underneath Floofy’s eye stalk that corresponds to the movement. For example, if Floofy’s left arm moves, the user has to slice their hand underneath the left eye stalk. If both arms move, the user has to slice their hand underneath both eye stalks. This is our large-scale motion input.
Audio Feedback
An IR line break is placed on each eye stalk to register whether the user performed the dance move. If the user slices their hand through the correct eye stalk within the time limit, a correct move is recorded. Floofy will withdraw its arm and play a bell sound to inform the user that they have successfully performed the move. If the user slices their hand through the wrong eye stalk or the timer expires before the user performs the dance move, Floofy will withdraw its arm and play a buzzer sound to inform the user that they failed the move. Floofy then generates another dance move, and this process repeats. Floofy keeps track of the user’s correct and incorrect dance moves.
End Mode
When the clock expires, the game is over. Floofy calculates the percentage of correct answers the user achieved. Floofy will print out the user’s percentage and the number of correct moves to Tera Term.
Celebration Mode
If the user’s percentage is above a certain threshold, Floofy will enter celebration mode. Joyful party music is played, and Floofy moves its arms in celebration. After a certain time period, the game resets and returns to welcome mode.
Sadness Mode
If the user’s percentage is below the threshold, Floofy will enter sadness mode. Floofy will refuse to dance and will play a crying sound. After a certain time period, the game resets and returns to welcome mode.
Celebration Mode
If the user’s percentage is above a certain threshold, Floofy will enter celebration mode. Joyful party music is played, and Floofy moves its arms in celebration. After a certain time period, the game resets and returns to welcome mode.
Sadness Mode
If the user’s percentage is below the threshold, Floofy will enter sadness mode. Floofy will refuse to dance and will play a crying sound. After a certain time period, the game resets and returns to welcome mode.