Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 90 Antworten
und wurde 10.433 mal aufgerufen
 More languages
Seiten 1 | 2 | 3 | 4 | 5 | 6 | 7
Scotty Offline

Administrator


Beiträge: 3.814

15.09.2026 09:53
#61 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #57
Subtract => Substract

I fixed this now at all places around the code.

Zitat von Raman im Beitrag #57
If you give me permission...

Let's wait a bit longer and see if Linhart has an opinion. Otherwise, no objection.

Zitat von Raman im Beitrag #57
I believe the latest version 4 of Scrabble3D requires a lot of work

Absolutely. And I'm happy to fix the issues and add requirements. But a forum / chat is not good for tracking your and others input. I'd appreciate tickets on Github that I could then process one by one.

Zitat von Raman im Beitrag #57
change of bonus tiles to each of the squares are not immediately shown

Fixed this recently.

Zitat von Raman im Beitrag #58
☀ Showing definitions of words along with the words themselves in tooltip text whenever hovering mouse over words.

The tooltip should be shown, either if the word check mode is takeback/poll or after the game has ended.


Download: Version 4 | Help:Wiki | Discussion: Forum | News: Mastodon | Fanship: Facebook

Raman Offline




Beiträge: 231

15.09.2026 20:29
#62 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #61
A false friend, the German word is Substrahieren. I fixed this now at all places around the code.
Google Translate says it as Subtrahieren and not as Substrahieren. Anyway, you are a native German speaker and so I believe you would know better about it.
Zitat von Scotty im Beitrag #61
Absolutely. And I'm happy to fix the issues and add requirements. But a forum / chat is not good for tracking your and others input. I'd appreciate tickets on Github that I could then process one by one.
It looks like even Clabbers variant has not yet been implemented in the latest version 4 of Scrabble3D, although there is a check box for it in Configuration → Word Check that has been always disabled, actually at least only as of right now. You can first work on whatever features that had been in the earlier version 3.1 of Scrabble3D has not yet been implemented and later on I can create tickets on GitHub to fix any of remaining bugs afterwards.

By the way, does the latest version 4 of Scrabble3D use true random function for drawing of tiles from the bag or does it use some of mathematical function just like the earlier version 3.1 of Scrabble3D?

I am updating Maths dictionary to version 1.0.7, at least as of right now. I will update Tamil dictionary some time later as it requires more work by me.

Version 1.0.7 of math.dic file will have fractions integrated into it, upto denominator value of 20.

You have not yet answered by question about whether it will be possible to use 2 different letter sets for 2 different categories in the same dictionary file.

math.dic
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,.,!,^,²,³,√,∜,∛,⁴
Values=1,2,1,1,2,2,3,3,4,3,4,8,8,8,8,10,10,10,10,10,10,10,10,10
Counts=14,7,9,8,7,7,7,7,6,6,6,2,2,2,2,1,1,1,1,1,1,0,0,0

equate.dic
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,¹/₂,¹/₃,²/₃,¹/₄,³/₄,¹/₅,²/₅,³/₅,⁴/₅,¹/₆,⁵/₆,¹/₇,²/₇,³/₇,⁴/₇,⁵/₇,⁶/₇,¹/₈,³/₈,⁵/₈,⁷/₈,¹/₉,²/₉,⁴/₉,⁵/₉,⁷/₉,⁸/₉,¹/₁₀,³/₁₀,⁷/₁₀,⁹/₁₀,¹/₁₂,⁵/₁₂,⁷/₁₂,¹¹/₁₂
Values=1,2,1,1,2,2,3,3,4,3,4,4,3,3,4,5,6,6,5,5,8,8,8,8,7,7,10,10,10,10,10,10,8,8,8,8,10,10,10,10,10,10,9,9,9,9,9,9,9,9
Counts=36,8,10,9,8,8,8,8,7,7,7,6,12,12,6,4,2,2,2,2,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

I restrict the total number of equations in the latest version 1.0.7 of math.dic file to less than 10⁷. There are no equations with more than one mathematical operation. Without it also, there were 5611396 equations in the earlier version 1.0.6 of math.dic file.

Letter set with decimals need to be considered separately and letter set with fractions need to be considered separately. There are no equations combining both of them. If both of them would be combined together, then total number of equations in math.dic file will be around 10⁹, far beyond whatever Scrabble3D can handle even for smaller board sizes in a lesser amount of time. Even Scrabble3D will have hard time handling 10⁷ equations in larger board sizes in a lesser amount of time.

If both dictionaries are integrated and if all of categories have been enabled, then blanks can also wildly take the values of tiles from the other dictionary. This will not be possible if both of dictionaries have been kept separately from each other.

The latest version 4 of Scrabble3D does not even show number of words in loaded dictionary in Configuration → Dictionary as each of the categories in the loaded dictionary have been enabled.

Raman Offline




Beiträge: 231

16.09.2026 05:39
#63 RE: Math scrabble implemented Zitat · Antworten

I am working on a newer version of math.dic file.
I will share its link with you here tomorrow, after running some of the tests on it.

Scotty Offline

Administrator


Beiträge: 3.814

16.09.2026 09:01
#64 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #62
Google Translate says it as Subtrahieren

Google is right, I realized this yesterday too.

Zitat von Raman im Beitrag #62
By the way, does the latest version 4 of Scrabble3D use true random function for drawing of tiles from the bag or does it use some of mathematical function just like the earlier version 3.1 of Scrabble3D?

There is never true randomization with IT but v4 uses the default from the programming language while v3 was stripped-down.

Zitat von Raman im Beitrag #62
You have not yet answered by question about whether it will be possible to use 2 different letter sets for 2 different categories in the same dictionary file.

No, you cannot define Letters1=a,b,c Letter2=x,y,z in one file.

Zitat von Raman im Beitrag #62
The latest version 4 of Scrabble3D does not even show number of words in loaded dictionary in Configuration → Dictionary

I intentionally focus on the important functions and information. Showing the number of words is pointless for the user who loads a dictionary for playing.


Download: Version 4 | Help:Wiki | Discussion: Forum | News: Mastodon | Fanship: Facebook

Raman Offline




Beiträge: 231

17.09.2026 17:13
#65 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #64
I intentionally focus on the important functions and information. Showing the number of words is pointless for the user who loads a dictionary for playing.
Showing the number of words in dictionary is useful for players whoever create their newer innovative dictionaries by themselves, especially if it were updated as each of categories are either enabled or disabled. It will give information about whether number of words in each of the categories are correct and whether any of words are either missing or duplicated.

It will also help to check out whether Scrabble3D reads all of words in dictionary properly. Alternately, it can also be checked out by Configuration → Word Search, but it is only possible to edit the word there to find out the number corresponding to the word and it is not possible to edit the number there to find out the word corresponding to the number.
Zitat von Raman im Beitrag #58
Other things yet to be implemented in the latest version 4 of Scrabble3D include:
☀ Showing definitions of words along with the words themselves in tooltip text whenever hovering mouse over words.
☀ The tooltip text also needs to show word is Not Found whenever hovering mouse over non-dictionary words either before submitting them or after accepting them whenever submitting them.
To be complete, the tooltip text also needs to display the category corresponding to the each of the words, preferably with each of the words in new lines, whenever hovering the mouse over each of the played words on the board.

