GotchiCode needs JavaScript for the code editor and live challenges. Please enable it to play.
GotchiCode
Paths
Courses
Community
Arcade
Leaderboard
◂
Learn JavaScript by Building a Battler
▾
Before You Battle
0/10
How Lessons Work
10 XP
What Is a Program?
10 XP
Values and Their Types
10 XP
Naming Your Gotchi
10 XP
Your Gotchi's HP
10 XP
Expressions: Code That Makes a Value
10 XP
Level Up
10 XP
Notes JavaScript Ignores
10 XP
Seeing Your Values: console.log
10 XP
When Node Complains
10 XP
▾
Hello, JavaScript
0/3
Hello, Codeweald
10 XP
Return, One More Time
10 XP
A Battle Cry
10 XP
▾
Variables & Types
0/3
A Full Name
10 XP
Adding Stats
10 XP
What Type Is It?
15 XP
▾
Strings
0/3
A Name Tag
15 XP
A Status Line
15 XP
Shout It
15 XP
▾
Conditionals
0/3
Has It Fainted?
15 XP
Who Strikes First?
20 XP
Type Advantage
20 XP
▾
The Turn Loop
0/4
Total Damage
20 XP
Turns to Win
20 XP
The Charge Bar
20 XP
Attack Until It Drops
20 XP
▾
A Party of Creatures
0/3
Recruit a Creature
20 XP
The Strongest
25 XP
Who's Still Standing?
25 XP
▾
Creatures as Objects
0/3
Build a Creature
25 XP
A New Nickname
20 XP
Creature Summary
25 XP
▾
The Functional Toolkit
0/3
Level Up
25 XP
Survivors
25 XP
Combined HP
30 XP
▾
Functions as Values
0/3
Apply Twice
25 XP
Make an Adder
30 XP
Best by a Measure
30 XP
▾
Guarding Against Bad Input
0/3
Reject Bad Stats
25 XP
Catch a Bad Level
30 XP
Fix the Bug
25 XP
▾
Classes
0/3
A Creature Class
30 XP
Taking Damage
30 XP
Down for the Count
30 XP
▾
Capstone: The Battle Simulator
0/2
Resolve a Round
35 XP
Simulate the Battle
45 XP
▾
Numbers & Parsing
0/3
Read the Level
15 XP
One Decimal Place
15 XP
Safe Parse
20 XP
▾
More String Methods
0/3
Split the Roster
15 XP
Short Name
15 XP
Pad the ID
20 XP
▾
More Array Methods
0/3
Find the Leader
20 XP
All Standing?
20 XP
Battle Order
25 XP
▾
Objects in Depth
0/3
Stat Names
15 XP
Total Stats
20 XP
Clone & Boost
25 XP
▾
Map & Set
0/3
Unique Types
20 XP
Type Counts
25 XP
Can It Learn That?
20 XP
▾
Closures & State
0/3
Damage Counter
25 XP
Running Total
25 XP
Only Once
30 XP
▾
Recursion
0/3
Sum the Levels
25 XP
Countdown List
25 XP
Total Nested Power
30 XP
▾
Inheritance
0/3
A Specialized Creature
25 XP
Calling super
30 XP
Override a Method
30 XP
▾
Getters, Setters & Statics
0/3
A Computed Property
25 XP
A Guarded Setter
30 XP
A Static Factory
25 XP
▾
JSON
0/3
Write the Save
20 XP
Load the Save
20 XP
Names From a Save
25 XP
▾
Regular Expressions
0/3
Valid Name?
25 XP
Pull Out the Level
30 XP
Slugify the Name
30 XP
▾
Generators
0/3
A Countdown Generator
25 XP
Yield the Survivors
25 XP
Take the First Few
30 XP
▾
Defaults, switch & the Conditional Operator
0/3
Default Parameters
15 XP
The switch Statement
20 XP
The Conditional Operator
15 XP
▾
Destructuring
0/3
Array Destructuring
15 XP
Object Destructuring
15 XP
Rest Parameters
20 XP
▾
Safe Access
0/3
Optional Chaining
20 XP
Nullish Coalescing
20 XP
A Safe Default
25 XP
▾
More Array Tools
0/3
includes & indexOf
15 XP
Reading From the End
15 XP
Flatten With flatMap
25 XP
▾
Numbers & Math
0/3
Clamp a Stat
20 XP
Rounding Damage
15 XP
The Stat Gap
15 XP
▾
Promises & async/await
0/3
async & await
20 XP
Awaiting a Rejection
25 XP
Waiting For Many
25 XP
▾
Set Operations
0/3
What They Share
20 XP
Only in the First
20 XP
Merged Without Duplicates
25 XP
▾
Working With Maps
0/3
Building a Map
20 XP
Looping a Map
25 XP
Back to an Object
20 XP
▾
Dates
0/3
A Date String
25 XP
Days Apart
25 XP
Which Weekday?
20 XP
▾
Deep Copies
0/3
A True Copy
25 XP
Update Without Touching
25 XP
Snapshotting the Party
20 XP
▾
Custom Iterators
0/3
Making It Iterable
25 XP
Computed on the Fly
25 XP
A Sequence From Nothing
25 XP
▾
Tagged Templates
0/3
Tagging a Template
25 XP
Hiding the Values
25 XP
A Tag That Adds
25 XP
▾
Huge Numbers
0/3
Numbers Too Big
25 XP
Comparing BigInts
25 XP
BigInts In and Out
25 XP
▾
Den Addresses
0/3
Parsing a URL
25 XP
Query Parameters
25 XP
Building a Query
30 XP
Loading lesson…