diff --git a/src/lib/libraries/decks/index.jsx b/src/lib/libraries/decks/index.jsx index d6ceaf669e0a84753e9342b4d485f78c4eedf478..1f4512024b2bd8f450350670d6a8fe41efcc295a 100644 --- a/src/lib/libraries/decks/index.jsx +++ b/src/lib/libraries/decks/index.jsx @@ -113,6 +113,82 @@ export default { urlId: 'getStarted' }, + 'animate-a-name': { + name: ( + <FormattedMessage + defaultMessage="Animate a Name" + description="Name for the 'Animate a Name' how-to" + id="gui.howtos.animate-a-name.name" + /> + ), + img: libraryAnimate, + tags: ['animation', 'art', 'spin', 'grow'], + steps: [{ + video: 'animate-a-name' + }, { + title: ( + <FormattedMessage + defaultMessage="Pick a Letter Sprite" + description="Step name for 'Pick a Letter Sprite' step" + id="gui.howtos.animate-a-name.step_AnimatePickLetter" + /> + ), + image: 'namePickLetter' + }, { + title: ( + <FormattedMessage + defaultMessage="Play a Sound When Clicked" + description="Step name for 'Play a Sound When Clicked' step" + id="gui.howtos.animate-a-name.step_AnimatePlaySound" + /> + ), + image: 'namePlaySound' + }, { + title: ( + <FormattedMessage + defaultMessage="Pick Another Letter Sprite" + description="Step name for 'Pick Another Letter Sprite" + id="gui.howtos.animate-a-name.step_AnimatePickLetter2" + /> + ), + image: 'namePickLetter2' + }, { + title: ( + <FormattedMessage + defaultMessage="Change color" + description="Step name for 'Change color' step" + id="gui.howtos.animate-a-name.step_AnimateChangeColor" + /> + ), + image: 'nameChangeColor' + }, { + title: ( + <FormattedMessage + defaultMessage="Pick Another Letter Sprite & Make It Spin" + description="Step name for 'Pick Another Letter Sprite & Make It Spin' step" + id="gui.howtos.animate-a-name.step_AnimateSpin" + /> + ), + image: 'nameSpin' + }, { + title: ( + <FormattedMessage + defaultMessage="Pick Another Letter Sprite & Make It Grow" + description="Step name for 'Pick Another Letter Sprite & Make It Grow!' step" + id="gui.howtos.animate-a-name.step_AnimateGrow" + /> + ), + image: 'nameGrow' + }, { + deckIds: [ + 'add-a-backdrop', + 'glide-around' + ] + } + ], + urlId: 'name' + }, + 'imagine': { name: ( <FormattedMessage @@ -269,1353 +345,1277 @@ export default { ], urlId: 'imagine' }, - - 'code-cartoon': { + + 'Make-Music': { name: ( <FormattedMessage - defaultMessage="Code a Cartoon" - description="Name for the 'Code a Cartoon' how-to" - id="gui.howtos.code-cartoon" + defaultMessage="Make Music" + description="Name for the 'Make Music' how-to" + id="gui.howtos.make-music.name" /> ), - tags: ['code-cartoon'], - requiredProjectId: '331474033', - img: libraryCodeCartoon, + img: libraryMakeMusic, + tags: ['music', 'sound', 'instrument', 'play', 'song', 'band'], steps: [{ - video: 'code-cartoon' + video: 'Make-Music' + }, + { + title: ( + <FormattedMessage + defaultMessage="Pick an Instrument Sprite " + description="Step name for 'Pick an Instrument Sprite' step" + id="gui.howtos.Make-Music.step_PickInstrument" + /> + ), + image: 'musicPickInstrument' + }, + { + title: ( + <FormattedMessage + defaultMessage="Play Sound When Clicked" + description="Step name for 'Play Sound When Clicked' step" + id="gui.howtos.Make-Music.step_PlaySoundClick" + /> + ), + image: 'musicPlaySound' + }, + { + title: ( + <FormattedMessage + defaultMessage="Create a Song" + description="Step name for 'Create a Song' step" + id="gui.howtos.Make-Music.step_MakeSong" + /> + ), + image: 'musicMakeSong' }, { title: ( <FormattedMessage - defaultMessage="Say Something When You Click the Green Flag" - description="Step name for 'Say Something When You Click the Green Flag' step" - id="gui.howtos.code-cartoon.step_codeCartoonSaySomething" + defaultMessage="Choose a Drum & Make a Beat" + description="Step name for 'Choose a Drum & Make a Beat' step" + id="gui.howtos.make-music.step_MakeBeat" /> ), - image: 'codeCartoonSaySomething' + image: 'musicMakeBeat' }, { title: ( <FormattedMessage - defaultMessage="Animate a Character When You Click It" - description="Step name for 'Animate a Character When You Click It' step" - id="gui.howtos.code-cartoon.step_codeCartoonAnimate" + defaultMessage="Choose the Microphone Sprite & Surprise Beatbox" + description="Step name for 'Choose the Microphone Sprite & Surprise Beatbox' step" + id="gui.howtos.make-music.step_MakeBeatBox" /> ), - image: 'codeCartoonAnimate' + image: 'musicMakeBeatbox' }, { + deckIds: [ + 'add-a-backdrop', + 'add-sprite' + ] + } + ], + urlId: 'music' + }, + + 'Tell-A-Story': { + name: ( + <FormattedMessage + defaultMessage="Create A Story" + description="Name for the 'Create A Story' how-to" + id="gui.howtos.story.name" + /> + ), + img: libraryStory, + steps: [{ + video: 'stah7jjorp' + }, + { title: ( <FormattedMessage - defaultMessage="Select a Different Character" - description="Step name for 'Select a Different Character' step" - id="gui.howtos.code-cartoon.step_codeCartoonSelectDifferentCharacter" + defaultMessage="Add a Backdrop" + description="Step name for 'Add a Backdrop' step" + id="gui.howtos.story.step_addbg" /> ), - image: 'codeCartoonSelectDifferentCharacter' + image: 'storyPickBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Use a Minus Sign to Get Smaller" - description="Step name for 'Use a Minus Sign to Get Smaller' step" - id="gui.howtos.code-cartoon.step_codeCartoonUseMinusSign" + defaultMessage="Add a Character" + description="Step name for 'Add a Character' step" + id="gui.howtos.story.step_addsprite" /> ), - image: 'codeCartoonUseMinusSign' + image: 'storyPickSprite' }, { title: ( <FormattedMessage - defaultMessage="Make a Character Grow and Shrink" - description="Step name for 'Make a Character Grow and Shrink' step" - id="gui.howtos.code-cartoon.step_codeCartoonGrowShrink" + defaultMessage="Say Something" + description="Step name for 'Say Something' step" + id="gui.howtos.story.step_saysomething" /> ), - image: 'codeCartoonGrowShrink' + image: 'storySaySomething' }, { title: ( <FormattedMessage - defaultMessage="Select a Different Character" - description="Step name for 'Select a Different Character' step" - id="gui.howtos.code-cartoon.step_codeCartoonSelectDifferentCharacter2" + defaultMessage="Add Another Character" + description="Step name for 'Add Another Character' step" + id="gui.howtos.story.step_addanothersprite" /> ), - image: 'codeCartoonSelectDifferentCharacter2' + image: 'storyPickSprite2' }, { title: ( <FormattedMessage - defaultMessage="Jump Up and Down" - description="Step name for 'Jump Up and Down' step" - id="gui.howtos.code-cartoon.step_codeCartoonJump" + defaultMessage="Flip Direction" + description="Flip Direction' step" + id="gui.howtos.story.step_flip" /> ), - image: 'codeCartoonJump' + image: 'storyFlip' }, { title: ( <FormattedMessage - defaultMessage="Click a Character to Change Scenes" - description="Step name for 'Click a Character to Change Scenes' step" - id="gui.howtos.code-cartoon.step_codeCartoonChangeScenes" + defaultMessage="Have A Conversation" + description="Step name for 'Have A Conversation' step" + id="gui.howtos.story.step_conversation" /> ), - image: 'codeCartoonChangeScenes' + image: 'storyConversation' }, { title: ( <FormattedMessage - defaultMessage="Glide Around" - description="Step name for 'Glide Around' step" - id="gui.howtos.code-cartoon.step_codeCartoonGlideAround" + defaultMessage="Add Another Backdrop" + description="Step name for 'Add Another Backdrop' step" + id="gui.howtos.story.addanotherbg" /> ), - image: 'codeCartoonGlideAround' + image: 'storyPickBackdrop2' }, { title: ( <FormattedMessage - defaultMessage="Change Costumes" - description="Step name for 'Change Costumes' step" - id="gui.howtos.code-cartoon.step_codeCartoonChangeCostumes" + defaultMessage="Switch Backdrops" + description="Step name for 'Switch Backdrops' step" + id="gui.howtos.story.step_swithbg" /> ), - image: 'codeCartoonChangeCostumes' + image: 'storySwitchBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Choose More Characters to Add to Your Cartoon" - description="Step name for 'Choose More Characters to Add to Your Cartoon' step" - id="gui.howtos.code-cartoon.step_codeCartoonChooseMoreCharacters" + defaultMessage="Hide a Character" + description="Step name for 'Hide the Wizard' step" + id="gui.howtos.story.step_hidewizard" /> ), - image: 'codeCartoonChooseMoreCharacters' + image: 'storyHideCharacter' }, { + title: ( + <FormattedMessage + defaultMessage="Show a Character" + description="Step name for 'Show the Wizard' step" + id="gui.howtos.story.step_showwizard" + /> + ), + image: 'storyShowCharacter' + }, + { deckIds: [ - 'Chase-Game', - 'Tell-A-Story' + 'say-it-out-loud', + 'record-a-sound' ] } ], - urlId: 'code-cartoon' + urlId: 'tell-a-story' }, - 'say-it-out-loud': { + 'Chase-Game': { name: ( <FormattedMessage - defaultMessage="Create Animations That Talk" - description="Name for the 'Create Animations That Talk' how-to" - id="gui.howtos.say-it-out-loud" + defaultMessage="Make a Chase Game" + description="Name for the 'Make a Chase Game' how-to" + id="gui.howtos.make-a-chase-game.name" /> ), - img: libraryTXTSpeech, + img: libraryChaseGame, + tags: ['games', 'arrow', 'keyboard', 'score'], steps: [{ - video: 'k54n8uwcty', - trackingPixel: ( - <img src="https://code.org/api/hour/begin_scratch_talk.png" /> - ) - }, { - title: ( - <FormattedMessage - defaultMessage="Add the Text to Speech blocks" - description="Step name for 'Add the Text to Speech blocks' step" - id="gui.howtos.say-it-out-loud.step_AddTXTextension" - /> - ), - image: 'speechAddExtension' - }, { + video: 'Chase-Game' + }, + { title: ( <FormattedMessage - defaultMessage="Say Something" - description="Step name for 'Say Something' step" - id="gui.howtos.say-it-out-loud.step_TXTSpeech" + defaultMessage="Add a Backdrop" + description="Step name for 'Add a Backdrop' step" + id="gui.howtos.Chase-Game.step_BG" /> ), - image: 'speechSaySomething' + image: 'chaseGameAddBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Set a Voice" - description="Step name for 'Set a Voice" - id="gui.howtos.say-it-out-loud_TXTSetVoice" + defaultMessage="Add a Sprite" + description="Step name for 'Add a Sprite' step" + id="gui.howtos.chase-game.step_AddOcto" /> ), - image: 'speechSetVoice' + image: 'chaseGameAddSprite1' }, { title: ( <FormattedMessage - defaultMessage="Move Around" - description="Step name for 'Move Around' step" - id="gui.howtos.say-it-out-loud.step_TXTMove" + defaultMessage="Move Right & Left With Arrow Keys" + description="Step name for 'Move Right & Left With Arrow Keys' step" + id="gui.howtos.make-music.step_LeftRight" /> ), - image: 'speechMoveAround' + image: 'chaseGameRightLeft' }, { title: ( <FormattedMessage - defaultMessage="Add a Backdrop" - description="Step name for 'Add a Backdrop' step" - id="gui.howtos.say-it-out-loud.step_TXTBackdrop" + defaultMessage="Move Up & Down With Arrow Keys" + description="Step name for 'Move Up & Down With Arrow Keys' step" + id="gui.howtos.Chase-Game.step_UpDown" /> ), - image: 'speechAddBackdrop' + image: 'chaseGameUpDown' }, { title: ( <FormattedMessage - defaultMessage="Add Another Character" - description="Step name for 'Add Another Character' step" - id="gui.howtos.say-it-out-loud.step_TXTAddSprite" + defaultMessage="Add Another Sprite" + description="Step name for 'Add Another Sprite' step" + id="gui.howtos.Chase-Game.step_AddStar" /> ), - image: 'speechAddSprite' + image: 'chaseGameAddSprite2' }, { title: ( <FormattedMessage - defaultMessage="Perform a Song" - description="Step name for 'Perform a Song' step" - id="gui.howtos.say-it-out-loud.step_TXTSong" + defaultMessage="Move Randomly" + description="Step name for 'Move Randomly' step" + id="gui.howtos.Chase-Game.step_MoveRandom" /> ), - image: 'speechSong' + image: 'chaseGameMoveRandomly' }, { title: ( <FormattedMessage - defaultMessage="Change Color" - description="Step name for 'Change Color' step" - id="gui.howtos.say-it-out-loud.step_TXTColor" + defaultMessage="In Octopus Sprite, When Touching Play Sound" + description="Step name for 'In Octopus Sprite, When Touching Play Sound' step" + id="gui.howtos.Chase-Game.step_WhenTouch" /> ), - image: 'speechChangeColor' + image: 'chaseGamePlaySound' }, { title: ( <FormattedMessage - defaultMessage="Spin Around" - description="Step name for 'Spin Around" - id="gui.howtos.say-it-out-loud.step_TXTSpin" + defaultMessage="Create Score Variable" + description="Step name for 'Create Score Variable" + id="gui.howtos.Chase-Game.step_ScoreVariable" /> ), - image: 'speechSpin' + image: 'chaseGameAddVariable' }, { title: ( <FormattedMessage - defaultMessage="Grow and Shrink" - description="Step name for 'Grow and Shrink' step" - id="gui.howtos.say-it-out-loud.step_TXTGrow" + defaultMessage="In Octopus Sprite, When Touching Add Score" + description="Step name for 'In Octopus Sprite, When Touching Add Score step" + id="gui.howtos.Chase-Game.ScoreWhenTouch" /> ), - image: 'speechGrowShrink' + image: 'chaseGameChangeScore' }, { deckIds: [ - 'animate-a-name', - 'Make-Music' + 'add-effects', + 'move-around-with-arrow-keys' ] } ], - urlId: 'animations-that-talk' + urlId: 'chase-game' }, - 'talking': { + 'Animate-A-Character': { name: ( <FormattedMessage - defaultMessage="Talking Tales" - description="Name for the 'Talking Tales' how-to" - id="gui.howtos.talking" + defaultMessage="Animate A Character" + description="Name for the 'Animate A Character' how-to" + id="gui.howtos.animate-char.name" /> ), - tags: ['talking'], - img: libraryTalking, + img: libraryAnimateChar, steps: [{ - video: 'talking' + video: 's228u3g5u9' + }, + { + title: ( + <FormattedMessage + defaultMessage="Add a Backdrop" + description="Step name for 'Add a Backdrop' step" + id="gui.howtos.animate-char.step_addbg" + /> + ), + image: 'animateCharPickBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Click to Add the Text-to-Speech Blocks" - description="Step name for 'Click to Add the Text-to-Speech Blocks' step" - id="gui.howtos.talking.step_talesAddExtension" + defaultMessage="Add a Sprite" + description="Step name for 'Add a Sprite' step" + id="gui.howtos.animate-char.step_addsprite" /> ), - image: 'talesAddExtension' + image: 'animateCharPickSprite' }, { title: ( <FormattedMessage - defaultMessage="Choose a Sprite" - description="Step name for 'Choose a Sprite' step" - id="gui.howtos.talking.step_talesChooseSprite" + defaultMessage="Say Something" + description="Step name for 'Say Something' step" + id="gui.howtos.animate-char.step_saysomething" /> ), - image: 'talesChooseSprite' + image: 'animateCharSaySomething' }, { title: ( <FormattedMessage - defaultMessage="Make a Character Speak" - description="Step name for 'Make a Character Speak' step" - id="gui.howtos.talking.step_talesSaySomething" + defaultMessage="Add Sound" + description="Step name for 'Add Sound' step" + id="gui.howtos.animate-char.step_addsound" /> ), - image: 'talesSaySomething' + image: 'animateCharAddSound' }, { title: ( <FormattedMessage - defaultMessage="Choose a Backdrop" - description="Step name for 'Choose a Backdrop' step" - id="gui.howtos.talking.step_talesChooseBackdrop" + defaultMessage="Animate Talking" + description="Step name for 'Animate Talking' step" + id="gui.howtos.animate-char.step_animatetalking" /> ), - image: 'talesChooseBackdrop' + image: 'animateCharTalk' }, { title: ( <FormattedMessage - defaultMessage="Click a Character to Go to the Next Backdrop" - description="Step name for 'Click a Character to Go to the Next Backdrop' step" - id="gui.howtos.talking.step_talesSwitchBackdrop" + defaultMessage="Move Using Arrow Keys" + description="Step name for 'Move Using Arrow Keys' step" + id="gui.howtos.animate-char.step_arrowkeys" /> ), - image: 'talesSwitchBackdrop' + image: 'animateCharMove' }, { title: ( <FormattedMessage - defaultMessage="Choose Another Sprite" - description="Step name for 'Choose Another Sprite' step" - id="gui.howtos.talking.step_talesChooseAnotherSprite" + defaultMessage="Jump" + description="Step name for 'Jump' step" + id="gui.howtos.animate-char.step_jump" /> ), - image: 'talesChooseAnotherSprite' + image: 'animateCharJump' }, { title: ( <FormattedMessage - defaultMessage="Move Around" - description="Step name for 'Move Around' step" - id="gui.howtos.talking.step_talesMoveAround" + defaultMessage="Change Color" + description="Step name for 'Change Color' step" + id="gui.howtos.animate-char.step_changecolor" /> ), - image: 'talesMoveAround' + image: 'animateCharChangeColor' + }, { + deckIds: [ + 'code-cartoon', + 'Tell-A-Story' + ] + } + ], + urlId: 'animate-a-character' + }, + + 'Make-A-Game': { + name: ( + <FormattedMessage + defaultMessage="Make a Clicker Game" + description="Name for the 'Make a Clicker Game' how-to" + id="gui.howtos.make-a-game.name" + /> + ), + img: libraryMakeAGame, + tags: ['games', 'click', 'clicked', 'score'], + steps: [{ + video: 'Make-A-Game' + }, + { + title: ( + <FormattedMessage + defaultMessage="Pick A Sprite" + description="Step name for 'Pick A Sprite' step" + id="gui.howtos.Make-A-Game.step_GamePickSprite" + /> + ), + image: 'popGamePickSprite' }, { title: ( <FormattedMessage - defaultMessage="Choose Another Backdrop" - description="Step name for 'Choose Another Backdrop' step" - id="gui.howtos.talking.step_talesChooseAnotherBackdrop" + defaultMessage="Play Sound When Clicked" + description="Play Sound When Clicked' step" + id="gui.howtos.make-a-game.step_GamePlaySound" /> ), - image: 'talesChooseAnotherBackdrop' + image: 'popGamePlaySound' }, { title: ( <FormattedMessage - defaultMessage="Animate Talking" - description="Step name for 'Animate Talking' step" - id="gui.howtos.talking.step_talesAnimateTalking" + defaultMessage="Create Score Variable" + description="Step name for 'Create Score Variable' step" + id="gui.howtos.make-a-game.step_GameAddScore" /> ), - image: 'talesAnimateTalking' + image: 'popGameAddScore' }, { title: ( <FormattedMessage - defaultMessage="Choose Another Backdrop" - description="Step name for 'Choose Another Backdrop' step" - id="gui.howtos.talking.step_talesChooseThirdBackdrop" + defaultMessage="When Clicked Increase Score" + description="Step name for 'When Clicked Increase Score' step" + id="gui.howtos.make-a-game.step_GameChangeScore" /> ), - image: 'talesChooseThirdBackdrop' + + image: 'popGameChangeScore' }, { title: ( <FormattedMessage - defaultMessage="Choose a Song to Dance To" - description="Step name for 'Choose a Song to Dance To' step" - id="gui.howtos.talking.step_talesChooseSound" + defaultMessage="Go to a random position" + description="Step name for 'Go to a random position' step" + id="gui.howtos.make-a-game.step_Random" /> ), - image: 'talesChooseSound' + image: 'popGameRandomPosition' }, { title: ( <FormattedMessage - defaultMessage="Dance Moves" - description="Step name for 'Dance Moves' step" - id="gui.howtos.talking.step_talesDanceMoves" + defaultMessage="Change Color" + description="Step name for 'Change Color' step" + id="gui.howtos.make-music.step_GameChangeColor" /> ), - image: 'talesDanceMoves' + image: 'popGameChangeColor' }, { title: ( <FormattedMessage - defaultMessage="Get the Ask and Answer Blocks from the Sensing Category" - description="Step name for 'Get the Ask and Answer Blocks from the Sensing Category' step" - id="gui.howtos.talking.step_talesAskAnswer" + defaultMessage="Reset Score" + description="Step name for 'Reset Score' step" + id="gui.howtos.make-music.step_ResetScore" /> ), - image: 'talesAskAnswer' + image: 'popGameResetScore' }, { deckIds: [ - 'Tell-A-Story', - 'Animate-A-Character' + 'add-a-backdrop', + 'move-around-with-arrow-keys' ] } ], - urlId: 'talking' + urlId: 'clicker-game' }, - 'animate-a-name': { + 'make-it-fly': { name: ( <FormattedMessage - defaultMessage="Animate a Name" - description="Name for the 'Animate a Name' how-to" - id="gui.howtos.animate-a-name.name" + defaultMessage="Make it Fly" + description="Name for the 'Make it Fly' Make it Fly" + id="gui.howtos.make-it-fly.name" /> ), - img: libraryAnimate, - tags: ['animation', 'art', 'spin', 'grow'], + tags: ['game', 'fly', 'how', 'can', 'animation'], + img: libraryMakeFly, steps: [{ - video: 'animate-a-name' + video: 'zbtdx2dem9' }, { title: ( <FormattedMessage - defaultMessage="Pick a Letter Sprite" - description="Step name for 'Pick a Letter Sprite' step" - id="gui.howtos.animate-a-name.step_AnimatePickLetter" + defaultMessage="Choose a Sky Background" + description="Step name for 'Choose a Sky Background' step" + id="gui.howtos.fly.step_stepflyChooseBackdrop" /> ), - image: 'namePickLetter' + image: 'flyChooseBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Play a Sound When Clicked" - description="Step name for 'Play a Sound When Clicked' step" - id="gui.howtos.animate-a-name.step_AnimatePlaySound" + defaultMessage="Choose a Character" + description="Step name for 'Choose a Character' step" + id="gui.howtos.add-a-move-block.step_stepflyChooseCharacter" /> ), - image: 'namePlaySound' + image: 'flyChooseCharacter' }, { title: ( <FormattedMessage - defaultMessage="Pick Another Letter Sprite" - description="Step name for 'Pick Another Letter Sprite" - id="gui.howtos.animate-a-name.step_AnimatePickLetter2" + defaultMessage="Say Something" + description="Step name for 'Say Something' step" + id="gui.howtos.fly.step_stepflySaySomething" /> ), - image: 'namePickLetter2' + image: 'flySaySomething' }, { title: ( <FormattedMessage - defaultMessage="Change color" - description="Step name for 'Change color' step" - id="gui.howtos.animate-a-name.step_AnimateChangeColor" + defaultMessage="Move With Arrow Keys" + description="Step name for 'Move With Arrow Keys' step" + id="gui.howtos.add-a-move-block.step_stepflyMoveArrows" /> ), - image: 'nameChangeColor' + image: 'flyMoveArrows' }, { title: ( <FormattedMessage - defaultMessage="Pick Another Letter Sprite & Make It Spin" - description="Step name for 'Pick Another Letter Sprite & Make It Spin' step" - id="gui.howtos.animate-a-name.step_AnimateSpin" + defaultMessage="Choose an Object to Collect" + description="Step name for 'Choose an Object to Collect' step" + id="gui.howtos.fly.step_stepflyChooseObject" /> ), - image: 'nameSpin' + image: 'flyChooseObject' }, { title: ( <FormattedMessage - defaultMessage="Pick Another Letter Sprite & Make It Grow" - description="Step name for 'Pick Another Letter Sprite & Make It Grow!' step" - id="gui.howtos.animate-a-name.step_AnimateGrow" + defaultMessage="Make the Object Move" + description="Step name for 'Make the Object Move' step" + id="gui.howtos.add-a-move-block.step_stepflyFlyingObject" /> ), - image: 'nameGrow' + image: 'flyFlyingObject' }, { - deckIds: [ - 'add-a-backdrop', - 'glide-around' - ] - } - ], - urlId: 'name' - }, - - 'Make-Music': { - name: ( - <FormattedMessage - defaultMessage="Make Music" - description="Name for the 'Make Music' how-to" - id="gui.howtos.make-music.name" - /> - ), - img: libraryMakeMusic, - tags: ['music', 'sound', 'instrument', 'play', 'song', 'band'], - steps: [{ - video: 'Make-Music' - }, - { title: ( <FormattedMessage - defaultMessage="Pick an Instrument Sprite " - description="Step name for 'Pick an Instrument Sprite' step" - id="gui.howtos.Make-Music.step_PickInstrument" + defaultMessage="Select Your Character" + description="Step name for 'Select Your Character' step" + id="gui.howtos.add-a-move-block.step_stepflySelectFlyingSprite" /> ), - image: 'musicPickInstrument' - }, - { + image: 'flySelectFlyingSprite' + }, { title: ( <FormattedMessage - defaultMessage="Play Sound When Clicked" - description="Step name for 'Play Sound When Clicked' step" - id="gui.howtos.Make-Music.step_PlaySoundClick" + defaultMessage="Add a Score" + description="Step name for 'Add a Score' step" + id="gui.howtos.add-a-move-block.step_stepflyAddScore" /> ), - image: 'musicPlaySound' - }, - { + image: 'flyAddScore' + }, { title: ( <FormattedMessage - defaultMessage="Create a Song" - description="Step name for 'Create a Song' step" - id="gui.howtos.Make-Music.step_MakeSong" + defaultMessage="Keep Score" + description="Step name for 'Keep Score' step" + id="gui.howtos.add-a-move-block.step_stepflyKeepScore" /> ), - image: 'musicMakeSong' + image: 'flyKeepScore' }, { title: ( <FormattedMessage - defaultMessage="Choose a Drum & Make a Beat" - description="Step name for 'Choose a Drum & Make a Beat' step" - id="gui.howtos.make-music.step_MakeBeat" + defaultMessage="Add Scenery" + description="Step name for 'Add Scenery' step" + id="gui.howtos.add-a-move-block.step_stepflyAddScenery" /> ), - image: 'musicMakeBeat' + image: 'flyAddScenery' }, { title: ( <FormattedMessage - defaultMessage="Choose the Microphone Sprite & Surprise Beatbox" - description="Step name for 'Choose the Microphone Sprite & Surprise Beatbox' step" - id="gui.howtos.make-music.step_MakeBeatBox" + defaultMessage="Move the Scenery" + description="Step name for 'Move the Scenery' step" + id="gui.howtos.add-a-move-block.step_stepflyMoveScenery" /> ), - image: 'musicMakeBeatbox' + image: 'flyMoveScenery' + }, { + title: ( + <FormattedMessage + defaultMessage="Next Costume" + description="Step name for 'Change the Scenery' step" + id="gui.howtos.add-a-move-block.step_stepflySwitchLooks" + /> + ), + image: 'flySwitchLooks' }, { deckIds: [ - 'add-a-backdrop', - 'add-sprite' + 'change-size', + 'spin-video' ] } ], - urlId: 'music' + urlId: 'make-it-fly' }, - 'Tell-A-Story': { + 'pong': { name: ( <FormattedMessage - defaultMessage="Create A Story" - description="Name for the 'Create A Story' how-to" - id="gui.howtos.story.name" + defaultMessage="Pong Game" + description="Name for the 'Pong Game' how-to" + id="gui.howtos.pong" /> ), - img: libraryStory, + tags: ['pong', 'game'], + img: libraryPong, steps: [{ - video: 'stah7jjorp' + video: 'pong-game' }, { title: ( <FormattedMessage defaultMessage="Add a Backdrop" description="Step name for 'Add a Backdrop' step" - id="gui.howtos.story.step_addbg" + id="gui.howtos.pong.step_pongAddBackdrop" /> ), - image: 'storyPickBackdrop' + image: 'pongAddBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Add a Character" - description="Step name for 'Add a Character' step" - id="gui.howtos.story.step_addsprite" + defaultMessage="Add a Ball Sprite" + description="Step name for 'Add a Ball Sprite' step" + id="gui.howtos.pong.step_pongAddBallSprite" /> ), - image: 'storyPickSprite' + image: 'pongAddBallSprite' }, { title: ( <FormattedMessage - defaultMessage="Say Something" - description="Step name for 'Say Something' step" - id="gui.howtos.story.step_saysomething" + defaultMessage="Bounce Around" + description="Step name for 'Bounce Around' step" + id="gui.howtos.pong.step_pongBounceAround" /> ), - image: 'storySaySomething' + image: 'pongBounceAround' }, { title: ( <FormattedMessage - defaultMessage="Add Another Character" - description="Step name for 'Add Another Character' step" - id="gui.howtos.story.step_addanothersprite" + defaultMessage="Add a Paddle" + description="Step name for 'Add a Paddle' step" + id="gui.howtos.pong.step_pongAddPaddle" /> ), - image: 'storyPickSprite2' + image: 'pongAddPaddle' }, { title: ( <FormattedMessage - defaultMessage="Flip Direction" - description="Flip Direction' step" - id="gui.howtos.story.step_flip" + defaultMessage="Move the Paddle" + description="Step name for 'Move the Paddle' step" + id="gui.howtos.pong.step_pongMoveThePaddle" /> ), - image: 'storyFlip' + image: 'pongMoveThePaddle' }, { title: ( <FormattedMessage - defaultMessage="Have A Conversation" - description="Step name for 'Have A Conversation' step" - id="gui.howtos.story.step_conversation" + defaultMessage="Select the Ball Sprite" + description="Step name for 'Select the Ball Sprite' step" + id="gui.howtos.pong.step_pongSelectBallSprite" /> ), - image: 'storyConversation' + image: 'pongSelectBallSprite' }, { title: ( <FormattedMessage - defaultMessage="Add Another Backdrop" - description="Step name for 'Add Another Backdrop' step" - id="gui.howtos.story.addanotherbg" + defaultMessage="Add Code to Bounce the Ball Off the Paddle" + description="Step name for 'Add Code to Bounce the Ball Off the Paddle' step" + id="gui.howtos.pong.step_pongAddMoreCodeToBall" /> ), - image: 'storyPickBackdrop2' + image: 'pongAddMoreCodeToBall' }, { title: ( <FormattedMessage - defaultMessage="Switch Backdrops" - description="Step name for 'Switch Backdrops' step" - id="gui.howtos.story.step_swithbg" + defaultMessage="Add a Score" + description="Step name for 'Add a Score' step" + id="gui.howtos.pong.step_pongAddAScore" /> ), - image: 'storySwitchBackdrop' + image: 'pongAddAScore' }, { title: ( <FormattedMessage - defaultMessage="Hide a Character" - description="Step name for 'Hide the Wizard' step" - id="gui.howtos.story.step_hidewizard" + defaultMessage="Choose 'Score' from the Menu" + description="Step name for 'Choose 'Score' from the Menu' step" + id="gui.howtos.pong.step_pongChooseScoreFromMenu" /> ), - image: 'storyHideCharacter' + image: 'pongChooseScoreFromMenu' }, { title: ( <FormattedMessage - defaultMessage="Show a Character" - description="Step name for 'Show the Wizard' step" - id="gui.howtos.story.step_showwizard" + defaultMessage="Insert the 'Change Score' Block" + description="Step name for 'Insert the 'Change Score' Block' step" + id="gui.howtos.pong.step_pongInsertChangeScoreBlock" /> ), - image: 'storyShowCharacter' - }, - { - deckIds: [ - 'say-it-out-loud', - 'record-a-sound' - ] - } - ], - urlId: 'tell-a-story' - }, - - 'Chase-Game': { - name: ( - <FormattedMessage - defaultMessage="Make a Chase Game" - description="Name for the 'Make a Chase Game' how-to" - id="gui.howtos.make-a-chase-game.name" - /> - ), - img: libraryChaseGame, - tags: ['games', 'arrow', 'keyboard', 'score'], - steps: [{ - video: 'Chase-Game' - }, - { - title: ( - <FormattedMessage - defaultMessage="Add a Backdrop" - description="Step name for 'Add a Backdrop' step" - id="gui.howtos.Chase-Game.step_BG" - /> - ), - image: 'chaseGameAddBackdrop' - }, { - title: ( - <FormattedMessage - defaultMessage="Add a Sprite" - description="Step name for 'Add a Sprite' step" - id="gui.howtos.chase-game.step_AddOcto" - /> - ), - image: 'chaseGameAddSprite1' - }, { - title: ( - <FormattedMessage - defaultMessage="Move Right & Left With Arrow Keys" - description="Step name for 'Move Right & Left With Arrow Keys' step" - id="gui.howtos.make-music.step_LeftRight" - /> - ), - image: 'chaseGameRightLeft' - }, { - title: ( - <FormattedMessage - defaultMessage="Move Up & Down With Arrow Keys" - description="Step name for 'Move Up & Down With Arrow Keys' step" - id="gui.howtos.Chase-Game.step_UpDown" - /> - ), - image: 'chaseGameUpDown' - }, { - title: ( - <FormattedMessage - defaultMessage="Add Another Sprite" - description="Step name for 'Add Another Sprite' step" - id="gui.howtos.Chase-Game.step_AddStar" - /> - ), - image: 'chaseGameAddSprite2' - }, { - title: ( - <FormattedMessage - defaultMessage="Move Randomly" - description="Step name for 'Move Randomly' step" - id="gui.howtos.Chase-Game.step_MoveRandom" - /> - ), - image: 'chaseGameMoveRandomly' + image: 'pongInsertChangeScoreBlock' }, { title: ( <FormattedMessage - defaultMessage="In Octopus Sprite, When Touching Play Sound" - description="Step name for 'In Octopus Sprite, When Touching Play Sound' step" - id="gui.howtos.Chase-Game.step_WhenTouch" + defaultMessage="Reset Score" + description="Step name for 'Reset Score' step" + id="gui.howtos.pong.step_pongResetScore" /> ), - image: 'chaseGamePlaySound' + image: 'pongResetScore' }, { title: ( <FormattedMessage - defaultMessage="Create Score Variable" - description="Step name for 'Create Score Variable" - id="gui.howtos.Chase-Game.step_ScoreVariable" + defaultMessage="Add the Line Sprite" + description="Step name for 'Add the Line Sprite' step" + id="gui.howtos.pong.step_pongAddLineSprite" /> ), - image: 'chaseGameAddVariable' + image: 'pongAddLineSprite' }, { title: ( <FormattedMessage - defaultMessage="In Octopus Sprite, When Touching Add Score" - description="Step name for 'In Octopus Sprite, When Touching Add Score step" - id="gui.howtos.Chase-Game.ScoreWhenTouch" + defaultMessage="Game Over" + description="Step name for 'Game Over' step" + id="gui.howtos.pong.step_pongGameOver" /> ), - image: 'chaseGameChangeScore' + image: 'pongGameOver' }, { deckIds: [ 'add-effects', - 'move-around-with-arrow-keys' + 'Video-Sensing' ] } ], - urlId: 'chase-game' + urlId: 'pong' }, - 'Animate-A-Character': { + 'code-cartoon': { name: ( <FormattedMessage - defaultMessage="Animate A Character" - description="Name for the 'Animate A Character' how-to" - id="gui.howtos.animate-char.name" + defaultMessage="Code a Cartoon" + description="Name for the 'Code a Cartoon' how-to" + id="gui.howtos.code-cartoon" /> ), - img: libraryAnimateChar, + tags: ['code-cartoon'], + requiredProjectId: '331474033', + img: libraryCodeCartoon, steps: [{ - video: 's228u3g5u9' - }, - { - title: ( - <FormattedMessage - defaultMessage="Add a Backdrop" - description="Step name for 'Add a Backdrop' step" - id="gui.howtos.animate-char.step_addbg" - /> - ), - image: 'animateCharPickBackdrop' - }, { - title: ( - <FormattedMessage - defaultMessage="Add a Sprite" - description="Step name for 'Add a Sprite' step" - id="gui.howtos.animate-char.step_addsprite" - /> - ), - image: 'animateCharPickSprite' - }, { - title: ( - <FormattedMessage - defaultMessage="Say Something" - description="Step name for 'Say Something' step" - id="gui.howtos.animate-char.step_saysomething" - /> - ), - image: 'animateCharSaySomething' - }, { - title: ( - <FormattedMessage - defaultMessage="Add Sound" - description="Step name for 'Add Sound' step" - id="gui.howtos.animate-char.step_addsound" - /> - ), - image: 'animateCharAddSound' + video: 'code-cartoon' }, { title: ( <FormattedMessage - defaultMessage="Animate Talking" - description="Step name for 'Animate Talking' step" - id="gui.howtos.animate-char.step_animatetalking" + defaultMessage="Say Something When You Click the Green Flag" + description="Step name for 'Say Something When You Click the Green Flag' step" + id="gui.howtos.code-cartoon.step_codeCartoonSaySomething" /> ), - image: 'animateCharTalk' + image: 'codeCartoonSaySomething' }, { title: ( <FormattedMessage - defaultMessage="Move Using Arrow Keys" - description="Step name for 'Move Using Arrow Keys' step" - id="gui.howtos.animate-char.step_arrowkeys" + defaultMessage="Animate a Character When You Click It" + description="Step name for 'Animate a Character When You Click It' step" + id="gui.howtos.code-cartoon.step_codeCartoonAnimate" /> ), - image: 'animateCharMove' + image: 'codeCartoonAnimate' }, { title: ( <FormattedMessage - defaultMessage="Jump" - description="Step name for 'Jump' step" - id="gui.howtos.animate-char.step_jump" + defaultMessage="Select a Different Character" + description="Step name for 'Select a Different Character' step" + id="gui.howtos.code-cartoon.step_codeCartoonSelectDifferentCharacter" /> ), - image: 'animateCharJump' + image: 'codeCartoonSelectDifferentCharacter' }, { title: ( <FormattedMessage - defaultMessage="Change Color" - description="Step name for 'Change Color' step" - id="gui.howtos.animate-char.step_changecolor" + defaultMessage="Use a Minus Sign to Get Smaller" + description="Step name for 'Use a Minus Sign to Get Smaller' step" + id="gui.howtos.code-cartoon.step_codeCartoonUseMinusSign" /> ), - image: 'animateCharChangeColor' + image: 'codeCartoonUseMinusSign' }, { - deckIds: [ - 'Chase-Game', - 'Tell-A-Story' - ] - } - ], - urlId: 'animate-a-character' - }, - - 'Make-A-Game': { - name: ( - <FormattedMessage - defaultMessage="Make a Clicker Game" - description="Name for the 'Make a Clicker Game' how-to" - id="gui.howtos.make-a-game.name" - /> - ), - img: libraryMakeAGame, - tags: ['games', 'click', 'clicked', 'score'], - steps: [{ - video: 'Make-A-Game' - }, - { title: ( <FormattedMessage - defaultMessage="Pick A Sprite" - description="Step name for 'Pick A Sprite' step" - id="gui.howtos.Make-A-Game.step_GamePickSprite" + defaultMessage="Make a Character Grow and Shrink" + description="Step name for 'Make a Character Grow and Shrink' step" + id="gui.howtos.code-cartoon.step_codeCartoonGrowShrink" /> ), - image: 'popGamePickSprite' + image: 'codeCartoonGrowShrink' }, { title: ( <FormattedMessage - defaultMessage="Play Sound When Clicked" - description="Play Sound When Clicked' step" - id="gui.howtos.make-a-game.step_GamePlaySound" + defaultMessage="Select a Different Character" + description="Step name for 'Select a Different Character' step" + id="gui.howtos.code-cartoon.step_codeCartoonSelectDifferentCharacter2" /> ), - image: 'popGamePlaySound' + image: 'codeCartoonSelectDifferentCharacter2' }, { title: ( <FormattedMessage - defaultMessage="Create Score Variable" - description="Step name for 'Create Score Variable' step" - id="gui.howtos.make-a-game.step_GameAddScore" + defaultMessage="Jump Up and Down" + description="Step name for 'Jump Up and Down' step" + id="gui.howtos.code-cartoon.step_codeCartoonJump" /> ), - image: 'popGameAddScore' + image: 'codeCartoonJump' }, { title: ( <FormattedMessage - defaultMessage="When Clicked Increase Score" - description="Step name for 'When Clicked Increase Score' step" - id="gui.howtos.make-a-game.step_GameChangeScore" + defaultMessage="Click a Character to Change Scenes" + description="Step name for 'Click a Character to Change Scenes' step" + id="gui.howtos.code-cartoon.step_codeCartoonChangeScenes" /> ), - - image: 'popGameChangeScore' + image: 'codeCartoonChangeScenes' }, { title: ( <FormattedMessage - defaultMessage="Go to a random position" - description="Step name for 'Go to a random position' step" - id="gui.howtos.make-a-game.step_Random" + defaultMessage="Glide Around" + description="Step name for 'Glide Around' step" + id="gui.howtos.code-cartoon.step_codeCartoonGlideAround" /> ), - image: 'popGameRandomPosition' + image: 'codeCartoonGlideAround' }, { title: ( <FormattedMessage - defaultMessage="Change Color" - description="Step name for 'Change Color' step" - id="gui.howtos.make-music.step_GameChangeColor" + defaultMessage="Change Costumes" + description="Step name for 'Change Costumes' step" + id="gui.howtos.code-cartoon.step_codeCartoonChangeCostumes" /> ), - image: 'popGameChangeColor' + image: 'codeCartoonChangeCostumes' }, { title: ( <FormattedMessage - defaultMessage="Reset Score" - description="Step name for 'Reset Score' step" - id="gui.howtos.make-music.step_ResetScore" + defaultMessage="Choose More Characters to Add to Your Cartoon" + description="Step name for 'Choose More Characters to Add to Your Cartoon' step" + id="gui.howtos.code-cartoon.step_codeCartoonChooseMoreCharacters" /> ), - image: 'popGameResetScore' + image: 'codeCartoonChooseMoreCharacters' }, { deckIds: [ - 'add-a-backdrop', - 'move-around-with-arrow-keys' + 'Chase-Game', + 'Tell-A-Story' ] } ], - urlId: 'clicker-game' + urlId: 'code-cartoon' }, - - 'make-it-fly': { + + 'cartoon-network': { name: ( <FormattedMessage - defaultMessage="Make it Fly" - description="Name for the 'Make it Fly' Make it Fly" - id="gui.howtos.make-it-fly.name" + defaultMessage="Animate an Adventure Game" + description="Animate an Adventure Game' how-to" + id="gui.howtos.cartoon-network" /> ), - tags: ['game', 'fly', 'how', 'can', 'animation'], - img: libraryMakeFly, + requiredProjectId: '249143200', + img: libraryCartoonNetwork, steps: [{ - video: 'zbtdx2dem9' - }, { - title: ( - <FormattedMessage - defaultMessage="Choose a Sky Background" - description="Step name for 'Choose a Sky Background' step" - id="gui.howtos.fly.step_stepflyChooseBackdrop" - /> - ), - image: 'flyChooseBackdrop' + video: 'uz5oz5h9yg', + trackingPixel: ( + <img src="https://code.org/api/hour/begin_scratch_adventure.png" /> + ) }, { title: ( <FormattedMessage - defaultMessage="Choose a Character" - description="Step name for 'Choose a Character' step" - id="gui.howtos.add-a-move-block.step_stepflyChooseCharacter" + defaultMessage="Choose a Character to Show" + description="Step name for 'Choose a Character to Show' step" + id="gui.howtos.cartoon-network.step_CNcharacter" /> ), - image: 'flyChooseCharacter' + image: 'cnShowCharacter' }, { title: ( <FormattedMessage defaultMessage="Say Something" description="Step name for 'Say Something' step" - id="gui.howtos.fly.step_stepflySaySomething" - /> - ), - image: 'flySaySomething' - }, { - title: ( - <FormattedMessage - defaultMessage="Move With Arrow Keys" - description="Step name for 'Move With Arrow Keys' step" - id="gui.howtos.add-a-move-block.step_stepflyMoveArrows" + id="gui.howtos.cartoon-network.step_CNsay" /> ), - image: 'flyMoveArrows' + image: 'cnSay' }, { title: ( <FormattedMessage - defaultMessage="Choose an Object to Collect" - description="Step name for 'Choose an Object to Collect' step" - id="gui.howtos.fly.step_stepflyChooseObject" + defaultMessage="Glide Around" + description="Step name for 'Glide Around' step" + id="gui.howtos.cartoon-network.step_CNglide" /> ), - image: 'flyChooseObject' + image: 'cnGlide' }, { title: ( <FormattedMessage - defaultMessage="Make the Object Move" - description="Step name for 'Make the Object Move' step" - id="gui.howtos.add-a-move-block.step_stepflyFlyingObject" + defaultMessage=" Choose an Object to Chase " + description="Step name for 'Choose an Object to Chase' step" + id="gui.howtos.cartoon-network.step_CNpicksprite" /> ), - image: 'flyFlyingObject' + image: 'cnPickSprite' }, { title: ( <FormattedMessage - defaultMessage="Select Your Character" - description="Step name for 'Select Your Character' step" - id="gui.howtos.add-a-move-block.step_stepflySelectFlyingSprite" + defaultMessage="Collect Objects" + description="Step name for 'Collect Objects' step" + id="gui.howtos.cartoon-network.step_CNcollect" /> ), - image: 'flySelectFlyingSprite' + image: 'cnCollect' }, { title: ( <FormattedMessage - defaultMessage="Add a Score" - description="Step name for 'Add a Score' step" - id="gui.howtos.add-a-move-block.step_stepflyAddScore" + defaultMessage="Make a Score Variable" + description="Step name for 'Make a Score Variable' step" + id="gui.howtos.cartoon-network.step_CNvariable" /> ), - image: 'flyAddScore' + image: 'cnVariable' }, { title: ( <FormattedMessage defaultMessage="Keep Score" description="Step name for 'Keep Score' step" - id="gui.howtos.add-a-move-block.step_stepflyKeepScore" - /> - ), - image: 'flyKeepScore' - }, { - title: ( - <FormattedMessage - defaultMessage="Add Scenery" - description="Step name for 'Add Scenery' step" - id="gui.howtos.add-a-move-block.step_stepflyAddScenery" - /> - ), - image: 'flyAddScenery' - }, { - title: ( - <FormattedMessage - defaultMessage="Move the Scenery" - description="Step name for 'Move the Scenery' step" - id="gui.howtos.add-a-move-block.step_stepflyMoveScenery" + id="gui.howtos.cartoon-network.step_CNscore" /> ), - image: 'flyMoveScenery' + image: 'cnScore' }, { title: ( <FormattedMessage - defaultMessage="Next Costume" - description="Step name for 'Change the Scenery' step" - id="gui.howtos.add-a-move-block.step_stepflySwitchLooks" + defaultMessage="Level Up: Change Backdrop" + description="Step name for 'Level Up: Change Backdrop' step" + id="gui.howtos.cartoon-network.step_CNbackdrop" /> ), - image: 'flySwitchLooks' - }, { + image: 'cnBackdrop' + }, + { + video: '6o76f5ivo1' + }, + { deckIds: [ - 'change-size', - 'spin-video' + 'switch-costume', + 'add-effects' ] } ], - urlId: 'make-it-fly' + urlId: 'animate-an-adventure-game' }, - 'pong': { + 'Video-Sensing': { name: ( <FormattedMessage - defaultMessage="Pong Game" - description="Name for the 'Pong Game' how-to" - id="gui.howtos.pong" + defaultMessage="Video Sensing" + description="Name for the 'Video Sensing' how-to" + id="gui.howtos.videosens.name" /> ), - tags: ['pong', 'game'], - img: libraryPong, + img: libraryVideoSens, steps: [{ - video: 'pong-game' + video: '3pd1z110d6' }, { title: ( <FormattedMessage - defaultMessage="Add a Backdrop" - description="Step name for 'Add a Backdrop' step" - id="gui.howtos.pong.step_pongAddBackdrop" + defaultMessage="Add Extension" + description="Step name for 'Add Extension' step" + id="gui.howtos.videosens.step_addextension" /> ), - image: 'pongAddBackdrop' + image: 'videoAddExtension' }, { title: ( <FormattedMessage - defaultMessage="Add a Ball Sprite" - description="Step name for 'Add a Ball Sprite' step" - id="gui.howtos.pong.step_pongAddBallSprite" + defaultMessage="Pet the Cat" + description="Step name for 'Pet the Cat' step" + id="gui.howtos.videosens.step_pet" /> ), - image: 'pongAddBallSprite' + image: 'videoPet' }, { title: ( <FormattedMessage - defaultMessage="Bounce Around" - description="Step name for 'Bounce Around' step" - id="gui.howtos.pong.step_pongBounceAround" + defaultMessage="Animate" + description="Step name for 'Animate' step" + id="gui.howtos.videosens.step_animate" /> ), - image: 'pongBounceAround' + image: 'videoAnimate' + }, { + title: ( + <FormattedMessage + defaultMessage="Pop a Balloon" + description="Step name for 'Pop a Balloon' step" + id="gui.howtos.videosens.step_pop" + /> + ), + image: 'videoPop' + }, { + deckIds: [ + 'Make-Music', + 'add-effects' + ] + } + ], + urlId: 'video-sensing' + }, + + 'say-it-out-loud': { + name: ( + <FormattedMessage + defaultMessage="Create Animations That Talk" + description="Name for the 'Create Animations That Talk' how-to" + id="gui.howtos.say-it-out-loud" + /> + ), + img: libraryTXTSpeech, + steps: [{ + video: 'k54n8uwcty', + trackingPixel: ( + <img src="https://code.org/api/hour/begin_scratch_talk.png" /> + ) }, { title: ( <FormattedMessage - defaultMessage="Add a Paddle" - description="Step name for 'Add a Paddle' step" - id="gui.howtos.pong.step_pongAddPaddle" + defaultMessage="Add the Text to Speech blocks" + description="Step name for 'Add the Text to Speech blocks' step" + id="gui.howtos.say-it-out-loud.step_AddTXTextension" /> ), - image: 'pongAddPaddle' + image: 'speechAddExtension' }, { title: ( <FormattedMessage - defaultMessage="Move the Paddle" - description="Step name for 'Move the Paddle' step" - id="gui.howtos.pong.step_pongMoveThePaddle" + defaultMessage="Say Something" + description="Step name for 'Say Something' step" + id="gui.howtos.say-it-out-loud.step_TXTSpeech" /> ), - image: 'pongMoveThePaddle' + image: 'speechSaySomething' }, { title: ( <FormattedMessage - defaultMessage="Select the Ball Sprite" - description="Step name for 'Select the Ball Sprite' step" - id="gui.howtos.pong.step_pongSelectBallSprite" + defaultMessage="Set a Voice" + description="Step name for 'Set a Voice" + id="gui.howtos.say-it-out-loud_TXTSetVoice" /> ), - image: 'pongSelectBallSprite' + image: 'speechSetVoice' }, { title: ( <FormattedMessage - defaultMessage="Add Code to Bounce the Ball Off the Paddle" - description="Step name for 'Add Code to Bounce the Ball Off the Paddle' step" - id="gui.howtos.pong.step_pongAddMoreCodeToBall" + defaultMessage="Move Around" + description="Step name for 'Move Around' step" + id="gui.howtos.say-it-out-loud.step_TXTMove" /> ), - image: 'pongAddMoreCodeToBall' + image: 'speechMoveAround' }, { title: ( <FormattedMessage - defaultMessage="Add a Score" - description="Step name for 'Add a Score' step" - id="gui.howtos.pong.step_pongAddAScore" + defaultMessage="Add a Backdrop" + description="Step name for 'Add a Backdrop' step" + id="gui.howtos.say-it-out-loud.step_TXTBackdrop" /> ), - image: 'pongAddAScore' + image: 'speechAddBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Choose 'Score' from the Menu" - description="Step name for 'Choose 'Score' from the Menu' step" - id="gui.howtos.pong.step_pongChooseScoreFromMenu" + defaultMessage="Add Another Character" + description="Step name for 'Add Another Character' step" + id="gui.howtos.say-it-out-loud.step_TXTAddSprite" /> ), - image: 'pongChooseScoreFromMenu' + image: 'speechAddSprite' }, { title: ( <FormattedMessage - defaultMessage="Insert the 'Change Score' Block" - description="Step name for 'Insert the 'Change Score' Block' step" - id="gui.howtos.pong.step_pongInsertChangeScoreBlock" + defaultMessage="Perform a Song" + description="Step name for 'Perform a Song' step" + id="gui.howtos.say-it-out-loud.step_TXTSong" /> ), - image: 'pongInsertChangeScoreBlock' + image: 'speechSong' }, { title: ( <FormattedMessage - defaultMessage="Reset Score" - description="Step name for 'Reset Score' step" - id="gui.howtos.pong.step_pongResetScore" + defaultMessage="Change Color" + description="Step name for 'Change Color' step" + id="gui.howtos.say-it-out-loud.step_TXTColor" /> ), - image: 'pongResetScore' + image: 'speechChangeColor' }, { title: ( <FormattedMessage - defaultMessage="Add the Line Sprite" - description="Step name for 'Add the Line Sprite' step" - id="gui.howtos.pong.step_pongAddLineSprite" + defaultMessage="Spin Around" + description="Step name for 'Spin Around" + id="gui.howtos.say-it-out-loud.step_TXTSpin" /> ), - image: 'pongAddLineSprite' + image: 'speechSpin' }, { title: ( <FormattedMessage - defaultMessage="Game Over" - description="Step name for 'Game Over' step" - id="gui.howtos.pong.step_pongGameOver" + defaultMessage="Grow and Shrink" + description="Step name for 'Grow and Shrink' step" + id="gui.howtos.say-it-out-loud.step_TXTGrow" /> ), - image: 'pongGameOver' + image: 'speechGrowShrink' }, { deckIds: [ - 'add-effects', - 'Video-Sensing' + 'animate-a-name', + 'talking' ] } ], - urlId: 'pong' + urlId: 'animations-that-talk' }, - 'cartoon-network': { + 'talking': { name: ( <FormattedMessage - defaultMessage="Animate an Adventure Game" - description="Animate an Adventure Game' how-to" - id="gui.howtos.cartoon-network" + defaultMessage="Talking Tales" + description="Name for the 'Talking Tales' how-to" + id="gui.howtos.talking" /> ), - requiredProjectId: '249143200', - img: libraryCartoonNetwork, + tags: ['talking'], + img: libraryTalking, steps: [{ - video: 'uz5oz5h9yg', - trackingPixel: ( - <img src="https://code.org/api/hour/begin_scratch_adventure.png" /> - ) + video: 'talking' }, { title: ( <FormattedMessage - defaultMessage="Choose a Character to Show" - description="Step name for 'Choose a Character to Show' step" - id="gui.howtos.cartoon-network.step_CNcharacter" + defaultMessage="Click to Add the Text-to-Speech Blocks" + description="Step name for 'Click to Add the Text-to-Speech Blocks' step" + id="gui.howtos.talking.step_talesAddExtension" /> ), - image: 'cnShowCharacter' + image: 'talesAddExtension' }, { title: ( <FormattedMessage - defaultMessage="Say Something" - description="Step name for 'Say Something' step" - id="gui.howtos.cartoon-network.step_CNsay" + defaultMessage="Choose a Sprite" + description="Step name for 'Choose a Sprite' step" + id="gui.howtos.talking.step_talesChooseSprite" /> ), - image: 'cnSay' + image: 'talesChooseSprite' }, { title: ( <FormattedMessage - defaultMessage="Glide Around" - description="Step name for 'Glide Around' step" - id="gui.howtos.cartoon-network.step_CNglide" + defaultMessage="Make a Character Speak" + description="Step name for 'Make a Character Speak' step" + id="gui.howtos.talking.step_talesSaySomething" /> ), - image: 'cnGlide' + image: 'talesSaySomething' }, { title: ( <FormattedMessage - defaultMessage=" Choose an Object to Chase " - description="Step name for 'Choose an Object to Chase' step" - id="gui.howtos.cartoon-network.step_CNpicksprite" + defaultMessage="Choose a Backdrop" + description="Step name for 'Choose a Backdrop' step" + id="gui.howtos.talking.step_talesChooseBackdrop" /> ), - image: 'cnPickSprite' + image: 'talesChooseBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Collect Objects" - description="Step name for 'Collect Objects' step" - id="gui.howtos.cartoon-network.step_CNcollect" + defaultMessage="Click a Character to Go to the Next Backdrop" + description="Step name for 'Click a Character to Go to the Next Backdrop' step" + id="gui.howtos.talking.step_talesSwitchBackdrop" /> ), - image: 'cnCollect' + image: 'talesSwitchBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Make a Score Variable" - description="Step name for 'Make a Score Variable' step" - id="gui.howtos.cartoon-network.step_CNvariable" + defaultMessage="Choose Another Sprite" + description="Step name for 'Choose Another Sprite' step" + id="gui.howtos.talking.step_talesChooseAnotherSprite" /> ), - image: 'cnVariable' + image: 'talesChooseAnotherSprite' }, { title: ( <FormattedMessage - defaultMessage="Keep Score" - description="Step name for 'Keep Score' step" - id="gui.howtos.cartoon-network.step_CNscore" + defaultMessage="Move Around" + description="Step name for 'Move Around' step" + id="gui.howtos.talking.step_talesMoveAround" /> ), - image: 'cnScore' + image: 'talesMoveAround' }, { title: ( <FormattedMessage - defaultMessage="Level Up: Change Backdrop" - description="Step name for 'Level Up: Change Backdrop' step" - id="gui.howtos.cartoon-network.step_CNbackdrop" + defaultMessage="Choose Another Backdrop" + description="Step name for 'Choose Another Backdrop' step" + id="gui.howtos.talking.step_talesChooseAnotherBackdrop" /> ), - image: 'cnBackdrop' - }, - { - video: '6o76f5ivo1' - }, - { - deckIds: [ - 'switch-costume', - 'add-effects' - ] - } - ], - urlId: 'animate-an-adventure-game' - }, - - 'Video-Sensing': { - name: ( - <FormattedMessage - defaultMessage="Video Sensing" - description="Name for the 'Video Sensing' how-to" - id="gui.howtos.videosens.name" - /> - ), - img: libraryVideoSens, - steps: [{ - video: '3pd1z110d6' - }, - { + image: 'talesChooseAnotherBackdrop' + }, { title: ( <FormattedMessage - defaultMessage="Add Extension" - description="Step name for 'Add Extension' step" - id="gui.howtos.videosens.step_addextension" + defaultMessage="Animate Talking" + description="Step name for 'Animate Talking' step" + id="gui.howtos.talking.step_talesAnimateTalking" /> ), - image: 'videoAddExtension' + image: 'talesAnimateTalking' }, { title: ( <FormattedMessage - defaultMessage="Pet the Cat" - description="Step name for 'Pet the Cat' step" - id="gui.howtos.videosens.step_pet" + defaultMessage="Choose Another Backdrop" + description="Step name for 'Choose Another Backdrop' step" + id="gui.howtos.talking.step_talesChooseThirdBackdrop" /> ), - image: 'videoPet' + image: 'talesChooseThirdBackdrop' }, { title: ( <FormattedMessage - defaultMessage="Animate" - description="Step name for 'Animate' step" - id="gui.howtos.videosens.step_animate" + defaultMessage="Choose a Song to Dance To" + description="Step name for 'Choose a Song to Dance To' step" + id="gui.howtos.talking.step_talesChooseSound" /> ), - image: 'videoAnimate' + image: 'talesChooseSound' }, { title: ( <FormattedMessage - defaultMessage="Pop a Balloon" - description="Step name for 'Pop a Balloon' step" - id="gui.howtos.videosens.step_pop" + defaultMessage="Dance Moves" + description="Step name for 'Dance Moves' step" + id="gui.howtos.talking.step_talesDanceMoves" /> ), - image: 'videoPop' + image: 'talesDanceMoves' + }, { + title: ( + <FormattedMessage + defaultMessage="Get the Ask and Answer Blocks from the Sensing Category" + description="Step name for 'Get the Ask and Answer Blocks from the Sensing Category' step" + id="gui.howtos.talking.step_talesAskAnswer" + /> + ), + image: 'talesAskAnswer' }, { deckIds: [ - 'Make-Music', - 'add-effects' + 'Tell-A-Story', + 'Animate-A-Character' ] } ], - urlId: 'video-sensing' + urlId: 'talking' }, 'add-sprite': { @@ -1743,7 +1743,7 @@ export default { image: 'glideAroundPoint' }, { deckIds: [ - 'add-a-backdrop', + 'Tell-A-Story', 'switch-costume' ] }], @@ -1908,7 +1908,7 @@ export default { image: 'switchCostumes' }, { deckIds: [ - 'add-a-backdrop', + 'imagine', 'add-effects' ] }], @@ -1947,7 +1947,7 @@ export default { image: 'moveArrowKeysUpDown' }, { deckIds: [ - 'add-a-backdrop', + 'make-it-fly', 'switch-costume' ] }], @@ -1979,7 +1979,7 @@ export default { }, { deckIds: [ 'add-a-backdrop', - 'switch-costume' + 'code-cartoon' ] }], urlId: 'add-effects'