Anyway, it took some time for me to prepare and test the newer version 1.0.7 of math.dic. You can download it from this following link and update Maths dictionary in Scrabble3D with this latest version:
https://drive.google.com/file/d/1YpwJyVW...?usp=drive_link

It has fractions integrated into it, but none of the equations in this dictionary combine fractions with decimals as Scrabble3D will slow down when there are very large number of equations in the dictionary during loading and during computer play, even on smaller board sizes.

The earlier version 1.0.6 of Maths dictionary had 5611396 equations. The newer version 1.0.7 of Maths dictionary has 7973716 equations.

To test this dictionary by yourself, I suggest you to run demo with these 2 different letter sets:

1. On classic Scrabble board, with 2 blanks and with 10 tiles in rack.
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,.,!,^,²,³,√,∜,∛,⁴
Values=1,2,1,1,2,2,3,3,4,3,4,8,8,8,8,10,10,10,10,10,10,10,10,10
Counts=14,7,9,8,7,7,7,7,6,6,6,2,2,2,2,1,1,1,1,1,1,0,0,0

2. On Super Scrabble board, with 4 blanks and with 10 tiles in rack.
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,#,$,&,(,),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,%,:,@,*
Values=1,2,1,1,2,2,3,3,4,3,4,4,3,3,4,5,6,6,5,5,8,8,8,8,7,7,10,10,10,10,10,10,8,8,8,8,10,10,10,10,10,10,9,9,9,9,9,9,9,9
Counts=36,8,10,9,8,8,8,8,7,7,7,6,12,12,6,4,2,2,2,2,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

It looks like the demo feature is not yet implemented in the latest version 4.0 of Scrabble3D.
You will only be able to run demo in the earlier version 3.1 of Scrabble3D.
However, in the latest version 4.0 of Scrabble3D, as a human player, you will always be able to play against 1 or more of computer players and use the compute best move feature for the human player.

In the latest version 4.0 of Scrabble3D, it also looks like the multiplier below the letter distribution is not working properly, in Configuration → Letters.

The option of saving all of loaded words to a dictionary file, in sorted order, along with optional encryption of each of the dictionary words is also yet to be implemented.

The different designs that were available in the earlier version 3.1 of Scrabble3D, like Afghan design, earthgems design, plain design and simple design is also yet to be implemented.

By the way, I am giving more priority to updating of Maths dictionary to a newer version, at the first place, than to updating of Tamil dictionary to a newer version, because Maths dictionary can be used for play by players from all over the world and it is not just restricted only to speakers of any of particular language.

integrate.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
 
l = set(['⁼', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '−', '×', '÷', '+', '.', '!', '^', '²', '³', '√', '∜', '∛', '⁴'])
 
def gcd(a, b):
while b > 0:
(a, b) = (b, a % b)
return a
 
def cardbox(sentence):
highest = 0
for letter in sentence:
if letter not in l:
highest = max(highest, atoi[letter][1])
return highest
 
improper = lambda x, y, z: ((z * x) + y, z)
proper = lambda u, v: (u // v, u % v, v)
convert = lambda w: (str(w[0]) + itoa[(w[1], w[2])], itoa[(w[1], w[2])]) [w[0] == 0]
 
atoi = {}
itoa = {}
atoi['#'] = (1, 2)
atoi['$'] = (1, 3)
atoi['&'] = (2, 3)
atoi['('] = (1, 4)
atoi[')'] = (3, 4)
atoi['A'] = (1, 5)
atoi['B'] = (2, 5)
atoi['C'] = (3, 5)
atoi['D'] = (4, 5)
atoi['E'] = (1, 6)
atoi['F'] = (5, 6)
atoi['G'] = (1, 7)
atoi['H'] = (2, 7)
atoi['I'] = (3, 7)
atoi['J'] = (4, 7)
atoi['K'] = (5, 7)
atoi['L'] = (6, 7)
atoi['M'] = (1, 8)
atoi['N'] = (3, 8)
atoi['O'] = (5, 8)
atoi['P'] = (7, 8)
atoi['Q'] = (1, 9)
atoi['R'] = (2, 9)
atoi['S'] = (4, 9)
atoi['T'] = (5, 9)
atoi['U'] = (7, 9)
atoi['V'] = (8, 9)
atoi['W'] = (1, 10)
atoi['X'] = (3, 10)
atoi['Y'] = (7, 10)
atoi['Z'] = (9, 10)
atoi['¡'] = (1, 11)
atoi['¢'] = (2, 11)
atoi['£'] = (3, 11)
atoi['¤'] = (4, 11)
atoi['¥'] = (5, 11)
atoi['¦'] = (6, 11)
atoi['§'] = (7, 11)
atoi['¨'] = (8, 11)
atoi['©'] = (9, 11)
atoi['ª'] = (10, 11)
atoi['%'] = (1, 12)
atoi[':'] = (5, 12)
atoi['@'] = (7, 12)
atoi['*'] = (11, 12)
atoi['«'] = (1, 13)
atoi['¬'] = (2, 13)
atoi['-'] = (3, 13)
atoi['®'] = (4, 13)
atoi['¯'] = (5, 13)
atoi['°'] = (6, 13)
atoi['±'] = (7, 13)
atoi['´'] = (8, 13)
atoi['µ'] = (9, 13)
atoi['¶'] = (10, 13)
atoi['·'] = (11, 13)
atoi['¸'] = (12, 13)
atoi['º'] = (1, 14)
atoi['»'] = (3, 14)
atoi['¼'] = (5, 14)
atoi['½'] = (9, 14)
atoi['¾'] = (11, 14)
atoi['¿'] = (13, 14)
atoi['À'] = (1, 15)
atoi['Á'] = (2, 15)
atoi['Â'] = (4, 15)
atoi['Ã'] = (7, 15)
atoi['Ä'] = (8, 15)
atoi['Å'] = (11, 15)
atoi['Æ'] = (13, 15)
atoi['Ç'] = (14, 15)
atoi['È'] = (1, 16)
atoi['É'] = (3, 16)
atoi['Ê'] = (5, 16)
atoi['Ë'] = (7, 16)
atoi['Ì'] = (9, 16)
atoi['Í'] = (11, 16)
atoi['Î'] = (13, 16)
atoi['Ï'] = (15, 16)
atoi['Ð'] = (1, 17)
atoi['Ñ'] = (2, 17)
atoi['Ò'] = (3, 17)
atoi['Ó'] = (4, 17)
atoi['Ô'] = (5, 17)
atoi['Õ'] = (6, 17)
atoi['Ö'] = (7, 17)
atoi['Ø'] = (8, 17)
atoi['Ù'] = (9, 17)
atoi['Ú'] = (10, 17)
atoi['Û'] = (11, 17)
atoi['Ü'] = (12, 17)
atoi['Ý'] = (13, 17)
atoi['Þ'] = (14, 17)
atoi['ß'] = (15, 17)
atoi['А'] = (16, 17)
atoi['Б'] = (1, 18)
atoi['В'] = (5, 18)
atoi['Г'] = (7, 18)
atoi['Д'] = (11, 18)
atoi['Е'] = (13, 18)
atoi['Ё'] = (17, 18)
atoi['Ж'] = (1, 19)
atoi['З'] = (2, 19)
atoi['И'] = (3, 19)
atoi['Й'] = (4, 19)
atoi['К'] = (5, 19)
atoi['Л'] = (6, 19)
atoi['М'] = (7, 19)
atoi['Н'] = (8, 19)
atoi['О'] = (9, 19)
atoi['П'] = (10, 19)
atoi['Р'] = (11, 19)
atoi['С'] = (12, 19)
atoi['Т'] = (13, 19)
atoi['У'] = (14, 19)
atoi['Ф'] = (15, 19)
atoi['Х'] = (16, 19)
atoi['Ц'] = (17, 19)
atoi['Ч'] = (18, 19)
atoi['Ш'] = (1, 20)
atoi['Щ'] = (3, 20)
atoi['Ъ'] = (7, 20)
atoi['Ы'] = (9, 20)
atoi['Ь'] = (11, 20)
atoi['Э'] = (13, 20)
atoi['Ю'] = (17, 20)
atoi['Я'] = (19, 20)
for (key, value) in atoi.items():
itoa[value] = key
 
decimals = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\mathematic.dic', 'r', encoding = 'utf-8')
equations = {}
for i in range(32):
s = decimals.readline()
for line in decimals:
(equation, category) = line.split('=')
if category == '\n':
equations[equation] = 0
else:
equations[equation] = int(category[1:-1])
decimals.close()
 
fractions = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\fractions.dic', 'r', encoding = 'utf-8')
for j in range(145):
t = fractions.readline()
for item in fractions:
(word, bucket) = item.split('=')
if word not in equations:
if bucket == '\n':
equations[word.replace('­', '-')] = 19
else:
equations[word.replace('­', '-')] = 19 + int(bucket[1:-1])
fractions.close()
 
for whole in range(100):
for (character, number) in atoi.items():
mixed = (str(whole) + character, character) [whole == 0]
equations['0^' + mixed + '⁼0'] = 24
equations['0⁼0^' + mixed] = 24
equations[mixed + '^0⁼1'] = 24
equations['1⁼' + mixed + '^0'] = 24
equations['1^' + mixed + '⁼1'] = 24
equations['1⁼1^' + mixed] = 24
equations[mixed + '^1⁼' + mixed] = 24
equations[mixed + '⁼' + mixed + '^1'] = 24
 
for integer in range(1000):
for denominator in range(2, 5):
for numerator in range(1, denominator):
if gcd(numerator, denominator) > 1:
continue
numeral = (integer, numerator, denominator)
natural = improper(integer, numerator, denominator)
square = proper(natural[0] ** 2, natural[1] ** 2)
cube = proper(natural[0] ** 3, natural[1] ** 3)
tesseract = proper(natural[0] ** 4, natural[1] ** 4)
if len(str(numeral[0])) + len(str(square[0])) <= 10:
equations[convert(numeral) + '²⁼' + convert(square)] = 24
equations[convert(square) + '⁼' + convert(numeral) + '²'] = 24
equations['√' + convert(square) + '⁼' + convert(numeral)] = 25
equations[convert(numeral) + '⁼' + '√' + convert(square)] = 25
equations[convert(numeral) + '^2⁼' + convert(square)] = 24
equations[convert(square) + '⁼' + convert(numeral) + '^2'] = 24
equations[convert(square) + '^#⁼' + convert(numeral)] = 24
equations[convert(numeral) + '⁼' + convert(square) + '^#'] = 24
if len(str(numeral[0])) + len(str(cube[0])) <= 10 and cube[2] <= 20:
equations[convert(numeral) + '³⁼' + convert(cube)] = 24
equations[convert(cube) + '⁼' + convert(numeral) + '³'] = 24
equations['∛' + convert(cube) + '⁼' + convert(numeral)] = 25
equations[convert(numeral) + '⁼' + '∛' + convert(cube)] = 25
equations[convert(numeral) + '^3⁼' + convert(cube)] = 24
equations[convert(cube) + '⁼' + convert(numeral) + '^3'] = 24
equations[convert(cube) + '^$⁼' + convert(numeral)] = 24
equations[convert(numeral) + '⁼' + convert(cube) + '^$'] = 24
if len(str(numeral[0])) + len(str(tesseract[0])) <= 10 and tesseract[2] <= 20:
equations[convert(numeral) + '⁴⁼' + convert(tesseract)] = 24
equations[convert(tesseract) + '⁼' + convert(numeral) + '⁴'] = 24
equations['∜' + convert(tesseract) + '⁼' + convert(numeral)] = 25
equations[convert(numeral) + '⁼' + '∜' + convert(tesseract)] = 25
equations[convert(numeral) + '^4⁼' + convert(tesseract)] = 24
equations[convert(tesseract) + '⁼' + convert(numeral) + '^4'] = 24
equations[convert(tesseract) + '^(⁼' + convert(numeral)] = 24
equations[convert(numeral) + '⁼' + convert(tesseract) + '^('] = 24
if len(str(square[0])) + len(str(cube[0])) <= 10 and cube[2] <= 20:
equations[convert(square) + '^1#⁼' + convert(cube)] = 24
equations[convert(cube) + '⁼' + convert(square) + '^1#'] = 24
equations[convert(cube) + '^&⁼' + convert(square)] = 24
equations[convert(square) + '⁼' + convert(cube) + '^&'] = 24
if len(str(cube[0])) + len(str(tesseract[0])) <= 10 and cube[2] <= 20 and tesseract[2] <= 20:
equations[convert(cube) + '^1$⁼' + convert(tesseract)] = 24
equations[convert(tesseract) + '⁼' + convert(cube) + '^1$'] = 24
equations[convert(tesseract) + '^)⁼' + convert(cube)] = 24
equations[convert(cube) + '⁼' + convert(tesseract) + '^)'] = 24
 
for lower in range(2, 21):
for base in range(2, 1000):
upper = 0
while True:
upper += 1
if gcd(upper, lower) > 1:
continue
left = base ** lower
right = base ** upper
if len(str(left)) + len(str(right)) > 10:
break
equations[str(left) + '^' + convert(proper(upper, lower)) + '⁼' + str(right)] = 24
equations[str(right) + '⁼' + str(left) + '^' + convert(proper(upper, lower))] = 24
 
math = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\math.dic', 'w', encoding = 'utf-8')
 
math.write('[Header]\n')
math.write('Version=100007\n')
math.write('Author=Raman Viswanathan <raman22feb1988@gmail.com>\n')
math.write('StandardCategory=Equalities\n')
math.write('Licence=GNU General Public License, v3\n')
math.write('Release=18.09.26\n')
math.write('Comment=For best use have 10 letters on rack\\nThanks to Jouni Tolonen for the first version of this dictionary\n')
math.write('Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,.,!,^,²,³,√,∜,∛,⁴,#,$,&,(,),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,¡,¢,£,¤,¥,¦,§,¨,©,ª,%,:,@,*,«,¬,-,®,¯,°,±,´,µ,¶,·,¸,º,»,¼,½,¾,¿,À,Á,Â,Ã,Ä,Å,Æ,Ç,È,É,Ê,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,Ô,Õ,Ö,Ø,Ù,Ú,Û,Ü,Ý,Þ,ß,А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я\n')
math.write('Values=1,2,1,1,2,2,3,3,4,3,4,8,8,8,8,10,10,10,10,10,10,10,10,10,5,6,6,5,5,8,8,8,8,7,7,11,11,11,11,11,11,8,8,8,8,10,10,10,10,10,10,9,9,9,9,15,15,15,15,15,15,15,15,15,15,10,10,10,10,17,17,17,17,17,17,17,17,17,17,17,17,12,12,12,12,12,12,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,16,16,16,16,16,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,18,18,18,18,18,18,18\n')
math.write('Counts=14,7,9,8,7,7,7,7,6,6,6,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n')
math.write('Key=\n')
math.write('[Replace]\n')
math.write('#=¹/₂\n')
math.write('$=¹/₃\n')
math.write('&=²/₃\n')
math.write('(=¹/₄\n')
math.write(')=³/₄\n')
math.write('A=¹/₅\n')
math.write('B=²/₅\n')
math.write('C=³/₅\n')
math.write('D=⁴/₅\n')
math.write('E=¹/₆\n')
math.write('F=⁵/₆\n')
math.write('G=¹/₇\n')
math.write('H=²/₇\n')
math.write('I=³/₇\n')
math.write('J=⁴/₇\n')
math.write('K=⁵/₇\n')
math.write('L=⁶/₇\n')
math.write('M=¹/₈\n')
math.write('N=³/₈\n')
math.write('O=⁵/₈\n')
math.write('P=⁷/₈\n')
math.write('Q=¹/₉\n')
math.write('R=²/₉\n')
math.write('S=⁴/₉\n')
math.write('T=⁵/₉\n')
math.write('U=⁷/₉\n')
math.write('V=⁸/₉\n')
math.write('W=¹/₁₀\n')
math.write('X=³/₁₀\n')
math.write('Y=⁷/₁₀\n')
math.write('Z=⁹/₁₀\n')
math.write('¡=¹/₁₁\n')
math.write('¢=²/₁₁\n')
math.write('£=³/₁₁\n')
math.write('¤=⁴/₁₁\n')
math.write('¥=⁵/₁₁\n')
math.write('¦=⁶/₁₁\n')
math.write('§=⁷/₁₁\n')
math.write('¨=⁸/₁₁\n')
math.write('©=⁹/₁₁\n')
math.write('ª=¹⁰/₁₁\n')
math.write('%=¹/₁₂\n')
math.write(':=⁵/₁₂\n')
math.write('@=⁷/₁₂\n')
math.write('*=¹¹/₁₂\n')
math.write('«=¹/₁₃\n')
math.write('¬=²/₁₃\n')
math.write('-=³/₁₃\n')
math.write('®=⁴/₁₃\n')
math.write('¯=⁵/₁₃\n')
math.write('°=⁶/₁₃\n')
math.write('±=⁷/₁₃\n')
math.write('´=⁸/₁₃\n')
math.write('µ=⁹/₁₃\n')
math.write('¶=¹⁰/₁₃\n')
math.write('·=¹¹/₁₃\n')
math.write('¸=¹²/₁₃\n')
math.write('º=¹/₁₄\n')
math.write('»=³/₁₄\n')
math.write('¼=⁵/₁₄\n')
math.write('½=⁹/₁₄\n')
math.write('¾=¹¹/₁₄\n')
math.write('¿=¹³/₁₄\n')
math.write('À=¹/₁₅\n')
math.write('Á=²/₁₅\n')
math.write('Â=⁴/₁₅\n')
math.write('Ã=⁷/₁₅\n')
math.write('Ä=⁸/₁₅\n')
math.write('Å=¹¹/₁₅\n')
math.write('Æ=¹³/₁₅\n')
math.write('Ç=¹⁴/₁₅\n')
math.write('È=¹/₁₆\n')
math.write('É=³/₁₆\n')
math.write('Ê=⁵/₁₆\n')
math.write('Ë=⁷/₁₆\n')
math.write('Ì=⁹/₁₆\n')
math.write('Í=¹¹/₁₆\n')
math.write('Î=¹³/₁₆\n')
math.write('Ï=¹⁵/₁₆\n')
math.write('Ð=¹/₁₇\n')
math.write('Ñ=²/₁₇\n')
math.write('Ò=³/₁₇\n')
math.write('Ó=⁴/₁₇\n')
math.write('Ô=⁵/₁₇\n')
math.write('Õ=⁶/₁₇\n')
math.write('Ö=⁷/₁₇\n')
math.write('Ø=⁸/₁₇\n')
math.write('Ù=⁹/₁₇\n')
math.write('Ú=¹⁰/₁₇\n')
math.write('Û=¹¹/₁₇\n')
math.write('Ü=¹²/₁₇\n')
math.write('Ý=¹³/₁₇\n')
math.write('Þ=¹⁴/₁₇\n')
math.write('ß=¹⁵/₁₇\n')
math.write('А=¹⁶/₁₇\n')
math.write('Б=¹/₁₈\n')
math.write('В=⁵/₁₈\n')
math.write('Г=⁷/₁₈\n')
math.write('Д=¹¹/₁₈\n')
math.write('Е=¹³/₁₈\n')
math.write('Ё=¹⁷/₁₈\n')
math.write('Ж=¹/₁₉\n')
math.write('З=²/₁₉\n')
math.write('И=³/₁₉\n')
math.write('Й=⁴/₁₉\n')
math.write('К=⁵/₁₉\n')
math.write('Л=⁶/₁₉\n')
math.write('М=⁷/₁₉\n')
math.write('Н=⁸/₁₉\n')
math.write('О=⁹/₁₉\n')
math.write('П=¹⁰/₁₉\n')
math.write('Р=¹¹/₁₉\n')
math.write('С=¹²/₁₉\n')
math.write('Т=¹³/₁₉\n')
math.write('У=¹⁴/₁₉\n')
math.write('Ф=¹⁵/₁₉\n')
math.write('Х=¹⁶/₁₉\n')
math.write('Ц=¹⁷/₁₉\n')
math.write('Ч=¹⁸/₁₉\n')
math.write('Ш=¹/₂₀\n')
math.write('Щ=³/₂₀\n')
math.write('Ъ=⁷/₂₀\n')
math.write('Ы=⁹/₂₀\n')
math.write('Ь=¹¹/₂₀\n')
math.write('Э=¹³/₂₀\n')
math.write('Ю=¹⁷/₂₀\n')
math.write('Я=¹⁹/₂₀\n')
math.write('[Categories]\n')
math.write('1=Addition length ≤ 9\n')
math.write('2=Addition length 10\n')
math.write('3=Addition length 11\n')
math.write('4=Subtraction length ≤ 9\n')
math.write('5=Subtraction length 10\n')
math.write('6=Subtraction length 11\n')
math.write('7=Multiplication length ≤ 10\n')
math.write('8=Multiplication length 11\n')
math.write('9=Multiplication length 12\n')
math.write('10=Division length ≤ 10\n')
math.write('11=Division length 11\n')
math.write('12=Division length 12\n')
math.write('13=Exponentiation\n')
math.write('14=Roots\n')
math.write('15=Factorial\n')
math.write('16=Decimals length ≤ 10\n')
math.write('17=Decimals length 11\n')
math.write('18=Decimals length 12\n')
math.write('19=Fractions equalities\n')
math.write('20=Fractions addition\n')
math.write('21=Fractions subtraction\n')
math.write('22=Fractions multiplication\n')
math.write('23=Fractions division\n')
math.write('24=Fractions exponentiation\n')
math.write('25=Fractions roots\n')
math.write('[Words]\n')
 
for thing in sorted(equations.keys()):
bin = equations[thing]
math.write(thing + ('=;' + str(bin) + '\n', '\n') [bin == 0])
 
math.close()
 

Raman Offline




Beiträge: 231

18.09.2026 02:56
#66 RE: Math scrabble implemented Zitat · Antworten

By the way, on classic Scrabble board, along with the 100 tiles that are defined without fractions, for thrill, I can add a few tiles at random, which includes fractions, in which the few random tiles are evenly distributed, but not prioritizing the letters with 0 count.

But, it looks like the latest version 4 of Scrabble3D picks random tiles only from letters that have at least 1 count, but not from any of letters that have 0 count. Actually, if I don't want any of random tiles from any of letters that have 0 count, then I can completely remove it from the letter distribution table. If I define any of letters that have 0 count in the letter distribution table, then random tiles also need to be picked up from them.

Raman Offline




Beiträge: 231

18.09.2026 06:35
#67 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #61
Let's wait a bit longer and see if Linhart has an opinion. Otherwise, no objection.
By the way, how long do you expect us to wait for Linhart? It looks unlikely that he will be back in this Scrabble3D forum once again.

By the way, even in network games, if I start a new game with someone else with my own created dictionary, say csw2024.dic, then it looks like Scrabble3D does not share the dictionary from my device to other players. Instead, it searches the GitHub repository for the exact same file name and if Scrabble3D does not find out that file there, then the other player will eventually end up in playing without my dictionary getting loaded and so, it will ultimately lead to both of players having to confirm all of other player's valid moves being played. If Scrabble3D insteads finds out an older version of that file there, then the other player will eventually end up in playing with an older version of the dictionary whatever that will be available from the GitHub repository.

Scotty Offline

Administrator


Beiträge: 3.814

18.09.2026 08:41
#68 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #67
By the way, how long do you expect us to wait for Linhart?

Go ahead and take over the maintainership for English.

Zitat von Raman im Beitrag #67
it looks like Scrabble3D does not share the dictionary from my device to other players.

Would be way too much traffic. So far no official game was run via Scrabble3D and ultimate consistency was not needed (remember that adding/deleting words is always possible).


Download: Version 4 | Help:Wiki | Discussion: Forum | News: Mastodon | Fanship: Facebook

Scotty Offline

Administrator


Beiträge: 3.814

18.09.2026 09:01
#69 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #65
You can download it from this following link and update Maths dictionary in Scrabble3D with this latest version

/done

With so many different symbols resp. letters a reasonable game requires >100 tiles in the bag and consequently a larger board than Classic.


Download: Version 4 | Help:Wiki | Discussion: Forum | News: Mastodon | Fanship: Facebook

Raman Offline




Beiträge: 231

18.09.2026 13:24
#70 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #69
/done

With so many different symbols resp. letters a reasonable game requires >100 tiles in the bag and consequently a larger board than Classic.
Does running of both of the letter distributions that I had mentioned above work out fine for you?

I believe that the 100 tile distribution without fractions is the primary tile distribution along the lines of the first version of the Maths dictionary whatever that had been contributed by Jouni Tolonen. The fractions are all secondary and players whoever would be interested in playing with them will always be able to edit them to non-zero values from the tile distribution.

But, if there are so many different symbols in my newer version 1.0.7 of Maths dictionary, then do you really want a 200 letter distribution with fractions as the letter set that would be defined in the math.dic file? Most of players would prefer simple games with 100 tiles and would find out fractions to be too complicated for them to play any of their games with. The fractions are only for those of players whoever would be curious to play any of their games with them.

Here is the optimal 200 tile distribution for my newer version 1.0.7 of Maths dictionary with fractions, also including with all of the symbols with 0 count, too:
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,.,!,^,²,³,√,∜,∛,⁴,#,$,&,(,),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,¡,¢,£,¤,¥,¦,§,¨,©,ª,%,:,@,*,«,¬,-,®,¯,°,±,´,µ,¶,·,¸,º,»,¼,½,¾,¿,À,Á,Â,Ã,Ä,Å,Æ,Ç,È,É,Ê,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,Ô,Õ,Ö,Ø,Ù,Ú,Û,Ü,Ý,Þ,ß,А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я
Values=1,2,1,1,2,2,3,3,4,3,4,4,3,3,4,11,11,5,6,8,10,6,8,10,5,6,6,5,5,8,8,8,8,7,7,10,10,10,10,10,10,8,8,8,8,10,10,10,10,10,10,9,9,9,9,15,15,15,15,15,15,15,15,15,15,9,9,9,9,17,17,17,17,17,17,17,17,17,17,17,17,12,12,12,12,12,12,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,16,16,16,16,16,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,18,18,18,18,18,18,18
Counts=36,8,10,9,8,8,8,8,7,7,7,6,12,12,6,0,0,0,0,0,0,0,0,0,4,2,2,2,2,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Here is the optimal 100 tile distribution, that I had already originally attached with math.dic file, that has already been uploaded into the GitHub Repository for Scrabble3D, as of right now, for my newer version 1.0.7 of Maths dictionary without fractions, also including with all of symbols with 0 count, too:
Letters=⁼,0,1,2,3,4,5,6,7,8,9,−,×,÷,+,.,!,^,²,³,√,∜,∛,⁴,#,$,&,(,),A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,¡,¢,£,¤,¥,¦,§,¨,©,ª,%,:,@,*,«,¬,-,®,¯,°,±,´,µ,¶,·,¸,º,»,¼,½,¾,¿,À,Á,Â,Ã,Ä,Å,Æ,Ç,È,É,Ê,Ë,Ì,Í,Î,Ï,Ð,Ñ,Ò,Ó,Ô,Õ,Ö,Ø,Ù,Ú,Û,Ü,Ý,Þ,ß,А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я
Values=1,2,1,1,2,2,3,3,4,3,4,8,8,8,8,10,10,10,10,10,10,10,10,10,5,6,6,5,5,8,8,8,8,7,7,11,11,11,11,11,11,8,8,8,8,10,10,10,10,10,10,9,9,9,9,15,15,15,15,15,15,15,15,15,15,10,10,10,10,17,17,17,17,17,17,17,17,17,17,17,17,12,12,12,12,12,12,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,16,16,16,16,16,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,18,18,18,18,18,18,18
Counts=14,7,9,8,7,7,7,7,6,6,6,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Raman Offline




Beiträge: 231

18.09.2026 15:09
#71 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #70
I believe that the 100 tile distribution without fractions is the primary tile distribution along the lines of the first version of the Maths dictionary whatever that had been contributed by Jouni Tolonen. The fractions are all secondary and players whoever would be interested in playing with them will always be able to edit them to non-zero values from the tile distribution.
Although that I have replaced it with a number heavy 100 tile distribution in my latest version 1.0.7 of Maths dictionary, which would certainly encourage players to form longer maths equations.

70% of all of tiles are numbers in the tile distribution that has been defined in my newer version 1.0.7 of Maths dictionary, than whenever that is compared to 60% of all of tiles in the tile distribution that had been defined in my earlier version 1.0.6 of Maths dictionary.
Zitat von Scotty im Beitrag #68
Go ahead and take over the maintainership for English.
Sure. I will update English dictionary and also English phonetic dictionary, if you would also be fine with it, some of time sooner, next, after some of my thoughts on it and some of my tests on it.

Raman Offline




Beiträge: 231

19.09.2026 06:05
#72 RE: Math scrabble implemented Zitat · Antworten

By the way, these are some of features that are present neither in earlier version 3.1 of Scrabble3D nor in latest version 4 of Scrabble3D:

Tamil Scrabble is best played with 2 racks, one for plastic tiles (a total of 90) with 8 tiles in this rack for vowels and for consonants and another for glass tiles (a total of 65) with 6 tiles in this rack for vowel signs to be placed on top of them. At most one glass tile can be placed on top of each of plastic tiles. For each turn, each of players can use at most one of blank tile that is made of glass (a total of 25) that can stand either for vowel or for consonant or for vowel sign or for a combo of consonant and vowel sign.

Plastic tiles:
☀ 1 point: அ ×1, இ ×1, எ ×1, க ×5, ச ×5, ட ×5, த ×5, ப ×5, ம ×5, ய ×5, ர ×5, ல ×5, வ ×5, ன ×5
☀ 2 points: ஆ ×1, உ ×1, ஒ ×1, ண ×4, ந ×4, ள ×4, ற ×4
☀ 3 points: ஊ ×1, ஏ ×1, ஓ ×1
☀ 4 points: ஈ ×1, ஐ ×1, ங ×2, ஞ ×2, ழ ×2
☀ 8 points: ஔ ×1
☀ 10 points: ஃ ×1

Glass tiles:
25 blank tiles (scoring 0 points)
☀ 1 point: ் ×16
☀ 2 points: ா ×8, ி ×8, ு ×6
☀ 3 points: ீ ×3, ூ ×4, ெ ×4, ே ×4, ை ×4
☀ 4 points: ொ ×3, ோ ×3
☀ 6 points: ௌ ×2
Plastic tiles:
☀ 1 point: அ ×1, இ ×1, எ ×1, க ×9, ச ×5, ட ×6, த ×9, ப ×7, ம ×8, ய ×3, ர ×6, ல ×5, வ ×5, ன ×3
☀ 2 points: ஆ ×1, உ ×1, ஒ ×1, ண ×2, ந ×2, ள ×2, ற ×2
☀ 3 points: ஊ ×1, ஏ ×1, ஓ ×1
☀ 4 points: ஈ ×1, ஐ ×1, ங ×1, ஞ ×1, ழ ×1
☀ 8 points: ஔ ×1
☀ 10 points: ஃ ×1

Glass tiles:
25 blank tiles (scoring 0 points)
☀ 1 point: ் ×20
☀ 2 points: ா ×7, ி ×10, ு ×10
☀ 3 points: ீ ×2, ூ ×2, ெ ×2, ே ×2, ை ×5
☀ 4 points: ொ ×2, ோ ×2
☀ 6 points: ௌ ×1
Similarly, for Maths Scrabble, it would certainly be good if the computer player parses and validates every Maths equation whenever playing them, instead of reading from dictionary. This would certainly encourage the computer player to form longer Maths equations and those with more than one mathematical operator.

In Maths Scrabble, it would also certainly be good if there were separate racks for digits, for operators and for =.
Zitat von Raman im Beitrag #71
Sure. I will update English dictionary and also English phonetic dictionary, if you would also be fine with it, some of time sooner, next, after some of my thoughts on it and some of my tests on it.
So, I will be posting here the links to newer versions of English dictionary and of English phonetic dictionary within another 24 hours. Please stay tuned!

Raman Offline




Beiträge: 231

20.09.2026 09:00
#73 RE: Math scrabble implemented Zitat · Antworten

In the latest version 4 of Scrabble3D,
☀ I think that the application automatically checks for any of updates once whenever the application has been loaded. The feature to check manually for any of updates at any of time whenever the application is running is yet to be implemented.
☀ If there are any of commas in any of the categories, then that entire category name is not getting displayed in Configuration → Dictionary. If there are any of semicolons in any of the categories, then any of characters after the semicolon in that category name is not getting displayed in Configuration → Dictionary.
☀ It is only possible to enter uppercase letters in Word in Search tab in Configuration → Word Search and in Pattern in Pattern tab in Configuration → Word Search. Any of lowercase letters entered there are automatically converted to uppercase letters. So, for a dictionary like the English phonetic dictionary which exclusively uses lowercase letters for each of its words, it is impossible to check out by using Configuration → Word Search whether any of words are present in this dictionary or not.

Please find my newer version 1.0.7 of the English dictionary here:
https://drive.google.com/file/d/1GlANfG1...?usp=drive_link
So, this dictionary combines CSW2024 word list and NWL2023 word list. There are also other of the word lists like Common English Lexicon 2021 (CEL2021), NASPA School Word List and the Wfind tool in Mathematical Recreations in https://wims.univ-cotedazur.fr. But, adding too many of categories would cause confusion to some of the players whenever they would want to enable all of the correct categories that they would want in any of games that they would be starting with that they would want to play. So, I am just leaving with the 2 of the word lists, CSW2024 and NWL2023 which are used for all of the rated tournaments all around the world. Players will also always be able to create their own dictionaries by using themselves, just if they would want to play with any of the other of the English word lists.

I have also added with all of the words which are longer than 15 letters in length from the CSW long word list, from the NWL long word list and from the CEL long word list which have been taken from https://github.com/Fj00 and from https://github.com/grubbcc/longlist.

I have also added with the 200 tile Super Scrabble letter distribution just for loading it easily. You can either remove it completely or change it to the 100 tile classic Scrabble letter distribution if you would want to. The 100 tile classic Scrabble letter distribution can always be easily loaded by any of the players themselves from the Letter Set dropdown combo box from Configuration → Letters.

I have also put neither with my name nor with Johann Linhart's name in it. Instead, I have just put with HarperCollins Publishers Limited's name, with Twilight Century Computing's name and with North American Scrabble Players' Association's name in it. You can put with my name and with my e-mail address (which you can find out from math.dic file that I had already shared with you earlier), if this dictionary really deserves them.

So, my newer version 1.0.7 of the English dictionary contains a total of 305824 words, than whenever it is compared to a total of 267750 words in Johann Linhart's earlier version 1.0.6 of the English dictionary.

english.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
csw2024 = {}
csw24 = open('C:\\Users\\raman\\Documents\\GitHub\\FastWordQuiz\\app\\src\\main\\assets\\CSW24.txt', 'r', encoding = 'utf-8')
for line in csw24:
index = line.find('=')
(word, meaning) = (line[:index], line[index+1:-1])
csw2024[word] = (meaning.replace(';', '¸')).replace('=', '⁼')
csw24.close()
nwl2023 = {}
nwl23 = open('C:\\Users\\raman\\Documents\\GitHub\\FastWordQuiz\\app\\src\\main\\assets\\NWL23.txt', 'r', encoding = 'utf-8')
for item in nwl23:
(synonym, definition) = item.split('=')
nwl2023[synonym] = definition[:-1]
nwl23.close()
words = {}
for (key, value) in csw2024.items():
if key in nwl2023:
words[key] = value + '\n'
else:
words[key] = value + ';1\n'
for (first, second) in nwl2023.items():
if first not in csw2024:
words[first] = second + ';2\n'
english = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\english.dic', 'w', encoding = 'utf-8')
element = sorted(words.keys())
english.write('[Header]\n')
english.write('Version=100007\n')
english.write('Author=HarperCollins Publishers Limited, Twilight Century Computing and North American Scrabble Players\' Association\n')
english.write('StandardCategory=Words common to CSW2024 and NWL2023\n')
english.write('Licence=GNU General Public License, v3\n')
english.write('Release=20.09.26\n')
english.write('Comment=This dictionary is based on the CSW2024 (SOWPODS) and NWL2023 lists which were delivered with Collins Zyzzyva 24.0 (https://scrabble.collinsdictionary.com/tools) and NASPA Zyzzyva 3.5.0 (https://www.scrabbleplayers.org/w/NASPA_Zyzzyva_Download)\n')
english.write('Letters=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z\n')
english.write('Values=1,3,3,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10\n')
english.write('Counts=16,4,6,8,24,4,5,5,13,2,2,7,6,13,15,4,2,13,10,15,7,3,4,2,4,2\n')
english.write('Key=\n')
english.write('[Replace]\n')
english.write('[Categories]\n')
english.write('1=Words specific to CSW2024\n')
english.write('2=Words specific to NWL2023\n')
english.write('[Words]\n')
for thing in element:
if words[thing] == '\n':
english.write(thing + '\n')
else:
english.write(thing + '=' + words[thing])
english.close()
 

Please find my newer version 1.0.3 of the English phonetic dictionary here:
https://drive.google.com/file/d/1pOCQqo1...?usp=drive_link
I have added words with 7 digraphs: aɪ, eɪ, ɔɪ, aʊ, oʊ, tʃ and dʒ.
I have also added with the 100 tile classic Scrabble letter distribution without any of digraphs just for loading it easily, with a 0 count for each of the above mentioned 7 digraphs, which can also be easily modified to a non-zero count by any of the players themselves at their wish from Configuration → Letters before starting with any of the games they want to play.

I have also not put with my name in it. Instead, I have just left with Steve Neuenhahn's name in it. You can put with my name and with my e-mail address (which you can find out from math.dic file that I had already shared with you earlier), if this dictionary really deserves them.

So, my newer version 1.0.3 of the English phonetic dictionary contains a total of 78090 words, than whenever it is compared to a total of 50675 words in Steve Neuenhahn's earlier version 1.0.2 of the English phonetic dictionary.
phonetic.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
d = {1: 'aɪ', 2: 'eɪ', 3: 'ɔɪ', 4: 'aʊ', 5: 'oʊ', 6: 'tʃ', 7: 'dʒ'}
 
def branches(word, branch):
if len(word) == 0:
return branch
else:
l = []
ascii = ord(word[0])
if ascii >= 49 and ascii <= 55:
for item in branch:
l.append(item + word[0])
l.append(item + d[int(word[0])])
else:
for item in branch:
l.append(item + word[0])
return branches(word[1:], l)
 
cmu_pronouncing = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\cmu_pronouncing.dic', 'r', encoding = 'utf-8')
cmu = {}
for i in range(17):
s = cmu_pronouncing.readline()
for line in cmu_pronouncing:
(words, definition) = line.split('=')
cmu[words.replace('ɹ', 'r')] = definition[:-1]
cmu_pronouncing.close()
 
ultimate = {}
for (key, value) in cmu.items():
for thing in branches(key, ['']):
ultimate[thing] = value
 
ipa_english = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\ipa_english.dic', 'r', encoding = 'utf-8')
ipa = {}
for j in range(19):
t = ipa_english.readline()
for sentence in ipa_english:
(phoneme, meaning) = sentence.split('=')
ipa[phoneme] = meaning[:-1]
ipa_english.close()
 
print(len(ipa))
print(len(ultimate))
print()
 
for element in ultimate:
if element not in ipa:
print(element)
'''
phonetic = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\phonetic.dic', 'r', encoding = 'utf-8')
frequency = {}
total = 0
for k in range(19):
u = phonetic.readline()
for object in phonetic:
(first, second) = object.split('=')
for letter in first:
total += 1
if letter in frequency:
frequency[letter] += 1
else:
frequency[letter] = 1
phonetic.close()
for (left, right) in frequency.items():
if ord(left) >= 49 and ord(left) <= 55:
print(d[int(left)] + ' ' + str((right * 100.0) / total))
else:
print(left + ' ' + str((right * 100.0) / total))
 
english_phoneme = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\english_phoneme.dic', 'r', encoding = 'utf-8')
english_phonetic = open('C:\\Users\\raman\\AppData\\Local\\Scrabble3D\\4\\english_phonetic.dic', 'w', encoding = 'utf-8')
hash = {}
for m in range(25):
v = english_phoneme.readline()
english_phonetic.write(v)
for n in english_phoneme:
(alpha, beta) = n.split('=')
hash[alpha] = beta
w = sorted(hash.keys())
for p in w:
english_phonetic.write(p + '=' + hash[p])
english_phonetic.close()
english_phoneme.close()
'''
 

Raman Offline




Beiträge: 231

20.09.2026 19:15
#74 RE: Math scrabble implemented Zitat · Antworten

By the way, when will the next release of Scrabble3D that is written in Qt6 / Qml likely be?

In the latest version 4 of Scrabble3D, it is impossible to change letter distribution and points for each letter directly from the letter distribution table from Configuration → Letters. May be it works out properly for you, but it does not work out properly for me. I am using Microsoft Windows 11 as my operating system at least as of right now. You may fix it before the next release.

Zitat von Scotty im Beitrag #61
Absolutely. And I'm happy to fix the issues and add requirements. But a forum / chat is not good for tracking your and others input. I'd appreciate tickets on Github that I could then process one by one.
If I create a GitHub ticket for adding a plenty of fun bonus squares as in the Anadrome website, then I wonder whether you will be really be interested in adding off of with all of them? The Anadrome website had been the most interesting word game website that I had ever played during the last 1½ years. I am missing it very much as of right now once whenever that website had been shut down on 7th August 2026.

Playing with a plenty of fun bonus squares and scores of plenty of digits in the Anadrome website had been a lot of fun than playing with different dictionaries and with different newer symbols in Maths. Blank tiles will have to be removed completely as they are worth 0 points each, as by placing any of them on a power bonus tile followed by a 0 bonus tile (0 bonus tile being the 1st letter of the entire word, if blank tile that is placed on power bonus tile is the last letter of the entire word and 0 bonus tile being the next letter of the entire word, otherwise.), will eventually lead to an indeterminate score of 0⁰.

It will be certainly be good enough for me to share my fun experience in the Anadrome website with everyone else in the world, once whenever that website had been shut down on 7th August 2026.

The Anadrome website had been completely inventory oriented, that is any of the players will be provided with 225 of regular bonus tiles whenever they initially register. To create newer boards with different types of bonus tiles, any of players will have to earn the necessary number of bonus tiles, by playing necessary number of games that had already existed previously in the Anadrome website. Only 2 players will be able to play a game in the Anadrome website. For human games, only the winner of the played game will be awarded with all of bonus tiles that had been played on in that game. Alternately, anyone can play games against Lux (bot) and they will be always be able to earn with all of bonus tiles that had been played on in that game, no matter whether winning or losing.

Not more than 100 games can be in progress at any one of period of time in the Anadrome website. Once 100 games are in progress for any of the players, that player cannot create newer games either against other of human players or against Lux (bot), but other of players will always be able to send newer game invitations to that of player. 20 days per move is the time limit, after which any of the played games will be lost for the player whoever abandons that of played game. If multiple players had been active in the Anadrome website simultaneously competing to take their turns against Lux (bot), then they will need to share their time equally against Lux (bot). But, for the last 1½ years, I had actually been the only active player there and I had been using most of Lux (bot)'s time. 50 games for a player at any one of period of time will be visible. Even Lux (bot) will actually take its turns only for the latest played 50 games that will be visible to it on the top of the list and if it has got any of its turns other than it, then any of existing games in play will have to be completed in order to make any of them to be active enough.

Newer auto-incrementing game number as URL had be created for each of newer games that had been created in the Anadrome website. Also that turn by turn scores had been visible and turn number had also been stored as an auto-incrementing number that had been a continuation from turn numbers in all of games that had already been played in the Anadrome website.




It will be actually interesting to add off of with all of the plenty of fun bonus squares in either an established website either like Woogles or like Internet Scrabble Club or an established PC application like Scrabble3D, in which conventional game play implementations against other of human players either offline or online and against other of computer players have already been made, rather than, instead of, either creating with my own website out of them or creating with my own mobile app out of them.

Any of website that will be similar to the Anadrome website will be unlikely to get popular enough as a conventional Scrabble website as most of players will actually prefer simple games and neither game plays with larger board sizes with a plenty of tiles nor game plays with scores of a plenty of digits. By the way, only computer can actually effectively calculate with scores with a plenty of digits either offline or online and not human players in any of physical games.

Also that the mobile apps Fast Word Study and Fast Word Quiz that I have already created and uploaded to Google Play Store will be of interest to all of English Scrabble players in order to excel in physical tournaments that are being played all around the world. On the other hand, I wonder how many of conventional Scrabble players will be really be interested to play their of own games with all of the plenty of fun bonus squares that had already been available in the Anadrome website.

After actually playing off of with my own games in the Anadrome website with 41 of the plenty of fun bonus squares for the last 1½ years, I actually really find out playing off of with my own conventional Scrabble games only with a fewer enough bonus squares (Double Letter Score, Triple Letter Score, Quadruple Letter Score, Double Word Score, Triple Word Score And Quadruple Word Score) either in any of the active websites as of right now or in any of the active mobile apps as of right now to be very much boring enough.

Raman Offline




Beiträge: 231

21.09.2026 08:07
#75 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #74
Also that the mobile apps Fast Word Study and Fast Word Quiz that I have already created and uploaded to Google Play Store will be of interest to all of English Scrabble players in order to excel in physical tournaments that are being played all around the world. On the other hand, I wonder how many of conventional Scrabble players will be really be interested to play their of own games with all of the plenty of fun bonus squares that had already been available in the Anadrome website.
And also that the mobile apps Fast Word Study and Fast Word Quiz that I have already created and already uploaded to Google Play Store have been designed to learn newer words instead of playing games in any of one of the existing Scrabble software, either in any of the websites either like the Woogles website or like the Internet Scrabble Club website or like the now defunct Anadrome website or in any of the mobile apps either like Scrabble Go or like Words With Friends or like Aworded (Angry Words) or in any of the PC applications either like Scrabble3D or like Runecraft Scrabble or like Electronic Arts Scrabble fairly with my existing knowledge.

Just in any of case if you had missed out my previously posted forum message, simply, then:
Here is the link to my newer version 1.0.7 of the English dictionary:
https://drive.google.com/file/d/1GlANfG1...?usp=drive_link

Here is the link to my newer version 1.0.3 of the English phonetic dictionary:
https://drive.google.com/file/d/1pOCQqo1...?usp=drive_link

Furthermore of details about both of them are in the post number 73 that which I had already written as above, in this very forum thread.

By the way, I added my forum signature newly about my Fast Word Study mobile app and about my Fast Word Quiz mobile app that I have already created and already uploaded to Google Play Store. It looks like that it will be actually be reflected only in all of my future forum posts, but not in any of my past forum posts. And also that if it were to be removed completely from my own forum profile page, then it does not disappear completely from my own forum posts that which had been posted at the time whenever it had been there, but actually only from my own future forum posts.

It also has got no preview in my own profile editing page, but actually only after my own forum post and if not, actually, thankfully enough, at least after a preview of my own forum post.

Also that in the latest version 4 of Scrabble3D, for some of reason, previously saved games do not get load properly if I click on any of previously played turns in the Game Course. Also that, for some of reason, tiles in the rack for both of the players do not show up properly if I click on any of previously played turns, in any of the previously saved games.

Also that in the latest version 4 of Scrabble3D, at least in Microsoft Windows 11 as operating system, taking Print Screen for a screenshot capture does not work out at all whenever Scrabble3D has been running up, but only whenever minimizing it completely, taking Print Screen for a screenshot capture and then maximizing it back once again.

Also that if you would want to, then you can share a post on different Scrabble3D social media platforms that Maths dictionary has been updated to newer version 1.0.7 and it has added support for all of irreducible fractions that which are in between the values of 0 and 1 and at least upto the denominator value of 20 as of right now, along with a fewer enough of attached board images as well:
Maths Scrabble without fractions:


Maths Scrabble with fractions:


Fast Word Study: Google Play Store and Indus App Store | Fast Word Quiz: Google Play Store and Indus App Store

Seiten 1 | 2 | 3 | 4 | 5 | 6 | 7
 Sprung  

Wir brauchen Deine Hilfe!

Hallo !

Wir hoffen, dass dir unser Forum gefällt und du dich hier genauso wohlfühlst wie wir.

Um dir und den anderen Mitgliedern das Bestmögliche bieten zu können, würden wir das Forum gern werbefrei gestalten und mit tollen neuen Extras ergänzen.

Wenn du uns dabei unterstützen möchtest, kannst du mit Hilfe einer kleinen Spende dazu beitragen, diese Änderungen zu finanzieren.

Deine Spende hilft!

Spendenziel: 144€
23%
 


Xobor Forum Software von Xobor.de
Einfach ein Forum erstellen
Datenschutz