glimmer_wordle 1.1.3 → 1.1.5

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
  SHA256:
3
- metadata.gz: 81908a883313d3698443f2014abfa0b4f842843e9a9cec67cb0d89ee0771cae8
4
- data.tar.gz: 1561702e4b94ff59217e0f017f9ef64bbf085155b41677f90a6fb5d7e5103694
3
+ metadata.gz: c8fb02e3ffe01775077d6cb9bd1db9de7f4691daf88ed1c21cafc422a86422d5
4
+ data.tar.gz: 338cf1402d4eeda2c060eb5deb41ce171dd37eed75d5acacaa2294bda1798404
5
5
  SHA512:
6
- metadata.gz: 1fcd56e450e92c31270e328eb89718cfbc1b337eb70eeda8d4253c8d2cc857aa9b4510bcbe3ded8f01cc6586d505b5cd703c6b9c78756ede4d3c179ac7ed3d4d
7
- data.tar.gz: 48a743663ef91bd2885fb4aaa4888626fa2a09583a19dc6a9661dc01c8eb7e0df0df6c943f8f122ac9b9e7a71180788a94f91f4907c69fcfd8414430b6e0db59
6
+ metadata.gz: f1201bad54e6024202873b5df3c77d6e8c05558f76983e1b656d304e0f2c4d91a9f3844b007a224c1e0e26d97020ea721d82cc52d82f57c7927bed1ea3126a8b
7
+ data.tar.gz: c2b4ccb2203073c0bd88b61fe20e73d0635be39ffb6ae70853eacac23c4ff9b10a8da9fb4c581b58bd152194789c265e44eff6bacf6024d291c33d5d2319311f
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2022 Andy Maleh
1
+ Copyright (c) 2022-2023 Andy Maleh
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,12 +1,14 @@
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.5
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
- Mac | Linux
8
- ----|------
9
- ![Wordle Screenshot](screenshots/glimmer-wordle.png) | ![Wordle Screenshot Linux](screenshots/glimmer-wordle-linux.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 | Windows | Linux
10
+ ----|---------|------
11
+ ![Wordle Screenshot](screenshots/glimmer-wordle.png) | ![Wordle Screenshot Windows](screenshots/glimmer-wordle-windows.png) | ![Wordle Screenshot Linux](screenshots/glimmer-wordle-linux.png)
10
12
 
11
13
  Other [Glimmer](https://github.com/AndyObtiva/glimmer) games:
12
14
 
@@ -22,7 +24,9 @@ Other [Glimmer](https://github.com/AndyObtiva/glimmer) games:
22
24
 
23
25
  ### Download
24
26
 
25
- [<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 ARM64 Monterey and Older](https://www.dropbox.com/s/rmanrz81qfrpqq5/Glimmer%20Wordle-arm64-1.1.2.dmg?dl=1)
27
+ [<img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=40 /> Download Glimmer Wordle 1.1.4 DMG for Mac ARM64 Ventura and Older](https://www.dropbox.com/s/diah745mycc8elz/Glimmer%20Wordle-1.1.4-arm64.dmg?dl=1)
28
+
29
+ [<img src='https://raw.githubusercontent.com/AndyObtiva/glimmer_wordle/master/icons/linux/Glimmer Wordle.png' height=40 /> Download Glimmer Wordle 1.1.4 DMG for Mac x86_64 Monterey and Big Sur](https://www.dropbox.com/s/8epnwopq050r69m/Glimmer%20Wordle-1.1.4-x86_64-monterey.dmg?dl=1)
26
30
 
27
31
  [<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)
28
32
 
@@ -48,6 +52,18 @@ Afterwards, run:
48
52
  glimmer_wordle
49
53
  ```
50
54
 
55
+ ## Options
56
+
57
+ The game menu bar has these View menu options:
58
+
59
+ 1- **View -> Alphabet Layout -> Alphabetical**: Displays alphabets alphabetically
60
+
61
+ ![Wordle Screenshot Alphabetical](screenshots/glimmer-wordle.png)
62
+
63
+ 2- **View -> Alphabet Layout -> Qwerty**: Displays alphabets with the Qwerty keyboard layout
64
+
65
+ ![Wordle Screenshot Qwerty](screenshots/glimmer-wordle-qwerty.png)
66
+
51
67
  ## Process
52
68
 
53
69
  [Glimmer Process](https://github.com/AndyObtiva/glimmer/blob/master/PROCESS.md)
@@ -80,7 +96,7 @@ glimmer_wordle
80
96
 
81
97
  [MIT](LICENSE.txt)
82
98
 
83
- Copyright (c) 2022 Andy Maleh. See
99
+ Copyright (c) 2022-2023 Andy Maleh. See
84
100
  [LICENSE.txt](LICENSE.txt) for further details.
85
101
 
86
102
  --
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.3
1
+ 1.1.5
@@ -86,6 +86,7 @@ class Wordle
86
86
  label {
87
87
  layout_data :center, :center, true, false
88
88
  text 'You have 6 tries to guess a 5-letter word'
89
+ background :transparent if OS.windows?
89
90
  }
90
91
 
91
92
  word_guesser
@@ -176,7 +177,7 @@ class Wordle
176
177
 
177
178
  If you enter a letter that is part of the word, but at the wrong location, it becomes yellow.
178
179
 
179
- If you enter a letter that is not part of the word, it become red.
180
+ If you enter a letter that is not part of the word, it becomes red.
180
181
  MULTI_LINE_STRING
181
182
  }.open
182
183
  end
@@ -244,7 +245,7 @@ class Wordle
244
245
  line_width 2
245
246
  }
246
247
 
247
- @alphabet_letters << text(alphabet_character, :default, [:default, OS.linux? ? 5 : 0]) {
248
+ @alphabet_letters << text(alphabet_character, :default, [:default, OS.linux? ? 5 : (OS.windows? ? 1 : 0)]) {
248
249
  font alphabet_font
249
250
  }
250
251
  }
@@ -280,7 +281,7 @@ class Wordle
280
281
  line_width 2
281
282
  }
282
283
 
283
- @letters << text('', :default, [:default, OS.linux? ? 6 : 0]) {
284
+ @letters << text('', :default, [:default, OS.linux? ? 6 : (OS.windows? ? 1 : 0)]) {
284
285
  font letter_font
285
286
  }
286
287
  }
@@ -300,12 +301,16 @@ class Wordle
300
301
  end
301
302
 
302
303
  def do_backspace
303
- @letter = @letters.find {|letter| letter.string == ''}
304
- index = @letter ? [@letters.index(@letter) - 1, 0].max : 4
305
- @letter = @letters[index]
304
+ @letter = @letters[highlighted_letter_index]
305
+ if @letter.string != ''
306
+ index_to_delete = highlighted_letter_index
307
+ else
308
+ index_to_delete = [highlighted_letter_index - 1, 0].max
309
+ end
310
+ @letter = @letters[index_to_delete]
306
311
  @letter.string = ''
307
- @borders.each { |caret| caret.foreground = :gray}
308
- @borders[index].foreground = :title_background
312
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
313
+ @borders[index_to_delete].foreground = :title_background
309
314
  end
310
315
 
311
316
  def do_guess
@@ -355,20 +360,20 @@ class Wordle
355
360
  @letter = @letters[index]
356
361
  @letter.string = character.upcase
357
362
  if @letters.any? {|letter| letter.string == ''}
358
- @borders.each { |caret| caret.foreground = :gray}
363
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
359
364
  @borders[index == 4 ? 4 : index + 1].foreground = :title_background
360
365
  end
361
366
  end
362
367
 
363
368
  def do_left
364
369
  index = [highlighted_letter_index - 1, 0].max
365
- @borders.each { |caret| caret.foreground = :gray}
370
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
366
371
  @borders[index].foreground = :title_background
367
372
  end
368
373
 
369
374
  def do_right
370
375
  index = [highlighted_letter_index + 1, @letters.count - 1].min
371
- @borders.each { |caret| caret.foreground = :gray}
376
+ @borders.each { |caret| caret.foreground = :gray} # refactor this reusable code into a method that highlights the caret
372
377
  @borders[index].foreground = :title_background
373
378
  end
374
379
 
@@ -445,6 +450,7 @@ class Wordle
445
450
  editable false
446
451
  caret nil
447
452
  alignment :center
453
+ font name: 'Segoe UI Emoji' if OS.windows?
448
454
  text result
449
455
  }
450
456
  }
@@ -454,12 +460,14 @@ class Wordle
454
460
  def alphabet_font
455
461
  the_font = {style: :bold, height: 28}
456
462
  the_font.merge!(name: 'Helvetica', height: 21) if OS.linux?
463
+ the_font.merge!(name: 'Arial', height: 25) if OS.windows?
457
464
  the_font
458
465
  end
459
466
 
460
467
  def letter_font
461
468
  the_font = {style: :bold, height: 40}
462
469
  the_font.merge!(name: 'Helvetica', height: 30) if OS.linux?
470
+ the_font.merge!(name: 'Arial', height: 32) if OS.windows?
463
471
  the_font
464
472
  end
465
473
 
metadata CHANGED
@@ -1,29 +1,29 @@
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.5
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-10-18 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
- prerelease: false
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
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:
@@ -31,8 +31,8 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.3.6
33
33
  name: clipboard
34
- prerelease: false
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
@@ -45,8 +45,8 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: 3.5.0
47
47
  name: rspec
48
- prerelease: false
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
@@ -59,8 +59,8 @@ dependencies:
59
59
  - !ruby/object:Gem::Version
60
60
  version: 2.4.9
61
61
  name: juwelier
62
- prerelease: false
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
@@ -73,8 +73,8 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: 2.0.5
75
75
  name: warbler
76
- prerelease: false
77
76
  type: :development
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
@@ -87,8 +87,8 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  name: simplecov
90
- prerelease: false
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
@@ -119,7 +119,7 @@ files:
119
119
  - icons/macosx/Glimmer Wordle.icns
120
120
  - icons/windows/Glimmer Wordle.ico
121
121
  - vendor/jars/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar
122
- homepage: http://github.com/AndyObtiva/glimmer_wordle
122
+ homepage: https://github.com/AndyObtiva/glimmer_wordle
123
123
  licenses:
124
124
  - MIT
125
125
  metadata: {}
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  - !ruby/object:Gem::Version
142
142
  version: '0'
143
143
  requirements: []
144
- rubygems_version: 3.2.29
144
+ rubygems_version: 3.2.33
145
145
  signing_key:
146
146
  specification_version: 4
147
147
  summary: Glimmer Wordle - Word Game Desktop GUI App