Get ready to create your very own talking parrot app! Miss Parrot will be your digital pet who can:
- :emoji:️ Repeat what you say
- :emoji: Give funny random responses
- :emoji: React when you touch her
- :iphone: Respond when you shake your phone
This is going to be SO much fun! Let's make Miss Parrot come alive!
To successfully complete this awesome project, you'll need to master these super cool concepts:
- Purpose: Convert text into spoken words (just like magic!)
- Component: TextToSpeech (it's invisible but super powerful!)
- Key Method:
TextToSpeech.Speak
- this makes your app talk!
- Properties: You can change the voice, pitch, and speed - make Miss Parrot sound however you want!
:bulb: Did you know? :bulb:
Text-to-Speech technology is used in lots of places! Your phone uses it to read messages aloud, and it helps people who have trouble seeing to use computers!
- Component: TextBox - where you type your messages!
- Property:
TextBox.Text
- this grabs whatever you typed
- Condition: We check if the textbox is empty (no typing = grumpy parrot!)
- Concept: Create lists of funny responses
- Method: Use
select list item
with random integer
to pick surprise responses!
- Purpose: Make Miss Parrot unpredictable and hilarious!
:information_source: Remember! :emoji:
Lists are like boxes of surprises! You put different responses in, and Miss Parrot picks one randomly - just like pulling a card from a deck!
- Event: Long press detection (hold your finger down!)
- Component: Image or ImageSprite (Miss Parrot's picture)
- Event Handler:
LongClick
event - triggers when you hold down
- Response: Make Miss Parrot say something special!
- Component: AccelerometerSensor (another invisible helper!)
- Event:
Shaking
event - knows when you shake your phone!
- Purpose: Detect phone movement
- Response: Miss Parrot gets dizzy and complains! :emoji:
:bulb: Fun Fact! :video_game:
The accelerometer is the same sensor that makes games know when you tilt your phone to steer a car or balance a ball!
- Concept: If-then-else statements (smart decisions!)
- Purpose: Different responses for different situations
- Example: If textbox is empty, Miss Parrot asks "Why aren't you talking to me?" :emoji:
Let's build Miss Parrot step by step!
Required Components:
Visible Components (stuff you can see!):
- Image - Miss Parrot's picture :emoji:
- TextBox - Where you type messages :speech_balloon:
- Button - To make her talk (optional but fun!) :emoji:
- Labels - Show instructions (help your users!) :clipboard:
Non-visible Components (secret helpers!):
- TextToSpeech - The voice box! :emoji:️
- AccelerometerSensor - The shake detector! :iphone:
Design Tips:
- Pick a colorful, happy parrot image! :emoji:
- Make the textbox big enough for typing
- Use bright, fun colors for your background
- Add a title like "Meet Miss Parrot!" at the top
Here's what Miss Parrot needs to do:
-
Empty Textbox Response :emoji:
- When textbox is empty and user clicks, Miss Parrot says something like "Hello? Is anyone there?"
-
Read User Text :emoji:️
- When there's text in the textbox, Miss Parrot repeats it back!
-
Long Press Response :emoji:
- When you hold down on Miss Parrot, she says something special!
-
Shake Response :emoji:️
- When you shake the phone, Miss Parrot gets dizzy!
- Create global variables for each type of response
- Initialize them with
make a list
blocks
- Add multiple creative responses - be funny! Be silly!
- Use
select list item
with random integer
for surprise responses!
Example responses for empty textbox:
- "Hello? Is anyone there?" :emoji:
- "Why so quiet?" :emoji:
- "Talk to me, I'm lonely!" :emoji:
- "Squawk! Pay attention to me!" :emoji:
- Use comparison operators (
=
, ≠
) to check if textbox has text
- Implement if-then-else logic - smart decision making!
- Test everything - try spaces, numbers, emojis!
:information_source: Remember! :emoji:
Always check if the textbox is empty BEFORE trying to speak the text. Otherwise, Miss Parrot won't know what to say!
- Set up event handlers for each interaction:
- Button click
- Long press on image
- Phone shaking
- Make sure events work together - no conflicts!
- Test, test, test! Try every possible way to interact!
Watch out for these sneaky bugs! :bug:
-
Forgetting to check for empty textbox :emoji:
- Always check if there's text before speaking!
-
Using only one response :emoji:
- Boring! Add at least 3-4 different responses for each event
-
Not testing all interactions :mag:
- Try clicking, long pressing, shaking - everything!
-
Poor error handling :emoji:
- What if someone types just spaces? Be ready!
-
Copying code directly :clipboard:
- Create your own unique app - be creative!
-
Inadequate testing :emoji:
- Ask a friend to try your app and find bugs!
-
Missing components :emoji:
- Double-check you added ALL required components
-
Inappropriate responses :emoji:
- Keep Miss Parrot friendly and school-appropriate!
:bulb: Pro Tip! :muscle:
Test your app like you're trying to break it! Type weird things, shake really hard, press buttons quickly - if it still works, you did great!
-
Be Creative: :art: Give Miss Parrot a fun personality!
- Make her sassy, silly, or sweet - it's your choice!
-
Test Thoroughly: :mag: Try EVERYTHING!
- Empty textbox? :emoji:
- Long text? :emoji:
- Numbers and symbols? :emoji:
- All interactions? :emoji:
-
Plan First: :memo: Draw your app on paper before coding!
- Where will Miss Parrot go?
- How big should the textbox be?
- What colors will you use?
-
Use Lists Effectively: :books: More responses = more fun!
- Shake responses: "Whoa!", "I'm dizzy!", "Stop that!"
- Long press responses: "That tickles!", "Ouch!", "Hey there!"
-
Debug Like a Detective: :mag: One problem at a time!
- Something not working? Check one thing, test, repeat!
-
Get Feedback: :emoji: Two heads are better than one!
- Show your app to friends and family
- Watch them use it - you'll learn so much!
:information_source: Remember! :emoji:
This project shows off everything you've learned! Take your time, be creative, and have FUN making Miss Parrot come to life!
Congratulations on creating Miss Parrot! You've just built an interactive app that can:
- Listen to users :emoji:
- Speak back :emoji:️
- Respond to touch :emoji:
- React to movement :iphone:
You're becoming a real app developer! Keep practicing, keep creating, and most importantly - keep having fun with code!
Your parrot is waiting to meet the world! Squawk! :emoji: