glimmer_wordle 1.1.2 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
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: