Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us
Notesclub

Rubix Cube

exercises/rubix_cube.livemd

Rubix Cube

Mix.install([
  {:jason, "~> 1.4"},
  {:kino, "~> 0.9", override: true},
  {:youtube, github: "brooklinjazz/youtube"},
  {:hidden_cell, github: "brooklinjazz/hidden_cell"}
])

Navigation

Home Report An Issue Worker Pools

Rubix’s Cube

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:

Requirements

  • 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.

Commit Your Progress

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.

Navigation

Home Report An Issue Worker Pools