glimmer_wordle 1.1.2 → 1.1.4

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -2
  3. data/VERSION +1 -1
  4. data/app/wordle/view/app_view.rb +29 -15
  5. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5315f737af82dff39d911a59688cefcbf9f4b1d2aaca7c5efcc3c44df01d1ca
4
- data.tar.gz: 65499b9acdfb6e21b9aafe4df8825e2d082c2ef2cbc20d48c526eb3216a74eb2
3
+ metadata.gz: 3539bd2cf55a25f67c820dd8b88d7407e4aa9778467151b82601dd7a62abb1b0
4
+ data.tar.gz: c72fc25a119fd620979585ec9ad797f584b242556981736fe3c2a043f71e0103
5
5
  SHA512:
6
- metadata.gz: b589f94aac13a96e7b9cdef7865b13c472f5976ee28ea754d44fff61056f35fe91c27a30c0b1e7a49cd81aed03cebd506655ace00c4067ceb163d30f800dc52f
7
- data.tar.gz: 2c08a7f262aa07d5c3053546f8da56ed75a2631d6d6811ffcba1a76322ec17f492c6691da2b1427843bcd679162b4b0e9ed7e4384eaaf134b8a4bf88d4dc5659
6
+ metadata.gz: bb7ec3a1b241e41d18f31bac1b6f9a9064a54c30fe405f2624c35f09cb26422f667a73cbcd4fba67db57be3bb4949e7feb994d9987341954d398915a9d13ba74
7
+ data.tar.gz: ae2378a3c8eef3c5a95a0fb2e1c1a42a6f0a623901575ad1bedb35ad8eccd273b32f7019f7ba2d62092a8809bc74e5b50b5ca4f8ee3f4c8d770669030e1f8760
data/README.md CHANGED
@@ -1,10 +1,20 @@
1
- # <img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=85 /> Glimmer Wordle 1.1.2
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
- ![Wordle Screenshot](screenshots/glimmer-wordle.png)
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
+
9
+ Mac | Linux
10
+ ----|------
11
+ ![Wordle Screenshot](screenshots/glimmer-wordle.png) | ![Wordle Screenshot Linux](screenshots/glimmer-wordle-linux.png)
12
+
13
+ Other [Glimmer](https://github.com/AndyObtiva/glimmer) games:
14
+
15
+ [<img alt="Glimmer Tetris Icon" src="https://raw.githubusercontent.com/AndyObtiva/glimmer_tetris/master/package/linux/Glimmer%20Tetris.png" height=40 /> Glimmer Tetris](https://github.com/AndyObtiva/glimmer_tetris)
16
+
17
+ [<img alt="Glimmer Klondike Solitaire Icon" src="https://raw.githubusercontent.com/AndyObtiva/glimmer_klondike_solitaire/master/icons/linux/Glimmer%20Klondike%20Solitaire.png" height=40 /> Glimmer Klondike Solitaire](https://github.com/AndyObtiva/glimmer_klondike_solitaire)
8
18
 
9
19
  ## Demo
10
20
 
@@ -18,6 +28,10 @@
18
28
 
19
29
  [<img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=40 /> Download Glimmer Wordle 1.1.2 DMG for Mac x86_64 Catalina and Older](https://www.dropbox.com/s/ysureb9o1dky7w0/Glimmer%20Wordle-1.1.2.dmg?dl=1)
20
30
 
31
+ [<img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=40 /> Download Glimmer Wordle 1.1.3 DEB for Linux x86_64](https://www.dropbox.com/s/7jybodbf4pewhtd/glimmer-wordle_1.1.3-1_amd64.deb?dl=1)
32
+
33
+ [<img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=40 /> Download Glimmer Wordle 1.1.3 RPM for Linux x86_64](https://www.dropbox.com/s/dfpjnquchxzl823/glimmer-wordle-1.1.3-1.x86_64.rpm?dl=1)
34
+
21
35
  ### Install Ruby Gem
22
36
 
23
37
  If you are a software engineer and would rather install this game as a Ruby gem, please follow these instructions.
@@ -36,6 +50,22 @@ Afterwards, run:
36
50
  glimmer_wordle
37
51
  ```
38
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
+
65
+ ## Process
66
+
67
+ [Glimmer Process](https://github.com/AndyObtiva/glimmer/blob/master/PROCESS.md)
68
+
39
69
  ## Contributing
40
70
 
41
71
  - Check out the latest master to make sure the feature hasn't been
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.2
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
@@ -244,8 +244,8 @@ class Wordle
244
244
  line_width 2
245
245
  }
246
246
 
247
- @alphabet_letters << text(alphabet_character) {
248
- font style: :bold, height: 28
247
+ @alphabet_letters << text(alphabet_character, :default, [:default, OS.linux? ? 5 : 0]) {
248
+ font alphabet_font
249
249
  }
250
250
  }
251
251
  end
@@ -280,8 +280,8 @@ class Wordle
280
280
  line_width 2
281
281
  }
282
282
 
283
- @letters << text('') {
284
- font style: :bold, height: 40
283
+ @letters << text('', :default, [:default, OS.linux? ? 6 : 0]) {
284
+ font letter_font
285
285
  }
286
286
  }
287
287
  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
 
@@ -435,8 +439,6 @@ class Wordle
435
439
  grid_layout
436
440
  text 'Share Result'
437
441
 
438
- app_menu_bar
439
-
440
442
  label {
441
443
  layout_data :center, :center, true, false
442
444
  text 'Result is copied to clipboard!'
@@ -453,6 +455,18 @@ class Wordle
453
455
  @share_text_dialog.open
454
456
  end
455
457
 
458
+ def alphabet_font
459
+ the_font = {style: :bold, height: 28}
460
+ the_font.merge!(name: 'Helvetica', height: 21) if OS.linux?
461
+ the_font
462
+ end
463
+
464
+ def letter_font
465
+ the_font = {style: :bold, height: 40}
466
+ the_font.merge!(name: 'Helvetica', height: 30) if OS.linux?
467
+ the_font
468
+ end
469
+
456
470
  def dispose_alphabet_container_children
457
471
  @alphabet_rectangles.clear
458
472
  @alphabet_borders.clear
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.2
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-12 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: