rubiks_cube 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d340c4d6ed10a679b877d834c2051ab5875ce201
4
- data.tar.gz: 13e7c52e530391568ef6fc82e6e3ae30f1834788
3
+ metadata.gz: 780df255a389a0ab949a87416339f0edd8cac095
4
+ data.tar.gz: fcabdd29db883d17ddce6a78d6d0dd4457bd55c5
5
5
  SHA512:
6
- metadata.gz: 6d04641548416231a627d4fff3d91e8a79701deeaa586b2d71fa33ff608c7b6154e53e82765f4cd8b0f390a50a89023fa7d45e50c7e17d87e7767a51b772692c
7
- data.tar.gz: 4b167f837facba5d44b9158e7d8eedc65a68729f26d813538b6615f809e4bb744fd9b9c5901be8f98311500cbcb9c44c3cedb6b2273b34e951af70374cca2f76
6
+ metadata.gz: a95dfabd9bba259656258734b382e7b2250b4968b8ebff7c7a58bd16289bc0a35ed766a5dc8163ec37bbb06f849168d48a85085e94b454624dcd39aca81a9e93
7
+ data.tar.gz: 98330d9d23ebcece0023d2e204862876efb3357f7f5aa1e77b4ddb778391e8faa3204a1ca09f39be28da38d4c73f9c55772e020466dd32f0fa65a065b585d557
data/CONTRIBUTING.md CHANGED
@@ -11,3 +11,12 @@ Want to contribute? Awesome! Thank you so much.
11
11
  5. Push to the branch (`git push origin my-new-feature`)
12
12
  6. Create new [Pull
13
13
  Request](https://help.github.com/articles/using-pull-requests)
14
+
15
+ ## Running The Tests
16
+
17
+ ```bash
18
+ $ git clone https://github.com/chrishunt/rubiks-cube.git
19
+ $ cd rubiks-cube
20
+ $ bundle install
21
+ $ bundle exec rake
22
+ ```
data/README.md CHANGED
@@ -1,16 +1,39 @@
1
1
  # Rubik's Cube
2
2
 
3
+ Solve your Rubik's Cube with an **easy** two-cycle solution
4
+
5
+ ## Description
6
+
3
7
  Can you solve the Rubik's Cube? Do you want to learn how? GREAT!
4
8
 
5
9
  We will teach you a very simple two-cycle solution for solving the Rubik's
6
10
  Cube. It's so simple that I used this exact solution to solve the cube
7
11
  blindfolded in the [2005 Rubik's World
8
- Championship](http://worldcubeassociation.org/results/p.php?i=2005HUNT01)
9
- with a time of 5 minutes and 40 seconds.
10
-
11
- With practice, you can easily average less than 3 minutes using this solution
12
- and will have enough understanding to progress to the [Fridrich CFOP](http://en.wikipedia.org/wiki/Fridrich_Method) method - taking you to 15 second solve times.
13
- WOW!
12
+ Championship](http://worldcubeassociation.org/results/p.php?i=2005HUNT01) with
13
+ a time of 5 minutes and 40 seconds. After you've mastered this solution, you
14
+ will average less than 3 minutes and will have enough understanding to progress
15
+ to the [Fridrich CFOP](http://en.wikipedia.org/wiki/Fridrich_Method) method -
16
+ making it possible for 15 second solve times. WOW!
17
+
18
+ ## Sections
19
+
20
+ 1. [Usage](#usage)
21
+ 1. [Setting Rubik's Cube State](#setting-rubiks-cube-state)
22
+ - [Examples](#examples)
23
+ - [Solved Cube](#solved-cube)
24
+ - [Slightly Scrambled Cube](#slightly-scrambled-cube)
25
+ - [Fully Scrambled Cube](#fully-scrambled-cube)
26
+ 1. [Turning a Rubik's Cube](#turning-a-rubiks-cube)
27
+ 1. [Solving a Rubik's Cube](#solving-a-rubiks-cube)
28
+ - [Two Cycle Solution](#two-cycle-solution)
29
+ - [How It Works: Permutation](#how-it-works-permutation)
30
+ - [How It Works: Orientation](#how-it-works-orientation)
31
+ 1. [Algorithms](#algorithms)
32
+ - [Algorithm Notation](#algorithm-notation)
33
+ - [M Slice](#m-slice)
34
+ 1. [Installation](#installation)
35
+ 1. [Contributing](#contributing)
36
+ 1. [License](#license)
14
37
 
15
38
  ## Usage
16
39
 
@@ -45,11 +68,11 @@ puts solution.pretty
45
68
  # ...
46
69
  ```
47
70
 
48
- ## Setting Rubik's Cube State Manually
71
+ ## Setting Rubik's Cube State
49
72
 
50
- If we'd like to start the Rubik's Cube in a different state, we can do that.
51
- Most people will want to do this if they have a cube sitting on their desk that
52
- is already scrambled.
73
+ If you have a scrambled Rubik's Cube sitting in front of you right now, you
74
+ may not know how to get it back to the solved position. That's OK! We can set
75
+ the Rubik's Cube state manually and learn how to solve it.
53
76
 
54
77
  Describing a cube state may seem complicated at first, but it quickly becomes
55
78
  easy after you've done it a few times.
@@ -74,15 +97,15 @@ to help you out.
74
97
 
75
98
  ![](https://raw.github.com/chrishunt/rubiks-cube/master/img/cube_solved.jpg)
76
99
 
77
- A Rubik's Cube is solved by default, but let's take a look at entering the
78
- state of a solved cube manually so it makes sense.
100
+ A Rubik's Cube is solved by default.
79
101
 
80
102
  ```ruby
81
103
  require 'rubiks_cube'
82
104
 
83
- cube = RubiksCube::Cube.new(
84
- "UF UR UB UL FL FR BR BL DF DR DB DL UFL URF UBR ULB DLF DFR DRB DBL"
85
- )
105
+ cube = RubiksCube::Cube.new
106
+
107
+ cube.state
108
+ #=> "UF UR UB UL FL FR BR BL DF DR DB DL UFL URF UBR ULB DLF DFR DRB DBL"
86
109
 
87
110
  cube.solved? #=> true
88
111
  ```
@@ -91,7 +114,8 @@ cube.solved? #=> true
91
114
 
92
115
  ![](https://raw.github.com/chrishunt/rubiks-cube/master/img/cube_scramble_1.jpg)
93
116
 
94
- Now let's look at a slightly scrambled cube.
117
+ Notice our cube is now slightly scrambled. We can start our Rubik's Cube in
118
+ this state if we like:
95
119
 
96
120
  ```ruby
97
121
  require 'rubiks_cube'
@@ -107,8 +131,10 @@ cube.solved? #=> false
107
131
 
108
132
  ![](https://raw.github.com/chrishunt/rubiks-cube/master/img/cube_scramble_2.jpg)
109
133
 
110
- Finally, let's look at a pretty messed up cube. Here's the scramble if you'd
111
- like to try this one at home:
134
+ And here's a fully scrambled cube. This looks hard to solve. We can start our
135
+ cube in this state if we like and have the solver tell us a solution.
136
+
137
+ Here's the scramble we used to mix the cube if you'd like to try it yourself:
112
138
 
113
139
  ```
114
140
  U D B2 U B D2 B2 F' R' U2 F U' L2 F L2 B2 L2 R' U R' U' D R2 F2 B2
@@ -126,9 +152,10 @@ cube.solved? #=> false
126
152
 
127
153
  ## Turning a Rubik's Cube
128
154
 
129
- Each Rubik's Cube face (l, r, f, b, d, u) can be turned clockwise manually by
130
- calling the appropriate method on the cube. For example, if we'd like to turn
131
- the right face twice, the down face once, and the back face three times:
155
+ Each Rubik's Cube face ( **L**, **R**, **F**, **B**, **D**, **U** ) can be
156
+ turned clockwise manually by calling the appropriate method on the cube. For
157
+ example, if we'd like to turn the right face twice, the down face once, and the
158
+ back face three times:
132
159
 
133
160
  ```ruby
134
161
  require 'rubiks_cube'
@@ -169,10 +196,10 @@ cube.state
169
196
 
170
197
  ## Solving a Rubik's Cube
171
198
 
172
- We currently only have a very simple two-cycle solution implemented. This
173
- solution is very inefficient, but wonderful for humans. Using the two-cycle
174
- solution, you can quickly learn how to solve the Rubik's Cube without using the
175
- computer.
199
+ We've provided a simple two-cycle solution to help you solve the Rubik's Cube.
200
+ This solution is very inefficient, but wonderful for humans. Using the
201
+ two-cycle solution, you can quickly learn how to solve the Rubik's Cube without
202
+ using the computer.
176
203
 
177
204
  ### Two Cycle Solution
178
205
 
@@ -224,7 +251,8 @@ setup move.
224
251
 
225
252
  ## Algorithms
226
253
 
227
- All algorithms can be found in [`RubiksCube::Algorithms`](https://github.com/chrishunt/rubiks-cube/blob/master/lib/rubiks_cube/algorithms.rb)
254
+ All algorithms can be found in
255
+ [`RubiksCube::Algorithms`](https://github.com/chrishunt/rubiks-cube/blob/master/lib/rubiks_cube/algorithms.rb)
228
256
 
229
257
  ### Algorithm Notation
230
258
 
@@ -1,3 +1,3 @@
1
1
  module RubiksCube
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
data/rubiks_cube.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = RubiksCube::VERSION
9
9
  spec.authors = ['Chris Hunt']
10
10
  spec.email = ['c@chrishunt.co']
11
- spec.description = %q{Learn how to solve the Rubik's Cube. It's easy!}
12
- spec.summary = %q{Learn how to solve the Rubik's Cube. It's easy!}
11
+ spec.description = %q{Solve your Rubik's Cube with a two-cycle solution}
12
+ spec.summary = %q{Solve your Rubik's Cube with a two-cycle solution}
13
13
  spec.homepage = 'https://github.com/chrishunt/rubiks-cube'
14
14
  spec.license = 'MIT'
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubiks_cube
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hunt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-17 00:00:00.000000000 Z
11
+ date: 2013-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: Learn how to solve the Rubik's Cube. It's easy!
69
+ description: Solve your Rubik's Cube with a two-cycle solution
70
70
  email:
71
71
  - c@chrishunt.co
72
72
  executables: []
@@ -123,7 +123,7 @@ rubyforge_project:
123
123
  rubygems_version: 2.0.3
124
124
  signing_key:
125
125
  specification_version: 4
126
- summary: Learn how to solve the Rubik's Cube. It's easy!
126
+ summary: Solve your Rubik's Cube with a two-cycle solution
127
127
  test_files:
128
128
  - spec/rubiks_cube/algorithms_spec.rb
129
129
  - spec/rubiks_cube/cube_spec.rb