Mix.install([
{:jason, "~> 1.4"},
{:kino, "~> 0.9", override: true},
{:youtube, github: "brooklinjazz/youtube"},
{:hidden_cell, github: "brooklinjazz/hidden_cell"}
])
You are going to create a Rubix Cube application.
Rubix's Cubes are a toy with six sides. Each side has nine colored squares on it. Players rotate columns and rows on the cube with the goal of having each side with a single matching color.
Create a RubixCube
supervised mix project.
mix new rubix_cube --sup
Your RubixCube
project should have the following features:
- Represent the Rubix's Cube as data in a process.
- Start the Rubix's Cube process under a supervisor.
- Horizontally rotate a row of the cube to the right and left
- Vertically rotate a column of the cube up and down.
- Determine if a Rubix's Cube is solved.
- Save the state of the Rubix's Cube using the File system.
- Load the previous state of the Rubix' Cube using the File system when starting the application.
DockYard Academy now recommends you use the latest Release rather than forking or cloning our repository.
Run git status
to ensure there are no undesirable changes.
Then run the following in your command line from the curriculum
folder to commit your progress.
$ git add .
$ git commit -m "finish Rubix Cube exercise"
$ git push
We're proud to offer our open-source curriculum free of charge for anyone to learn from at their own pace.
We also offer a paid course where you can learn from an instructor alongside a cohort of your peers. We will accept applications for the June-August 2023 cohort soon.