Merge pull request #921 from mewtaylor/issue/gh-903-hoc

Implement GH-903: Update hoc page with new tutorials
This commit is contained in:
Matthew Taylor 2016-09-21 08:21:03 -04:00 committed by GitHub
commit 42b6e59443
23 changed files with 339 additions and 411 deletions

View file

@ -69,12 +69,6 @@
"general.studios": "Studios",
"general.support": "Support",
"general.tipsWindow": "Tips Window",
"general.tipsAnimateYourNameTitle": "Animate Your Name",
"general.tipsBearstack": "Bearstack Story",
"general.tipsDanceTitle": "Dance, Dance, Dance",
"general.tipsGetStarted": "Getting Started",
"general.tipsHideAndSeekTitle": "Hide-and-Seek Game",
"general.tipsPongGame": "Create a Pong Game",
"general.termsOfUse": "Terms of Use",
"general.username": "Username",
"general.validationEmail": "Please enter a valid email address",

View file

@ -30,55 +30,49 @@ var Hoc = React.createClass({
<div className="hoc">
<TitleBanner className={this.state.bgClass}>
<h1>
<FormattedMessage
id='hoc.title'
defaultMessage={'Get Creative with Coding'} />
<FormattedMessage id='hoc.title' />
</h1>
<p>
<FormattedMessage
id='hoc.subTitle'
defaultMessage={
'With Scratch, you can program your own stories, games, and animations — ' +
'and share them online.'
} />
<FormattedMessage id='hoc.subTitle' />
</p>
<section>
<section className="hoc-section mod-title-banner">
<FlexRow>
<div className="card">
<div className="flex-row-card">
<a href="/projects/editor/?tip_bar=name">
<div className="card-info" onMouseEnter={this.onCardEnter.bind(this, 'name-bg')}>
<img src="/images/hoc2015/name-tutorial.jpg" alt="" />
<Button>
<FormattedMessage
id='general.tipsAnimateYourNameTitle'
defaultMessage={'Animate Your Name'} />
<div className="flex-row-card-info"
onMouseEnter={this.onCardEnter.bind(this, 'mod-name-bg')}>
<img className="flex-row-card-info-img"
src="/images/hoc/name-tutorial.jpg"
alt="" />
<Button className="flex-row-card-info-button">
<FormattedMessage id='hoc.tipsAnimateYourNameTitle' />
</Button>
</div>
</a>
</div>
<div className="card" onMouseEnter={this.onCardEnter.bind(this, 'wbb-bg')}>
<a href="/hide/">
<div className="card-info">
<img src="/images/hoc2015/hide-seek-tutorial.jpg" alt="" />
<Button>
<FormattedMessage
id='general.tipsHideAndSeekTitle'
defaultMessage={'Hide-and-Seek Game'} />
<div className="flex-row-card" onMouseEnter={this.onCardEnter.bind(this, 'mod-wbb-bg')}>
<a href="/projects/editor/?tip_bar=fly">
<div className="flex-row-card-info">
<img className="flex-row-card-info-img"
src="/images/hoc/make-it-fly-tutorial.png"
alt="" />
<Button className="flex-row-card-info-button">
<FormattedMessage id='hoc.tipsMakeItFlyTitle' />
</Button>
</div>
</a>
</div>
<div className="card" onMouseEnter={this.onCardEnter.bind(this, 'dance-bg')}>
<a href="/projects/editor/?tip_bar=dance">
<div className="card-info">
<img src="/images/hoc2015/dance-tutorial.jpg" alt="" />
<Button>
<FormattedMessage
id='general.tipsDanceTitle'
defaultMessage={'Dance, Dance, Dance'} />
<div className="flex-row-card" onMouseEnter={this.onCardEnter.bind(this, 'mod-dance-bg')}>
<a href="/projects/editor/?tip_bar=music">
<div className="flex-row-card-info">
<img className="flex-row-card-info-img"
src="/images/hoc/make-music-tutorial.png"
alt="" />
<Button className="flex-row-card-info-button">
<FormattedMessage id='hoc.tipsMakeMusicTitle' />
</Button>
</div>
</a>
@ -88,29 +82,21 @@ var Hoc = React.createClass({
<SubNavigation>
<li className="description">
<FormattedMessage
id='hoc.findOutMore'
defaultMessage={'Find out more'} />:
<FormattedMessage id='hoc.findOutMore' />:
</li>
<a href="/about/">
<li>
<FormattedMessage
id='footer.about'
defaultMessage={'About Scratch'} />
<FormattedMessage id='general.about' />
</li>
</a>
<a href="/parents/">
<li>
<FormattedMessage
id='general.forParents'
defaultMessage={'For Parents'} />
<FormattedMessage id='general.forParents' />
</li>
</a>
<a href="/educators/">
<li>
<FormattedMessage
id='general.forEducators'
defaultMessage={'For Educators'} />
<FormattedMessage id='general.forEducators'/>
</li>
</a>
</SubNavigation>
@ -120,163 +106,124 @@ var Hoc = React.createClass({
<div className="inner">
<Box title={''}>
<section id="teacher" className="one-up">
<div className="column">
<section id="teacher" className="hoc-section">
<div className="hoc-section-column">
<h3>
<FormattedMessage
id='hoc.activityCardsHeader'
defaultMessage={'Activity Cards and Guides'} />
<FormattedMessage id='hoc.activityCardsHeader' />
</h3>
<p>
<FormattedHTMLMessage
id='hoc.activityCardsInfo1'
defaultMessage={
'Want tips and ideas for these Hour of Code&trade; activities? ' +
'Use the activity cards to get ideas for creating with ' +
'Scratch. Facilitator guides can help you plan ' +
'a group activity.'
} />
<p className="section-paragraph">
<FormattedHTMLMessage id='hoc.activityCardsInfo1' />
</p>
</div>
<div className="resource">
<img src="/svgs/tips-card.svg" alt="" />
<div className="resource-info">
<h5>
<FormattedMessage
id='general.tipsAnimateYourNameTitle'
defaultMessage={'Animate Your Name'} />
<div className="hoc-section-resource">
<img className="hoc-section-resource-img"
src="/svgs/tips-card.svg"
alt="" />
<div className="hoc-section-resource-info">
<h5 className="hoc-section-resource-info-header">
<FormattedMessage id='hoc.tipsAnimateYourNameTitle' />
</h5>
<a href="/scratchr2/static/pdfs/help/AnimateYourNameCards.pdf">
<FormattedMessage
id='hoc.activityCards'
defaultMessage={'Activity Cards'} />
<a className="hoc-section-resource-anchor"
href="/scratchr2/static/pdfs/help/AnimateYourNameCards.pdf">
<FormattedMessage id='hoc.activityCards' />
</a>
<a href="/scratchr2/static/pdfs/help/AnimateYourNameGuide.pdf">
<FormattedMessage
id='hoc.facilitatorGuide'
defaultMessage={'Facilitator Guide'} />
<a className="hoc-section-resource-anchor"
href="/scratchr2/static/pdfs/help/AnimateYourNameGuide.pdf">
<FormattedMessage id='hoc.facilitatorGuide' />
</a>
</div>
</div>
<div className="resource">
<img src="/svgs/tips-card.svg" alt="" />
<div className="resource-info">
<h5>
<FormattedMessage
id='general.tipsHideAndSeekTitle'
defaultMessage={'Hide-and-Seek Game'} />
<div className="hoc-section-resource">
<img className="hoc-section-resource-img"
src="/svgs/tips-card.svg"
alt="" />
<div className="hoc-section-resource-info">
<h5 className="hoc-section-resource-info-header">
<FormattedMessage id='hoc.tipsMakeItFlyTitle' />
</h5>
<a href="/scratchr2/static/pdfs/help/Hide-and-Seek-Cards.pdf">
<FormattedMessage
id='hoc.activityCards'
defaultMessage={'Activity Cards'} />
</a>
<a href="/scratchr2/static/pdfs/help/Hide-and-Seek-Guide.pdf">
<FormattedMessage
id='hoc.facilitatorGuide'
defaultMessage={'Facilitator Guide'} />
<a className="hoc-section-resource-anchor"
href="/scratchr2/static/pdfs/help/FlyCards.pdf">
<FormattedMessage id='hoc.activityCards' />
</a>
</div>
</div>
<div className="resource">
<img src="/svgs/tips-card.svg" alt="" />
<div className="resource-info">
<h5>
<FormattedMessage
id='general.tipsDanceTitle'
defaultMessage={'Dance, Dance, Dance'} />
<div className="hoc-section-resource">
<img className="hoc-section-resource-img"
src="/svgs/tips-card.svg"
alt="" />
<div className="hoc-section-resource-info">
<h5 className="hoc-section-resource-info-header">
<FormattedMessage id='hoc.tipsMakeMusicTitle' />
</h5>
<a href="/scratchr2/static/pdfs/help/DanceCards.pdf">
<FormattedMessage
id='hoc.activityCards'
defaultMessage={'Activity Cards'} />
</a>
<a href="/scratchr2/static/pdfs/help/DanceGuide.pdf">
<FormattedMessage
id='hoc.facilitatorGuide'
defaultMessage={'Facilitator Guide'} />
<a className="hoc-section-resource-anchor"
href="/scratchr2/static/pdfs/help/MusicCards.pdf">
<FormattedMessage id='hoc.activityCards' />
</a>
</div>
</div>
</section>
<section className="two-up">
<div className="column">
<section className="hoc-section">
<div className="hoc-section-column mod-split">
<h3>
<FormattedMessage
id='hoc.helpScratch'
defaultMessage={'Help with Scratch'} />
<FormattedMessage id='hoc.helpScratch' />
</h3>
<p>
<FormattedHTMLMessage
id='hoc.helpScratchDescription'
defaultMessage={
'You can find tutorials and helpful hints in the ' +
'<a href="/projects/editor/?tip_bar=home">Tips Window</a>. ' +
'For more resources, see <a href="/help/">Scratch Help</a>'
} />
<p className="hoc-section-paragraph">
<FormattedHTMLMessage id='hoc.helpScratchDescription' />
</p>
</div>
<div className="column">
<img src="/images/hoc2015/tips-test-animation.gif" alt="Tips Window Animation" />
<div className="hoc-section-column mod-split">
<img className="hoc-section-column-img"
src="/images/hoc/tips-test-animation.gif"
alt="Tips Window Animation" />
</div>
</section>
<section className="one-up">
<div className="column">
<section className="hoc-section">
<div className="hoc-section-column">
<h3>
<FormattedMessage
id='hoc.moreActivities'
defaultMessage={'Want More Activities?'} />
<FormattedMessage id='hoc.moreActivities' />
</h3>
<p>
<FormattedHTMLMessage
id='hoc.moreDescription'
defaultMessage={
'Check out these other tutorials. Or remix one of our ' +
'<a href="/starter_projects/">Starter Projects</a>'
} />
<p className="hoc-section-paragraph">
<FormattedHTMLMessage id='hoc.moreDescription' />
</p>
</div>
<FlexRow>
<div className="card">
<div className="flex-row-card">
<a href="/projects/editor/?tip_bar=getStarted">
<div className="card-info">
<img src="/images/hoc2015/getting-started-tutorial.jpg" alt="" />
<div className="flex-row-card-info">
<img className="flex-row-card-info-img"
src="/images/hoc/getting-started-tutorial.jpg" alt="" />
<Button>
<FormattedMessage
id='general.tipsGetStarted'
defaultMessage={'Getting Started'} />
<FormattedMessage id='hoc.tipsGetStarted' />
</Button>
</div>
</a>
</div>
<div className="card">
<a href="/bearstack/">
<div className="card-info">
<img src="/images/hoc2015/bearstack-tutorial.jpg" alt="" />
<div className="flex-row-card">
<a href="/hide/">
<div className="flex-row-card-info">
<img className="flex-row-card-info-img"
src="/images/hoc/hide-seek-tutorial.jpg"
alt="" />
<Button>
<FormattedMessage
id='general.tipsBearstack'
defaultMessage={'Bearstack Story'} />
<FormattedMessage id='hoc.tipsHideAndSeekTitle' />
</Button>
</div>
</a>
</div>
<div className="card">
<a href="/hoops">
<div className="card-info">
<img src="/images/hoc2015/bball-tutorial.jpg" alt="" />
<div className="flex-row-card">
<a href="//projects/editor/?tip_bar=dance">
<div className="flex-row-card-info">
<img className="flex-row-card-info-img"
src="/images/hoc/dance-tutorial.jpg"
alt="" />
<Button>
<FormattedMessage
id='general.tipsBBallHoops'
defaultMessage={'B-Ball Hoops'} />
<FormattedMessage id='hoc.tipsDanceTitle' />
</Button>
</div>
</a>
@ -284,47 +231,39 @@ var Hoc = React.createClass({
</FlexRow>
</section>
<section className="one-up">
<div className="column">
<section className="hoc-section">
<div className="hoc-section-column">
<h3>
<FormattedMessage
id='hoc.addToStudios'
defaultMessage={'Add Your Projects to Studios'} />
<FormattedMessage id='hoc.addToStudios' />
</h3>
<p>
<FormattedHTMLMessage
id='hoc.addToStudiosDescription'
defaultMessage={
'These studios include projects created by young people ' +
'around the world. Take a look at the studios to get inspired - ' +
'or submit your own projects to the studios!'
} />
<p className="hoc-section-paragraph">
<FormattedHTMLMessage id='hoc.addToStudiosDescription' />
</p>
</div>
<FlexRow>
<div className="studio">
<img src="/svgs/studio.svg" alt="" />
<div className="studio-info">
<div className="hoc-section-studio">
<img className="hoc-section-studio-img"
src="/svgs/studio.svg"
alt="" />
<div className="hoc-section-studio-info">
<a href="/studios/432299/">
<h5>
<FormattedMessage
id='general.tipsAnimateYourNameTitle'
defaultMessage={'Animate Your Name'} />
<h5 className="hoc-section-studio-info-header">
<FormattedMessage id='hoc.tipsAnimateYourNameTitle' />
</h5>
</a>
</div>
</div>
<div className="studio">
<img src="/svgs/studio.svg" alt="" />
<div className="studio-info">
<div className="hoc-section-studio">
<img className="hoc-section-studio-img"
src="/svgs/studio.svg"
alt="" />
<div className="hoc-section-studio-info">
<a href="/studios/1672166/">
<h5>
<FormattedMessage
id='hoc.studioWeBareBears'
defaultMessage={'We Bare Bears Studio'} />
<h5 className="hoc-section-studio-info-header">
<FormattedMessage id='hoc.studioWeBareBears' />
</h5>
</a>
</div>
@ -332,27 +271,27 @@ var Hoc = React.createClass({
</FlexRow>
<FlexRow>
<div className="studio">
<img src="/svgs/studio.svg" alt="" />
<div className="studio-info">
<a href="/studios/1065372/">
<h5>
<FormattedMessage
id='general.tipsDanceTitle'
defaultMessage={'Dance, Dance, Dance'} />
<div className="hoc-section-studio">
<img className="hoc-section-studio-img"
src="/svgs/studio.svg"
alt="" />
<div className="hoc-section-studio-info">
<a href="/studios/1999784/">
<h5 className="hoc-section-studio-info-header">
<FormattedMessage id='hoc.tipsMakeMusicTitle' />
</h5>
</a>
</div>
</div>
<div className="studio">
<img src="/svgs/studio.svg" alt="" />
<div className="studio-info">
<div className="hoc-section-studio">
<img className="hoc-section-studio-img"
src="/svgs/studio.svg"
alt="" />
<div className="hoc-section-studio-info">
<a href="/studios/1672164/">
<h5>
<FormattedMessage
id='hoc.studioAlice'
defaultMessage={'Alice in Wonderland Studio'} />
<h5 className="hoc-section-studio-info-header">
<FormattedMessage id='hoc.studioAlice' />
</h5>
</a>
</div>
@ -361,43 +300,48 @@ var Hoc = React.createClass({
</section>
</Box>
<section className="one-up">
<section className="hoc-section">
<h3>
<FormattedMessage
id='general.collaborators'
defaultMessage={'Collaborators'} />
</h3>
<div className="logos">
<div className="hoc-section-logos">
<a href="http://scratched.gse.harvard.edu/">
<img src="/images/hoc2015/scratchEd-logo.png" alt="ScratchEd" />
<img className="hoc-section-logos-img"
src="/images/hoc/scratchEd-logo.png"
alt="ScratchEd" />
</a>
<a href="https://code.org/">
<img src="/images/hoc2015/code-org-logo.png" alt="code.org" />
<img className="hoc-section-logos-img"
src="/images/hoc/code-org-logo.png"
alt="code.org" />
</a>
<a href="http://www.cartoonnetwork.com/">
<img src="/images/hoc2015/cn-logo.png" alt="Cartoon Network" />
<img className="hoc-section-logos-img"
src="/images/hoc/cn-logo.png"
alt="Cartoon Network" />
</a>
<a href="http://www.madewithcode.com/">
<img src="/images/hoc2015/made-with-code-logo.png" alt="Made with Code" />
<img className="hoc-section-logos-img"
src="/images/hoc/made-with-code-logo.png"
alt="Made with Code" />
</a>
<a href="http://www.paalive.org/">
<img src="/images/hoc2015/paa-logo.png" alt="Progressive Arts Alliance" />
<img className="hoc-section-logos-img"
src="/images/hoc/paa-logo.png"
alt="Progressive Arts Alliance" />
</a>
<a href="http://www.catrobat.org/">
<img src="/images/hoc2015/pocketcode-logo.png" alt="Pocket Code" />
<img className="hoc-section-logos-img"
src="/images/hoc/pocketcode-logo.png"
alt="Pocket Code" />
</a>
</div>
<div className="trademark">
<p className="legal">
<FormattedHTMLMessage
id='hoc.officialNotice'
defaultMessage={
'The "Hour of Code&trade;" is a nationwide initiative by ' +
'<a href="http://csedweek.org">Computer Science Education Week</a> ' +
'and <a href="http://code.org">Code.org</a> to introduce millions of ' +
'students to one hour of computer science and computer programming.'
} />
<div className="hoc-section-trademark">
<p className="hoc-section-paragraph legal">
<FormattedHTMLMessage id='hoc.officialNotice' />
</p>
</div>
</section>

View file

@ -7,38 +7,62 @@ $base-bg: $ui-white;
padding: 0;
}
.hoc {
.title-banner {
&.wbb-bg {
background-image: url("/images/hoc2015/hide-bg.jpg");
.hoc-section {
display: flex;
margin: 0 auto;
border-bottom: 1px solid $ui-border;
padding: 50px 0;
width: 95%;
text-align: center;
justify-content: center;
flex-wrap: wrap;
align-items: center;
}
&.dance-bg {
background-image: url("/images/hoc2015/dance-bg.jpg");
.hoc-section:last-child {
border-bottom: 0;
}
&.name-bg {
background-image: url("/images/hoc2015/name-bg.jpg");
}
section {
.hoc-section.mod-title-banner {
border: 0;
padding: 10px 0;
max-width: $desktop;
.card-deck {
padding: 0 20px;
}
//6 columns
@media only screen and (min-width: $mobile) and (max-width: $tablet - 1) {
max-width: $mobile;
}
}
.hoc-section-column {
width: 100%;
}
.flex-row {
.card {
.hoc-section-column.mod-split {
min-width: 200px;
max-width: 40%;
text-align: left;
}
.hoc-section-column-img {
border-radius: 5px;
width: 100%;
}
.hoc-section-paragraph {
margin: 10px auto 20px;
max-width: 600px;
}
.title-banner.mod-wbb-bg {
background-image: url("/images/hoc2015/hide-bg.jpg");
}
.title-banner.mod-dance-bg {
background-image: url("/images/hoc2015/dance-bg.jpg");
}
.title-banner.mod-name-bg {
background-image: url("/images/hoc2015/name-bg.jpg");
}
.flex-row-card {
margin: 10px;
border-radius: 7px;
background-color: $active-gray;
@ -47,184 +71,143 @@ $base-bg: $ui-white;
width: 30%;
min-width: 200px;
max-width: 230px;
}
.card-info {
.flex-row-card-info {
border-radius: 5px;
background-color: $base-bg;
width: 100%;
height: 100%;
}
button,
img {
.flex-row-card-info-img,
.button.flex-row-card-info-button {
width: calc(100% - 20px);
}
img {
.flex-row-card-info-img {
margin: 10px 10px 5px 10px;
border-radius: 5px;
}
button {
.button.flex-row-card-info-button {
margin: 0 10px 10px 10px;
}
}
//8 columns
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
margin: 2px;
min-width: 175px;
button {
font-size: .7em;
}
}
}
}
section {
display: flex;
margin: 0 auto;
border-bottom: 1px solid $ui-border;
padding: 50px 0;
width: 95%;
justify-content: center;
flex-wrap: wrap;
align-items: center;
p {
margin: 10px auto 20px;
max-width: 600px;
}
&:last-child {
border-bottom: 0;
}
&.one-up {
text-align: center;
.column {
width: 100%;
}
}
&.two-up {
.column {
min-width: 200px;
max-width: 40%;
text-align: left;
img {
border-radius: 5px;
width: 100%;
}
}
}
}
.resource,
.studio {
.hoc-section-resource,
.hoc-section-studio {
display: flex;
margin: 10px 0;
min-width: 200px;
text-align: left;
justify-content: center;
align-items: center;
}
img {
.hoc-section-resource-img,
.hoc-section-studio-img {
margin-right: 15px;
}
a {
h5 {
margin: 8px 0;
color: $ui-blue;
font-weight: 500;
&:hover {
color: darken($ui-blue, 15);
}
}
}
//8 columns
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
display: block;
width: 30%;
min-width: 180px;
text-align: center;
img {
margin: 0 auto;
}
}
}
.resource {
.hoc-section-resource {
width: 33%;
min-height: 4rem;
align-items: flex-start;
}
a {
.hoc-section-resource-anchor {
display: block;
margin: 5px 0;
font-size: .8em;
}
.resource-info {
h5 {
.hoc-section-resource-info-header {
margin: 0;
line-height: inherit;
}
}
}
.studio {
.hoc-section-studio {
width: 50%;
h5 {
width: 200px;
align-items: center;
}
img {
.hoc-section-studio-img {
float: left;
}
@media only screen and (max-width: $mobile - 1) {
display: inline-block;
.hoc-section-studio-info-header {
margin: 8px 0;
width: 200px;
color: $ui-blue;
font-weight: 500;
}
@media only screen and (min-width: $mobile) and (max-width: $tablet - 1) {
display: inline-block;
.hoc-section-studio-info-header:hover {
color: darken($ui-blue, 15);
}
//8 columns
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
h5 {
width: 100%;
}
img {
float: none;
}
}
}
.logos {
.hoc-section-logos {
margin: 20px 0;
width: 100%;
}
img {
.hoc-section-logos-img {
margin: 20px;
max-width: 150px;
max-height: 55px;
vertical-align: middle;
}
}
.trademark {
.hoc-section-trademark {
margin-top: 20px;
}
@media only screen and (max-width: $mobile - 1) {
.hoc-section-studio {
display: inline-block;
}
}
//6 columns
@media only screen and (min-width: $mobile) and (max-width: $tablet - 1) {
.hoc-section.mod-title-banner {
max-width: $mobile;
}
.hoc-section-studio {
display: inline-block;
}
}
//8 columns
@media only screen and (min-width: $tablet) and (max-width: $desktop - 1) {
.flex-row-card {
margin: 2px;
min-width: 175px;
}
.button.flex-row-card-info-button {
font-size: .7em;
}
.hoc-section-resource,
.hoc-section-studio {
display: block;
width: 30%;
min-width: 180px;
text-align: center;
}
.hoc-section-resource-img,
.hoc-section-studio-img {
margin: 0 auto;
}
.hoc-section-studio-img {
float: none;
}
.hoc-section-studio-info-header {
width: 100%;
}
}

View file

@ -15,5 +15,12 @@
"hoc.studioWeBareBears": "We Bare Bears Studio",
"hoc.subTitle": "With Scratch, you can program your own stories, games, and animations — and share them online.",
"hoc.tipsDescription": "Need help getting started? Looking for ideas?&nbsp; You can find tutorials and helpful hints in the <a href=\"/projects/editor/?tip_bar=home\">Tips Window</a>",
"hoc.title": "Get Creative with Coding"
"hoc.title": "Get Creative with Coding",
"hoc.tipsAnimateYourNameTitle": "Animate Your Name",
"hoc.tipsDanceTitle": "Dance, Dance, Dance",
"hoc.tipsGetStarted": "Getting Started",
"hoc.tipsHideAndSeekTitle": "Hide-and-Seek Game",
"hoc.tipsMakeMusicTitle": "Make Music",
"hoc.tipsMakeItFlyTitle": "Make it Fly",
"hoc.tipsPongGame": "Create a Pong Game"
}

View file

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View file

Before

Width:  |  Height:  |  Size: 193 KiB

After

Width:  |  Height:  |  Size: 193 KiB

View file

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View file

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

View file

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 94 KiB

View file

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View file

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB