glimmer_wordle 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81908a883313d3698443f2014abfa0b4f842843e9a9cec67cb0d89ee0771cae8
4
- data.tar.gz: 1561702e4b94ff59217e0f017f9ef64bbf085155b41677f90a6fb5d7e5103694
3
+ metadata.gz: 3539bd2cf55a25f67c820dd8b88d7407e4aa9778467151b82601dd7a62abb1b0
4
+ data.tar.gz: c72fc25a119fd620979585ec9ad797f584b242556981736fe3c2a043f71e0103
5
5
  SHA512:
6
- metadata.gz: 1fcd56e450e92c31270e328eb89718cfbc1b337eb70eeda8d4253c8d2cc857aa9b4510bcbe3ded8f01cc6586d505b5cd703c6b9c78756ede4d3c179ac7ed3d4d
7
- data.tar.gz: 48a743663ef91bd2885fb4aaa4888626fa2a09583a19dc6a9661dc01c8eb7e0df0df6c943f8f122ac9b9e7a71180788a94f91f4907c69fcfd8414430b6e0db59
6
+ metadata.gz: bb7ec3a1b241e41d18f31bac1b6f9a9064a54c30fe405f2624c35f09cb26422f667a73cbcd4fba67db57be3bb4949e7feb994d9987341954d398915a9d13ba74
7
+ data.tar.gz: ae2378a3c8eef3c5a95a0fb2e1c1a42a6f0a623901575ad1bedb35ad8eccd273b32f7019f7ba2d62092a8809bc74e5b50b5ca4f8ee3f4c8d770669030e1f8760
data/README.md CHANGED
@@ -1,9 +1,11 @@
1
- # <img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=85 /> Glimmer Wordle 1.1.3
1
+ # <img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=85 /> Glimmer Wordle 1.1.4
2
2
  ## Play Wordle Endlessly with No Limit!
3
3
  [![Gem Version](https://badge.fury.io/rb/glimmer_wordle.svg)](http://badge.fury.io/rb/glimmer_wordle)
4
4
 
5
5
  [Wordle](https://en.wikipedia.org/wiki/Wordle) word game desktop GUI app written [test-first](https://github.com/AndyObtiva/wordle/blob/master/spec/app/model/five_letter_word_spec.rb) using [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt) (JRuby Desktop Development GUI Framework) as inspiration by [Kevin Newton's blog post](https://kddnewton.com/2022/01/29/solving-wordle-in-ruby.html).
6
6
 
7
+ (Since the desktop version can leverage a real keyboard, there is no need to display the alphabets following the Qwerty layout, so they are displayed alphabetically to enable a more user-friendly experience, but the Qwerty layout is available as an [option](#options) if desired.)
8
+
7
9
  Mac | Linux
8
10
  ----|------
9
11
  ![Wordle Screenshot](screenshots/glimmer-wordle.png) | ![Wordle Screenshot Linux](screenshots/glimmer-wordle-linux.png)
@@ -48,6 +50,18 @@ Afterwards, run:
48
50
  glimmer_wordle
49
51
  ```
50
52
 
53
+ ## Options
54
+
55
+ The game menu bar has these View menu options:
56
+
57
+ 1- **View -> Alphabet Layout -> Alphabetical**: Displays alphabets alphabetically
58
+
59
+ ![Wordle Screenshot Alphabetical](screenshots/glimmer-wordle.png)
60
+
61
+ 2- **View -> Alphabet Layout -> Qwerty**: Displays alphabets with the Qwerty keyboard layout
62
+
63
+ ![Wordle Screenshot Qwerty](screenshots/glimmer-wordle-qwerty.png)
64
+
51
65
  ## Process
52
66
 
53
67
  [Glimmer Process](https://github.com/AndyObtiva/glimmer/blob/master/PROCESS.md)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.1.4
@@ -176,7 +176,7 @@ class Wordle
176
176
 
177
177
  If you enter a letter that is part of the word, but at the wrong location, it becomes yellow.
178
178
 
179
- If you enter a letter that is not part of the word, it become red.
179
+ If you enter a letter that is not part of the word, it becomes red.
180
180
  MULTI_LINE_STRING
181
181
  }.open
182
182
  end
@@ -300,12 +300,16 @@ class Wordle
300
300
  end
301
301
 
302
302
  def do_backspace
303
- @letter = @letters.find {|letter| letter.string == ''}
304
- index = @letter ? [@letters.index(@letter) - 1, 0].max : 4
305
- @letter = @letters[index]
303
+ @letter = @letters[highlighted_letter_index]
304
+ if @letter.string != ''
305
+ index_to_delete = highlighted_letter_index
306
+ else
307
+ index_to_delete = [highlighted_letter_index - 1, 0].max
308
+ end
309
+ @letter = @letters[index_to_delete]
306
310
  @letter.string = ''
307
- @borders.each { |caret| caret.foreground = :gray}
308
- @borders[index].foreground = :title_background
311
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
312
+ @borders[index_to_delete].foreground = :title_background
309
313
  end
310
314
 
311
315
  def do_guess
@@ -355,20 +359,20 @@ class Wordle
355
359
  @letter = @letters[index]
356
360
  @letter.string = character.upcase
357
361
  if @letters.any? {|letter| letter.string == ''}
358
- @borders.each { |caret| caret.foreground = :gray}
362
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
359
363
  @borders[index == 4 ? 4 : index + 1].foreground = :title_background
360
364
  end
361
365
  end
362
366
 
363
367
  def do_left
364
368
  index = [highlighted_letter_index - 1, 0].max
365
- @borders.each { |caret| caret.foreground = :gray}
369
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
366
370
  @borders[index].foreground = :title_background
367
371
  end
368
372
 
369
373
  def do_right
370
374
  index = [highlighted_letter_index + 1, @letters.count - 1].min
371
- @borders.each { |caret| caret.foreground = :gray}
375
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
372
376
  @borders[index].foreground = :title_background
373
377
  end
374
378
 
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer_wordle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-19 00:00:00.000000000 Z
11
+ date: 2023-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 4.22.2.6
18
+ version: 4.26.0.1
19
19
  name: glimmer-dsl-swt
20
20
  prerelease: false
21
21
  type: :runtime
@@ -23,7 +23,7 @@ dependencies:
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.22.2.6
26
+ version: 4.26.0.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements: