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 41 Antworten
und wurde 4.710 mal aufgerufen
 More languages
Seiten 1 | 2 | 3
Scotty Offline

Administrator


Beiträge: 3.753

26.05.2021 09:01
#31 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #30
How did you make that video?


First, you have to configure the movie export, see http://scrabble.sourceforge.net/wiki/ind...uration:Network. I'm using "/usr/bin/ffmpeg" and "-r 2". When done you can export a clip of all moves via File > Screenshot using the file type filter MPEG1 Video.

What dictionaries would you share on SF.net?


Download: Sourceforge | Help:Wiki | Discussion: Forum | News: Twitter | Fanship: Facebook | IRC: Freenode #scrabble3d

Raman Offline




Beiträge: 167

26.05.2021 13:06
#32 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #31
First, you have to configure the movie export, see http://scrabble.sourceforge.net/wiki/ind...uration:Network. I'm using "/usr/bin/ffmpeg" and "-r 2". When done you can export a clip of all moves via File > Screenshot using the file type filter MPEG1 Video.

Thank you for the information about movie export.
Zitat von Scotty im Beitrag #31
What dictionaries would you share on SF.net?

I think that I can work more and revise the categories in my new dictionaries to make it better suited for SourceForge, than the one used for playing against other human players or computer players online or offline in my local computer's Scrabble3D application.
For example that the new categories could give more emphasis to number of allowed words to determine speed of computer for play depending upon the size of the Scrabble board in 2D or 3D, instead of the old categories that are defined traditionally.
Eventhough it is worthwhile of noting that loading of a dictionary of over 5 million words should not be any problem of taking of too much of time at the starting of the Scrabble3D application whenever all of the words are in the sorted order in the dictionary according to the ASCII or Unicode character sequences.
I have a deadline on May 31. I will get back to you on this next week, that is June 1 or June 2.

Raman Offline




Beiträge: 167

07.06.2021 08:47
#33 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #31
What dictionaries would you share on SF.net?

Well, yesterday was Sunday and so I finally had the time to work upon the dictionaries to make them better suited for SourceForge pages, than the ones used for playing against other human players or computer players online or offline in my local computer's Scrabble3D application.

At the first place, you can consider my first version of Equate style of Maths Scrabble. If you like it, then I can also add equations with powers and roots.
equate.dic: https://drive.google.com/file/d/1S6ukuGJ...iew?usp=sharing

Equate game is played on a 19×19 Scrabble board with 190 tiles. I made my version more interesting with 200 tiles and can be played in 21×21 Scrabble board (with same density as 100 tiles in 15×15 Scrabble board) or in 19×19 Scrabble board (with very dense occupying of tiles).
https://www.boardgamegeek.com/image/1817520/equate
I revised the tile distribution, removed reducible fraction tiles, removed fraction tiles with value ≥ 1 and added all other missing irreducible fraction tiles with denominators ≤ 12 and values strictly between 0 and 1.
There are tiles like 3² in the advanced pack of Equate game. These tiles would not be nice to be combined with other digit tiles to the right and these tiles can never combine with other digit tiles to the left. 9 is much better to use in this case. My created dictionary contains none of such tiles, with emphasis heavily being only upon irreducible fraction tiles with denominators ≤ 12 and values strictly between 0 and 1.
For example, 19×3=57. 9 cannot be replaced by 3² here.

Dictionaries that can be updated:
Here is my improved version of Maths dictionary. If you like it, then you can update the SourceForge Maths dictionary with my version.
math.dic: https://drive.google.com/file/d/1gDYyHzy...iew?usp=sharing
My created Maths dictionary already contains 5465122 equations and no equations involving three numbers on one side or a binary operator and a unary operator on one side. If you want, then you can take the union of all equations in the Maths dictionary that is prepared my be and the Maths dictionary that is prepared by Jouni Tolonen.
But be warned, that the Maths dictionary that is prepared by Jouni Tolonen contains some wrong equations like 18-9=7 and 18+5=13. 0^0 is indeterminate but it contains 0^0=1. Usually minus sign cannot be placed before 0 but it contains 0=-0-0.

In the Maths Scrabble game played on the board on the left side, it was possible to accommodate 129 out of 130 tiles. It is a good tile distribution for Maths Scrabble with 130 tiles. Only one = tile was left over at the end.
I played it by myself for 2 players planning for spacing over scoring and packing them up densely. I was aiming to have all equations with unary and binary operators to the left side of '=' and only a single integer or single decimal number to the right side of '='.
I was also aiming to avoid equations like 'single integer = single integer' and 'single decimal number = single decimal number'.
Modulo operator is a somewhat wild operator that allows a player to use all the number tiles at once and if possible also forming a bingo if there are 8 number tiles out of 10 tiles in player's rack and one modulo operator tile and one = tile, if not allowing players to form wild mathematical equations at their own wishes as is the case for < tile and > tile.
My created Maths dictionary does not contain any equation with modulo operator, but if it is included in human player games played online or offline since it will not be understandable by computer players, % tile can be added to the letter set and mod will be shown in the tile instead of %.
In Scrabble3D application, even if a word is not present in that specific language dictionary, then it is always playable, if the player accepts it while playing against computer players and no other human players and all other human players accept it by means of a poll while playing against one or more other human players with zero or more computer players.

I have a better version of English phonetic Scrabble dictionary, with added pre-defined letter set containing no digraph tiles, with added words containing 7 of the digraphs aɪ, eɪ, ɔɪ, aʊ, oʊ, tʃ, dʒ with or without forming those letter pairs from two separate tiles.
english_phonetic.dic: https://drive.google.com/file/d/193beQHO...iew?usp=sharing

I created the English dictionary with NWL2020 dictionary for North America and CSW2019 dictionary for the rest of the world, as played in the latest Scrabble tournaments all around the world, instead of TWL2006 dictionary and CSW2007 dictionary respectively in the SourceForge page.
english.dic: https://drive.google.com/file/d/1BY40j9x...iew?usp=sharing
I also have the English dictionary with NWL2018 dictionary and CSW2019 dictionary.
american.dic: https://drive.google.com/file/d/1Y4W1PsL...iew?usp=sharing
NWL2020 dictionary, as played in the latest Scrabble tournaments in Canada and United States of America was released only 5 months ago. It just removes 259 offensive words from NWL2018 dictionary.

Other fancy dictionaries that I have created, that may be of interest to other people. If you like any of them, you can consider uploading them to SourceForge:
Scrabble with Roman numerals:
roman.dic: https://drive.google.com/file/d/1rihB3hF...iew?usp=sharing

Scrabble with chess moves:
chess.dic: https://drive.google.com/file/d/1faFNhlC...iew?usp=sharing

Scrabble with date and 4 digit year:
date.dic: https://drive.google.com/file/d/1u2kYmMi...iew?usp=sharing

Scrabble with perfect squares:
square.dic: https://drive.google.com/file/d/19-bLMs8...iew?usp=sharing

Scrabble with perfect cubes:
cube.dic: https://drive.google.com/file/d/1vCrOQZS...iew?usp=sharing

Scrabble with triangular numbers:
triangular.dic: https://drive.google.com/file/d/1qlb5RHB...iew?usp=sharing

Scrabble with names of chemical elements and their symbols:
element.dic: https://drive.google.com/file/d/1WkfAUpB...iew?usp=sharing
Sudoku assembly game:
sudoku.dic: https://drive.google.com/file/d/1U9cW1Uo...iew?usp=sharing

Zigzag pattern:
zigzag.dic: https://drive.google.com/file/d/1yFJ7mgG...iew?usp=sharing

Scrabble with perfect powers:
power.dic: https://drive.google.com/file/d/1ldolYKT...iew?usp=sharing

Scrabble with date and 2 digit year:
day.dic: https://drive.google.com/file/d/1RaqUiXv...iew?usp=sharing

24 hour time, with seconds, without AM and PM marker:
time.dic: https://drive.google.com/file/d/1hlpHYIk...iew?usp=sharing

12 hour time, with seconds, with AM and PM marker in 2 separate tiles:
clock.dic: https://drive.google.com/file/d/11_R4v_Q...iew?usp=sharing

12 hour time, with seconds, without AM and PM marker:
watch.dic: https://drive.google.com/file/d/1bzCkGjX...iew?usp=sharing

12 hour time, without seconds, without AM and PM marker:
hour.dic: https://drive.google.com/file/d/11FI3_FM...iew?usp=sharing

12 hour time, without seconds, with AM and PM marker in 2 separate tiles:
minute.dic: https://drive.google.com/file/d/1Op1vgIm...iew?usp=sharing

24 hour time, without seconds, without AM and PM marker:
second.dic: https://drive.google.com/file/d/1QWCNuT7...iew?usp=sharing

12 hour time, with seconds, with AM and PM marker in 1 single tile:
hourglass.dic: https://drive.google.com/file/d/1idqKLxy...iew?usp=sharing

12 hour time, without seconds, with AM and PM marker in 1 single tile:
sundial.dic: https://drive.google.com/file/d/1Y8Fa5TV...iew?usp=sharing

Zitat von Scotty im Beitrag #31
First, you have to configure the movie export, see http://scrabble.sourceforge.net/wiki/ind...uration:Network. I'm using "/usr/bin/ffmpeg" and "-r 2". When done you can export a clip of all moves via File > Screenshot using the file type filter MPEG1 Video.

For a smooth YouTube video of a 45×45 size of Maths Scrabble board which is showing move by move progression, it would be impressive to just have the Scrabble board without white space to the left and to the right and without the tiles at the bottom of the Scrabble board, at least without the tiles obscuring part of the Scrabble board at the bottom.
Unlike manually saved screenshots move by move, if automatic move by move screenshots are captured with FFMPEG, then will the white space to the left and to the right of the Scrabble board disappear? Will the tiles not be at the bottom of the Scrabble board, at least the tiles not obscuring part of the Scrabble board at the bottom?

Raman Offline




Beiträge: 167

07.06.2021 20:11
#34 RE: Math scrabble implemented Zitat · Antworten

On Monday, 8 June 2020, exactly one year back from today, I played my first game of Maths Scrabble with another human player in Scrabble3D online game server.
It was against Mrs. Ishika of Bangalore Scrabble club, who has a similar board game at home bought and last used about 8 years back from last year. Or about 9 years back from this year.

You can call it for testing purposes. I also played a game of 21×21 English Scrabble with Marisha Sharma of Delhi Scrabble club a couple of weeks back from that day in Scrabble3D online game server.

21×21 English Scrabble is available for pay for $15 per year at http://thepixiepit.co.uk/. Scrabble3D is much more enhanced than that.
Games can be played in 2D boards upto 48×48 and even in 3D boards. Letter distribution, points for each letter, dictionary words, number of tiles in each of player's racks and number of blanks used in game can be customized as per player's wishes. Small percentage of all tiles can also be tiles which are randomly picked up by the computer from the letter set.

Maths Scrabble should be open for all people in the world and not for speakers of a particular language.

Publically disclosable selected conversation between both of us in WhatsApp messenger:

Ishika: You should have taken off seventh root, factorial, infinity, lesser than, greater than.
Me: What mathematical equations have infinity? And plenty of possibilities with lesser than and greater than.
Ishika: Anything divided by zero is infinity. I mean remove them. I have a seventh root tile in my rack.
Me: Lesser than and greater than will not restrict possibilities. It will allow players to form wild mathematical equations at their own wishes.
Ishika: This does not look like 100 tiles. We must not restrict the number of tiles but must restrict the complex symbols for beginners. By the way, I can play only one game today.
Me: I added a fourth root tile in the letter set but not a seventh root tile. Please share a screenshot of your Scrabble board and your Scrabble tiles with me. I will check out whether it is a fourth root tile or really a seventh root tile.
Ishika:

Me: You only have ordinary square root tile in your rack and not a seventh root tile.
Ishika: Oh, it is seven points for the tile! Got it. Now, it is your turn. I have played 4=4×1 long back. What did you play?
Me: I did not receive any move from you. Click on the 'Next Player' button which is the third button from the left just below the menu bar and pass on your turn to the next player. Alternatively, you can also press Ctrl + N as a keyboard shortcut.
Ishika: Sorry, just getting used to it. Next time I will do much better as I will be used to it.

This was the Scrabble board position at the end of that played game.

My opponent first played 5=8×0+5 at the bottom row for 96 points, then extended that to 25=8×0+5+20 for 123 points and later on extended that to 1×√625=8×0+5+20 for 174 points and finally won me 614 - 341.
Forming such long mathematical equations is just typical of Maths Scrabble among human players. Although I must add that my opponent got both blanks luckily in that played game of Maths Scrabble.
If I played 87−34=53 instead of 78−43=35, such high scoring mathematical equation would not have been possible for my opponent to play or may be a different mathematical equation could have been extended on both sides.

Me: I hoped you enjoyed the game. How can you make Maths Scrabble popular as conventional 15×15 English Scrabble?
Ishika: You can find minded communities on social media such as Facebook and Twitter.
Me: Would you be interested in sharing our played game with Bangalore Scrabble club? If it was related to conventional English Scrabble, then I could share it by myself. It would just not be nice for me alone to keep talking about unconventional Scrabble and others keeping on talking about conventional 15×15 English Scrabble in Bangalore Scrabble club WhatsApp messenger group.
Ishika: Do you have a screenshot of our played game with you? I have one with a pop up message that hides part of the Scrabble board, although it is mostly over empty space and very few tiles are sitting below it.
Me: You can learn how to take a screenshot of our played network game by yourself. Log in to the Scrabble3D online game server and go to File from the menu bar and load remote game. Alternatively, you can also press Ctrl + O as a keyboard shortcut. Played network games will be stored on the Scrabble3D online game server for 14 days. This is the maximum time that you would be able to access them. After that, they will be archived. Ordinary players will not be able to access or unarchive archived games from the Scrabble3D online game server. Only the Scrabble3D administrators will be able to do that.

Later on, I revised the point values for all the tiles in Maths Scrabble and reduced them for Maths Scrabble to be played furthermore optimally. It is a more mixed version of Scotty's version of Maths Scrabble tile distribution in post 3 in this thread and Jouni Tolonen's latest version 1.0.4 of Maths Scrabble tile distribution that has been uploaded to the SourceForge page.
Similar to conventional 15×15 English Scrabble, I edited the point values for all the tiles such that there are only a few number of tiles with point value ≥ 5. In this process, I reduced the point value of √ tile from 7 points to 5 points.

On Saturday, 24 April 2020, I really played a game of Maths Scrabble with 21×21 board with all of types of such complex symbols, just for fun.
It was played with 2 human players and I played both the sides by myself with 12 tiles in each of player's racks instead of just 10 simply as having more number of tiles in each of player's racks is furthermore optimal enough to form longer numbers that are perfect powers of integers that are ≥ 2 that are necessary to push those complex symbols away into the Scrabble board that can be beautifully presented to other people instead of 0 and 1 which are perfect powers of themselves and so they are very short and very unappealing for the Scrabble board to be beautifully presented to other people and as other human players who are actively in contact with me are not that interested to play Maths Scrabble with me, online or offline.
I did not play against the computer players as computer players would not understand such complex symbols until programmed and such mathematical equations are added up into the Maths Scrabble dictionary, which should not be too much of work either.
By the way, it is also very difficult to instruct the computer players to plan pushing away such complex symbols into the 21×21 Scrabble board optimally by knowing which tiles to retain in the Scrabble racks and by knowing which tiles to push away into the Scrabble board depending upon the complex symbols that have arrived in the Scrabble racks and to plan playing by space rather than by score when using 250 tiles and accommodating them very densely in a 21×21 Scrabble board.

This was the Scrabble board position at the end of that played game.

Scotty Offline

Administrator


Beiträge: 3.753

08.06.2021 09:44
#35 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #33
Here is my improved version of Maths dictionary. If you like it, then you can update the SourceForge Maths dictionary with my version.

Saved the dictionary with the program to make sure the sorting order is correct, which resulted in a smaller size. And I set you as author but mention Jouni in the comment (which is for some reason not shown in the program, buggy code!).

Zitat von Raman im Beitrag #33
Other fancy dictionaries...

Some are interesting but I'm afraid of cluttering the configuration too much.

Zitat von Raman im Beitrag #33
For a smooth YouTube video .... it would be impressive to just have the Scrabble board without white space to the left...

The movie export works with screenshots and those are generated including white space and rack. Sorry, you have to manipulate the images yourself.


Download: Sourceforge | Help:Wiki | Discussion: Forum | News: Twitter | Fanship: Facebook | IRC: Freenode #scrabble3d

Raman Offline




Beiträge: 167

08.06.2021 20:33
#36 RE: Math scrabble implemented Zitat · Antworten

Scotty, please update the Maths dictionary in SourceForge page to my latest version 1.0.6 whenever you are free.
I added some 146274 equations that I found missing from the Maths dictionary by rigorous testing of Maths dictionary with Scrabble3D application. My latest version 1.0.6 of Maths dictionary contains 5611396 equations right now.
math.dic: https://drive.google.com/file/d/1gDYyHzy...iew?usp=sharing

I added some 145800 exponentiation equations with decimal numbers with 4 significant decimal digits that are strictly greater than 1 and base being 0 and 1 and exponent being 1.
I also added some 474 exponentiation equations formed out of square, cube and tesseract tiles with the base being 0 (upto power that is being 4444), 1 (upto power that is being 4444) and 2 (upto power that is being 24).

Zitat von Raman im Beitrag #33
I created the English dictionary with NWL2020 dictionary for North America and CSW2019 dictionary for the rest of the world, as played in the latest Scrabble tournaments all around the world, instead of TWL2006 dictionary and CSW2007 dictionary respectively in the SourceForge page.
english.dic: https://drive.google.com/file/d/1BY40j9x...iew?usp=sharing
I also have the English dictionary with NWL2018 dictionary and CSW2019 dictionary.
american.dic: https://drive.google.com/file/d/1Y4W1PsL...iew?usp=sharing
NWL2020 dictionary, as played in the latest Scrabble tournaments in Canada and United States of America was released only 5 months ago. It just removes 259 offensive words from NWL2018 dictionary.

Please note that english.dic is the latest updated version of the English dictionary combining the NWL2020 dictionary for North America and CSW2019 dictionary for the rest of the world, as played in the latest Scrabble tournaments all around the world.
I posted american.dic only for historical purposes and for the interest of other players whoever, if any players, might be interested in downloading and playing with the old NWL2018 dictionary for North America.
american.dic is an outdated version of the English dictionary and it is not to be considered for the purpose of uploading it to the SourceForge page.

Raman Offline




Beiträge: 167

08.06.2021 21:38
#37 RE: Math scrabble implemented Zitat · Antworten

maths.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
 
print '[Header]'
print 'Version=100006'
print 'Author=Raman Viswanathan <raman22feb1988@gmail.com>'
print 'StandardCategory=Equalities'
print 'Licence=GNU General Public License, v3'
print 'Release=09.06.21'
print 'Comment=For best use have 10 letters on rack'
print 'Letters=E,0,1,2,3,4,5,6,7,8,9,-,*,/,+,.,!,^,S,C,R,F,%,K,T,L,M,N,P,U,V,W,X,Y,Z,G,H'
print 'Values=1,2,1,1,2,2,3,3,4,3,4,3,4,4,3,10,8,9,6,7,5,10,5,6,8,12,14,16,18,20,11,13,15,17,19,7,9'
print 'Counts=18,6,8,7,6,6,6,6,5,5,5,3,3,3,3,1,1,1,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0'
print 'Key='
print '[Replace]'
print '-=\xe2\x88\x92'
print '*=\xc3\x97'
print '/=\xc3\xb7'
print 'E=\xe2\x81\xbc'
print 'S=\xc2\xb2'
print 'C=\xc2\xb3'
print 'R=\xe2\x88\x9a'
print 'F=\xe2\x88\x9c'
print '%=\xe1\xb5\x90\xe1\xb5\x92\xe1\xb5\x88'
print 'K=\xe2\x88\x9b'
print 'T=\xe2\x81\xb4'
print 'L=\xe2\x81\xb5'
print 'M=\xe2\x81\xb6'
print 'N=\xe2\x81\xb7'
print 'P=\xe2\x81\xb8'
print 'U=\xe2\x81\xb9'
print 'V=\xe2\x81\xb5\xe2\x88\x9a'
print 'W=\xe2\x81\xb6\xe2\x88\x9a'
print 'X=\xe2\x81\xb7\xe2\x88\x9a'
print 'Y=\xe2\x81\xb8\xe2\x88\x9a'
print 'Z=\xe2\x81\xb9\xe2\x88\x9a'
print 'G=\xc2\xb9'
print 'H=\xe2\x81\xb0'
print '[Categories]'
print '1=Addition'
print '2=Subtraction'
print '3=Multiplication'
print '4=Division'
print '5=Exponentiation'
print '6=Roots'
print '7=Factorial'
print '8=Decimals'
print '9=Modulo'
print '[Words]'
for i in range(10000):
print str(i) + 'E' + str(i) + '='
if i % 10 != 0:
print str(float(i) / 10) + 'E' + str(float(i) / 10) + '='
print str(float(i) / 100) + 'E' + str(float(i) / 100) + '='
print str(float(i) / 1000) + 'E' + str(float(i) / 1000) + '='
for i in range(1000):
for j in range(i, 10000):
k = i + j
if len(str(i) + str(j) + str(k)) >= 10:
break
else:
print str(i) + '+' + str(j) + 'E' + str(k) + '=;1'
if i != j:
print str(j) + '+' + str(i) + 'E' + str(k) + '=;1'
print str(k) + 'E' + str(i) + '+' + str(j) + '=;1'
if i != j:
print str(k) + 'E' + str(j) + '+' + str(i) + '=;1'
print str(k) + '-' + str(i) + 'E' + str(j) + '=;2'
if i != j:
print str(k) + '-' + str(j) + 'E' + str(i) + '=;2'
print str(j) + 'E' + str(k) + '-' + str(i) + '=;2'
if i != j:
print str(i) + 'E' + str(k) + '-' + str(j) + '=;2'
if (i % 10 != 0 or j % 10 != 0) and k < 1000:
x = (float(i) / 10, i / 10) [i % 10 == 0]
y = (float(j) / 10, j / 10) [j % 10 == 0]
z = (float(k) / 10, k / 10) [k % 10 == 0]
if len(str(x) + str(y) + str(z)) <= 9:
print str(x) + '+' + str(y) + 'E' + str(z) + '=;8'
if x != y:
print str(y) + '+' + str(x) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '+' + str(y) + '=;8'
if x != y:
print str(z) + 'E' + str(y) + '+' + str(x) + '=;8'
print str(z) + '-' + str(x) + 'E' + str(y) + '=;8'
if x != y:
print str(z) + '-' + str(y) + 'E' + str(x) + '=;8'
print str(y) + 'E' + str(z) + '-' + str(x) + '=;8'
if x != y:
print str(x) + 'E' + str(z) + '-' + str(y) + '=;8'
if (i % 100 == 0 or j % 100 == 0 or k % 100 == 0) and (i % 100 != 0 or j % 100 != 0 or k % 100 != 0) and k < 1000:
if i % 10 != 0 or j % 10 != 0 or k % 10 != 0:
x = (float(i) / 100, i / 100) [i % 100 == 0]
y = (float(j) / 100, j / 100) [j % 100 == 0]
z = (float(k) / 100, k / 100) [k % 100 == 0]
print str(x) + '+' + str(y) + 'E' + str(z) + '=;8'
if x != y:
print str(y) + '+' + str(x) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '+' + str(y) + '=;8'
if x != y:
print str(z) + 'E' + str(y) + '+' + str(x) + '=;8'
print str(z) + '-' + str(x) + 'E' + str(y) + '=;8'
if x != y:
print str(z) + '-' + str(y) + 'E' + str(x) + '=;8'
print str(y) + 'E' + str(z) + '-' + str(x) + '=;8'
if x != y:
print str(x) + 'E' + str(z) + '-' + str(y) + '=;8'
s = set([])
for i in range(1, 100):
for j in range(i, 10000):
k = i * j
if len(str(i) + str(j) + str(k)) >= 11:
break
else:
print str(i) + '*' + str(j) + 'E' + str(k) + '=;3'
if i != j:
print str(j) + '*' + str(i) + 'E' + str(k) + '=;3'
print str(k) + 'E' + str(i) + '*' + str(j) + '=;3'
if i != j:
print str(k) + 'E' + str(j) + '*' + str(i) + '=;3'
print str(k) + '/' + str(i) + 'E' + str(j) + '=;4'
if i != j:
print str(k) + '/' + str(j) + 'E' + str(i) + '=;4'
print str(j) + 'E' + str(k) + '/' + str(i) + '=;4'
if i != j:
print str(i) + 'E' + str(k) + '/' + str(j) + '=;4'
s.add((i, j))
s.add((j, i))
y = j
while True:
if y < 1 and (len(str(y)) >= 11 or 'e' in str(y)):
break
x = i
while True:
z = x * y
if z % 1 == 0:
z = int(z)
if x < 1 and len(str(x) + str(y) + str(z)) >= 11:
break
if (x, y) not in s and len(str(x) + str(y) + str(z)) <= 10:
print str(x) + '*' + str(y) + 'E' + str(z) + '=;8'
if x != y:
print str(y) + '*' + str(x) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '*' + str(y) + '=;8'
if x != y:
print str(z) + 'E' + str(y) + '*' + str(x) + '=;8'
print str(z) + '/' + str(x) + 'E' + str(y) + '=;8'
if x != y:
print str(z) + '/' + str(y) + 'E' + str(x) + '=;8'
print str(y) + 'E' + str(z) + '/' + str(x) + '=;8'
if x != y:
print str(x) + 'E' + str(z) + '/' + str(y) + '=;8'
s.add((x, y))
s.add((y, x))
x = (float(x) / 10, x / 10) [x % 10 == 0]
y = (float(y) / 10, y / 10) [y % 10 == 0]
for i in range(100, 1000, 4):
for j in range(100, 1000, 25):
y = j
while True:
if y < 1 and (len(str(y)) >= 11 or 'e' in str(y)):
break
x = i
while True:
z = x * y
if z % 1 == 0:
z = int(z)
if x < 1 and len(str(x) + str(y) + str(z)) >= 11:
break
if (x, y) not in s and len(str(x) + str(y) + str(z)) <= 10:
print str(x) + '*' + str(y) + 'E' + str(z) + '=;8'
if x != y:
print str(y) + '*' + str(x) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '*' + str(y) + '=;8'
if x != y:
print str(z) + 'E' + str(y) + '*' + str(x) + '=;8'
print str(z) + '/' + str(x) + 'E' + str(y) + '=;8'
if x != y:
print str(z) + '/' + str(y) + 'E' + str(x) + '=;8'
print str(y) + 'E' + str(z) + '/' + str(x) + '=;8'
if x != y:
print str(x) + 'E' + str(z) + '/' + str(y) + '=;8'
s.add((x, y))
s.add((y, x))
x = (float(x) / 10, x / 10) [x % 10 == 0]
y = (float(y) / 10, y / 10) [y % 10 == 0]
for i in range(12, 1000, 4):
for j in range(1000, 10000, 25):
y = j
while True:
if y < 1 and (len(str(y)) >= 11 or 'e' in str(y)):
break
x = i
while True:
z = x * y
if z % 1 == 0:
z = int(z)
if x < 1 and len(str(x) + str(y) + str(z)) >= 11:
break
if (x, y) not in s and len(str(x) + str(y) + str(z)) <= 10:
print str(x) + '*' + str(y) + 'E' + str(z) + '=;8'
if x != y:
print str(y) + '*' + str(x) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '*' + str(y) + '=;8'
if x != y:
print str(z) + 'E' + str(y) + '*' + str(x) + '=;8'
print str(z) + '/' + str(x) + 'E' + str(y) + '=;8'
if x != y:
print str(z) + '/' + str(y) + 'E' + str(x) + '=;8'
print str(y) + 'E' + str(z) + '/' + str(x) + '=;8'
if x != y:
print str(x) + 'E' + str(z) + '/' + str(y) + '=;8'
s.add((x, y))
s.add((y, x))
x = (float(x) / 10, x / 10) [x % 10 == 0]
y = (float(y) / 10, y / 10) [y % 10 == 0]
for i in range(10000):
print '0*' + str(i) + 'E0=;3'
print '0E0*' + str(i) + '=;3'
if i != 0:
print str(i) + '*0E0=;3'
print '0E' + str(i) + '*0=;3'
print '0/' + str(i) + 'E0=;4'
print '0E0/' + str(i) + '=;4'
if i % 10 != 0:
print '0*' + str(float(i) / 10) + 'E0=;8'
print str(float(i) / 10) + '*0E0=;8'
print '0E0*' + str(float(i) / 10) + '=;8'
print '0E' + str(float(i) / 10) + '*0=;8'
print '0/' + str(float(i) / 10) + 'E0=;8'
print '0E0/' + str(float(i) / 10) + '=;8'
print '0*' + str(float(i) / 100) + 'E0=;8'
print str(float(i) / 100) + '*0E0=;8'
print '0E0*' + str(float(i) / 100) + '=;8'
print '0E' + str(float(i) / 100) + '*0=;8'
print '0/' + str(float(i) / 100) + 'E0=;8'
print '0E0/' + str(float(i) / 100) + '=;8'
print '0*' + str(float(i) / 1000) + 'E0=;8'
print str(float(i) / 1000) + '*0E0=;8'
print '0E0*' + str(float(i) / 1000) + '=;8'
print '0E' + str(float(i) / 1000) + '*0=;8'
print '0/' + str(float(i) / 1000) + 'E0=;8'
print '0E0/' + str(float(i) / 1000) + '=;8'
print '0SE0=;5'
print '0CE0=;5'
print '0TE0=;5'
print '0E0S=;5'
print '0E0C=;5'
print '0E0T=;5'
print 'R0E0=;6'
print 'K0E0=;6'
print 'F0E0=;6'
print '0ER0=;6'
print '0EK0=;6'
print '0EF0=;6'
for i in range(1, 10000):
print '0^' + str(i) + 'E0=;5'
print '0E0^' + str(i) + '=;5'
if i % 10 != 0:
print '0^' + str(float(i) / 10) + 'E0=;8'
print '0E0^' + str(float(i) / 10) + '=;8'
print '1^' + str(float(i) / 10) + 'E1=;8'
print '1E1^' + str(float(i) / 10) + '=;8'
print str(float(i) / 10) + '^0E1=;8'
print '1E' + str(float(i) / 10) + '^0=;8'
print '0^' + str(float(i) / 100) + 'E0=;8'
print '0E0^' + str(float(i) / 100) + '=;8'
print '1^' + str(float(i) / 100) + 'E1=;8'
print '1E1^' + str(float(i) / 100) + '=;8'
print str(float(i) / 100) + '^0E1=;8'
print '1E' + str(float(i) / 100) + '^0=;8'
print '0^' + str(float(i) / 1000) + 'E0=;8'
print '0E0^' + str(float(i) / 1000) + '=;8'
print '1^' + str(float(i) / 1000) + 'E1=;8'
print '1E1^' + str(float(i) / 1000) + '=;8'
print str(float(i) / 1000) + '^0E1=;8'
print '1E' + str(float(i) / 1000) + '^0=;8'
for i in range(1, 10000):
for j in range(10000):
k = i ** j
if len(str(i) + str(j) + str(k)) >= 12:
break
if len(str(i) + str(j) + str(k)) <= 10:
print str(i) + '^' + str(j) + 'E' + str(k) + '=;5'
print str(k) + 'E' + str(i) + '^' + str(j) + '=;5'
if j == 2:
print str(i) + 'SE' + str(k) + '=;5'
print str(k) + 'E' + str(i) + 'S=;5'
print 'R' + str(k) + 'E' + str(i) + '=;6'
print str(i) + 'ER' + str(k) + '=;6'
elif j == 3:
print str(i) + 'CE' + str(k) + '=;5'
print str(k) + 'E' + str(i) + 'C=;5'
print 'K' + str(k) + 'E' + str(i) + '=;6'
print str(i) + 'EK' + str(k) + '=;6'
elif j == 4:
print str(i) + 'TE' + str(k) + '=;5'
print str(k) + 'E' + str(i) + 'T=;5'
print 'F' + str(k) + 'E' + str(i) + '=;6'
print str(i) + 'EF' + str(k) + '=;6'
if i % 10 != 0 and j > 0 and j <= 4:
x = float(i) / 10
z = float(k) / (10 ** j)
while 'e' not in str(z) and len(str(x) + str(j) + str(z)) <= 11:
if len(str(x) + str(j) + str(z)) <= 10:
print str(x) + '^' + str(j) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '^' + str(j) + '=;8'
if j == 2:
print str(x) + 'SE' + str(z) + '=;8'
print str(z) + 'E' + str(x) + 'S=;8'
print 'R' + str(z) + 'E' + str(x) + '=;8'
print str(x) + 'ER' + str(z) + '=;8'
elif j == 3:
print str(x) + 'CE' + str(z) + '=;8'
print str(z) + 'E' + str(x) + 'C=;8'
print 'K' + str(z) + 'E' + str(x) + '=;8'
print str(x) + 'EK' + str(z) + '=;8'
elif j == 4:
print str(x) + 'TE' + str(z) + '=;8'
print str(z) + 'E' + str(x) + 'T=;8'
print 'F' + str(z) + 'E' + str(x) + '=;8'
print str(x) + 'EF' + str(z) + '=;8'
x /= 10
z /= (10 ** j)
j = 1
for i in range(15):
if i > 0:
j *= i
print str(i) + '!E' + str(j) + '=;7'
print str(j) + 'E' + str(i) + '!=;7'
for i in [2, 4, 5, 8, 10]:
j = 1
while True:
if (i % 2 == 0 and j % 2 == 0) or (i % 5 == 0 and j % 5 == 0):
j += 1
continue
if len(str(2 ** i) + str(float(j) / float(i)) + str(2 ** j)) >= 11:
break
k = 2
while True:
x = k ** i
y = float(j) / float(i)
z = k ** j
if len(str(x) + str(y) + str(z)) >= 11:
break
print str(x) + '^' + str(y) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '^' + str(y) + '=;8'
if k % 10 != 0:
while True:
x = float(x) / float(10 ** i)
z = float(z) / float(10 ** j)
if 'e' in str(x) or 'e' in str(z) or len(str(x) + str(y) + str(z)) >= 11:
break
print str(x) + '^' + str(y) + 'E' + str(z) + '=;8'
print str(z) + 'E' + str(x) + '^' + str(y) + '=;8'
k += 1
j += 1
print '2SSE4194304=;5'
print '2SCE8388608=;5'
print '2STE16777216=;5'
print '4194304E2SS=;5'
print '8388608E2SC=;5'
print '16777216E2ST=;5'
for index in range(10, 10000):
exponent = str(index)
if '0' not in exponent and '1' not in exponent and '5' not in exponent and '6' not in exponent and '7' not in exponent and '8' not in exponent and '9' not in exponent:
power = ((exponent.replace('2', 'S')).replace('3', 'C')).replace('4', 'T')
print '0' + power + 'E0=;5'
print '0E0' + power + '=;5'
print '1' + power + 'E1=;5'
print '1E1' + power + '=;5'
 

Scotty Offline

Administrator


Beiträge: 3.753

10.06.2021 10:21
#38 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #36
Scotty, please update the Maths dictionary in SourceForge page to my latest version 1.0.6...

Done


Download: Sourceforge | Help:Wiki | Discussion: Forum | News: Twitter | Fanship: Facebook | IRC: Freenode #scrabble3d

Raman Offline




Beiträge: 167

15.06.2021 22:07
#39 RE: Math scrabble implemented Zitat · Antworten

I have made YouTube videos for at least 10 different diverse tile sets in Scrabble board with Scrabble3D application, out of which only 3 of them are languages, all of them using different writing scripts:

1.English Super Scrabble
2. 21×21 Tamil Scrabble
3. A-Math game style of Maths Scrabble
4. Equate game style of 21×21 Number Scrabble with fractional tiles
5. English phonetic Scrabble
6. Russian Scrabble
7. Scrabble with Roman numerals
8. Scrabble with chess moves
9. Scrabble with perfect squares
10. Scrabble with date

Scotty, you have not considered equate.dic for SourceForge page, but do you have any feedback about it? Do you like it? Do you think that it can be improved in any way?
Can a tile set between 100 tiles and 130 tiles that is suitable for play with a 15×15 Scrabble board be used in the dictionary instead of a tile set of 200 tiles that is suitable for play with a 21×21 Scrabble board? Note that Equate edition of Maths Scrabble game with fractional tiles is played in a 19×19 Scrabble board with 190 tiles.
1 point: = ×22, 1 ×7, 2 ×6
2 points: 0 ×5, 3 ×5, 4 ×5
3 points: 5 ×5, 6 ×5, 8 ×4, × ×7, ÷ ×7
4 points: 7 ×4, 9 ×4, + ×4, ×4
5 points: ¹/₂ ×2, ¹/₄ ×1, ³/₄ ×1
6 points: ¹/₃ ×1, ²/₃ ×1
7 points: ¹/₆ ×1, ⁵/₆ ×1
8 points: ¹/₅ ×1, ²/₅ ×1, ³/₅ ×1, ⁴/₅ ×1, ¹/₈ ×1, ³/₈ ×1, ⁵/₈ ×1, ⁷/₈ ×1
9 points: ¹/₁₀ ×1, ³/₁₀ ×1, ⁷/₁₀ ×1, ⁹/₁₀ ×1, ¹/₁₂ ×1, ⁵/₁₂ ×1, ⁷/₁₂ ×1, ¹¹/₁₂ ×1
10 points: ¹/₇ ×1, ²/₇ ×1, ³/₇ ×1, ⁴/₇ ×1, ⁵/₇ ×1, ⁶/₇ ×1, ¹/₉ ×1, ²/₉ ×1, ⁴/₉ ×1, ⁵/₉ ×1, ⁷/₉ ×1, ⁸/₉ ×1
Or do you think that fractional tiles can be merged into math.dic as a single Maths dictionary? Note that my latest created version 1.0.6 of math.dic already contains over 5.6 million equations. If more equations are added into it (even for equations with three numbers on one side and with one number on other side or for equations with two numbers on one side and with two numbers on other side), then playing against computer players as opponents will slow down even for a 15×15 Scrabble board.
I don't think that it is possible to play with 10 million equations in dictionary when operators in both categories are kept separate or 20 million equations in dictionary when operators in both categories are also merged. Don't you?
Actually, in physically available versions of Maths Scrabble, there are at least two different commercial editions, Equate game with number tiles, fractional tiles and operators and A-Math game with only number tiles and operators. Each of them use a different tile set.

In my humble opinion, the most optimal way to implement Maths Scrabble in computer program is to do parsing to check equations for syntax validity and semantic correctness and also to make computer players as opponents to search for and play with the best moves in lesser amount of time.
I think that Scrabble3D application right now makes use of a trie data structure to store each valid move in any given dictionary whenever that particular dictionary is loaded into Scrabble3D application and after that all of the words in that specific dictionary are sorted in order of ASCII characters. Isn't it?

Is there any group of people whoever are interested in Maths Scrabble in social media like Facebook, Twitter, WhatsApp messenger, Telegram, etc. in which I can join? Or can one be created? How can that group in social media be made popular among interested people all over the world? This is one place but no one is active here.
Maths Scrabble is not popular unlike Scrabble in different languages despite Maths Scrabble being open for all people in the world and not for speakers of a particular language. It is good to also have a World Maths Scrabble players association that conducts Maths Scrabble tournaments in a city every 6 months. No one plays Maths Scrabble online with other human players these days in game server of Scrabble3D application. Most of them play only French, German and Hungarian and not even English.

I need to do more testing of my latest created version 1.0.6 of math.dic with other human players. If anyone reading this forum is interested in trying games of Maths Scrabble with me, then please reach out to me here.
I can see many dozen views of my attached images of Maths Scrabble, both with fractional tiles and without fractional tiles, in my previous posts in this thread in this forum. But other than Scotty and Bussinchen, I haven't seen anyone responded to me here by means of their own created accounts.
Zitat von Raman im Beitrag #27
In Wikipedia,

Math sets use these 100 tiles:
2 blank tiles (scoring 0 points)
1 point: = ×18, 1 ×8, 2 ×7
2 points: 0 ×6, 3 ×6, 4 ×6
3 points: 5 ×6, 6 ×6, 8 ×5, + ×3, ×3
4 points: 7 ×5, 9 ×5, × ×3, ÷ ×3
5 points: ×2
6 points: ² ×1
7 points: ³ ×1
8 points: ! ×1
9 points: ^ ×1
10 points: . ×1, ×1
To play, you have to put in a true equation on the board.

Math sets previously used these 120 tiles:
3 blank tiles (scoring 0 points)
0 points: = ×18
1 point: 1 ×10
2 points: 2 ×8, 4 ×7, 5 ×7
3 points: 0 ×6
4 points: 3 ×7, 6 ×7, 8 ×6, 9 ×6
5 points: 7 ×6
6 points: + ×4, ×4, × ×4
7 points: ÷ ×3, ×3
8 points: . ×3
9 points: ^ ×1
10 points: ! ×1, ² ×1, ³ ×1, ×1, ×1, < ×1, > ×1

I removed the unfit tiles ∞, < and > because there is no meaningful equation containing ∞ and < and > will not restrict possibilities but instead they will allow human players or computer players to form wild mathematical equations at their own wishes.
If a Maths dictionary can be created that also includes < and > with just unary operators or binary operators on one side and numbers on other side, then that dictionary will contain 10¹³ equations. Modulo operator is a somewhat wild operator, but not as much as compared to < and >. I did not include it in my dictionary. If equations with modulo operator are also included in the Maths dictionary, then there will be 10¹⁰ equations in that Maths dictionary, just with that Maths dictionary containing all equations with modulo operator of length upto 11.

Although I reduced the point values of most of the tiles such that there are a few tiles with point value ≥ 5, similar to that of conventional English Scrabble, the number of tiles need not be just limited to 100 but it can be also 110, 120 or 130.
In the YouTube video of A-Math game style of Maths Scrabble that has been made by me that I have attached along with this post of mine in this thread in this forum, I used this tile distribution of 120 tiles, with point values of tiles best suited for playing against computer players as opponents, letting it know what tiles it should take seriously to play into the Scrabble board as early as possible and what not to:
2 blank tiles (scoring 0 points)
1 point: = ×20, 1 ×9, 2 ×8
2 points: 0 ×7, 3 ×8, 4 ×8
3 points: 5 ×8, 6 ×8, 8 ×7, + ×3, ×3
4 points: 7 ×7, 9 ×7, × ×3, ÷ ×3
5 points: ×1
6 points: ² ×1, ^ ×1
7 points: ×1
8 points: ³ ×1, ! ×1
9 points: ×1
10 points: ×1, . ×1
Equations with all of these tiles are available in my latest created version 1.0.6 of math.dic. There is also more ratio of numbers in this 120 tile version so as to make myself and computer players as opponents to play more equations with larger numbers as is the focus of my latest created version 1.0.6 of math.dic than equations with more operators.
This will also give more chances for myself and computer players as opponents to form more bingos with just an unary operator or a binary operator on one side and a number on other side and more such chances will mathematically and naturally occur in the first few moves of the game with 15×15 Scrabble board when most of the 15×15 Maths Scrabble board is empty. In larger size of 2D boards and in smaller or larger size of 3D boards, such chances can happen during any time in the middle of the played game of Maths Scrabble.

Out of the 10 YouTube videos that have been made by me that I have attached along with this post of mine in this thread in this forum, 3 of them use 21×21 board with 200 tiles and 7 of them use 15×15 board with 120 tiles.
Anyone who has any opinion about their own tile distribution for Maths Scrabble can share it here. I think of removing fourth power and fourth root from the tile set and instead have more tiles with square root and decimal point.

For playing games of Maths Scrabble against other human players, in which dictionary is not important and if a valid equation that is not present in the Maths dictionary is played, then it can be accepted by all of other human players whoever are involved in the played game by using a poll, it is possible to play equations with 2 or 3 square roots in the same equation.
Equations with a square root, a cube root or a fourth root and an unary operator or a binary operator on the same side can also be played. I have not included such equations in my latest created version 1.0.6 of math.dic because the Maths dictionary will become very large otherwise.

Scotty Offline

Administrator


Beiträge: 3.753

16.06.2021 07:39
#40 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #39
Scotty ... do you have any feedback about it? Do you like it? Do you think that it can be improved in any way? ... Or do you think that fractional tiles can be merged into math.dic as a single Maths dictionary? ... In my humble opinion, the most optimal way to implement Maths Scrabble in computer program is to do parsing... Isn't it?


Dictionaries are somewhat out of my business. For sake of usability I prefer a clean list without langA_variantA,langA_variantB,langB... what speaks for integration. But obviously we come to a point where dictionaries make sense. And we should implement a special mode for Math in the next version.


Download: Sourceforge | Help:Wiki | Discussion: Forum | News: Twitter | Fanship: Facebook | IRC: Freenode #scrabble3d

Raman Offline




Beiträge: 167

17.06.2021 15:45
#41 RE: Math scrabble implemented Zitat · Antworten

Zitat von Scotty im Beitrag #40
Dictionaries are somewhat out of my business. For sake of usability I prefer a clean list without langA_variantA,langA_variantB,langB... what speaks for integration. But obviously we come to a point where dictionaries make sense. And we should implement a special mode for Math in the next version.

If equations with fractional tiles are also integrated into math.dic, then there will be 10 million equations. Or 20 million equations if equations with tiles of both editions are mixed up. Do you think that a dictionary with tens of millions of equations is really feasible enough?
Other human players using it whenever playing against computer opponents as players should be asked to disable the categories which are part of other edition, so as not to make the computer moves slow down even in a 15×15 size of Scrabble board.

Can you please tell me whether computer moves are very slow in your system with my current version 1.0.6 of math.dic that contains over 5.6 million equations? Especially during the end game, in a 15×15 size of Scrabble board and in a 21×21 size of Scrabble board?
May be that your desktop system with a faster CPU should perform much better than my laptop system with a slower CPU.

What algorithm is the computer using for searching for the best possible move to play and for all available moves to play? Does it look for tiles in rack one by one iteratively or recursively? If a play connects one or more tiles already present on board, then does it look only for words or equation that satisfy the letter or character at the given position?
When a new game is started, then is it possible to remove all the loaded words in the memory (but not from the dictionary from which initially all the loaded words had been read) that are not part of the tile set at least when using no blank tiles? Blank tiles should not use a letter or character from the tile set of the other edition.

This is to improve the performance of computer players as opponents even in a 15×15 size of Scrabble board whenever other human players using integrated Maths dictionary containing equations of two different editions of Maths Scrabble do not disable the categories which are part of other edition, whenever playing against computer opponents as players.

Now, for something different:
A-Math game style of Maths Scrabble:

2 blank tiles (scoring 0 points)
1 point: = ×20, 1 ×3, 2 ×3
2 points: 3 ×3, 4 ×3, 6 ×3
3 points: 0 ×2, 5 ×3, 8 ×3, + ×5, ×5
4 points: 7 ×3, 9 ×3, 12 ×3, × ×5, ÷ ×5
5 points: 10 ×3, 15 ×3, 18 ×3
6 points: 14 ×3, 16 ×3, 20 ×3
7 points: 11 ×2
8 points: 13 ×2
9 points: 17 ×2
10 points: 19 ×2

Maths Scrabble in hexadecimal (base 16):

2 blank tiles (scoring 0 points)
1 point: = ×20, 0 ×6, 1 ×6, 2 ×6, 4 ×5
2 points: 3 ×5, 6 ×5, 8 ×5, A ×5, C ×5
3 points: 5 ×4, 7 ×4, 9 ×4, E ×5, + ×3, ×3
4 points: B ×4, D ×4, F ×4, × ×3, ÷ ×3
5 points: ×1
6 points: ² ×1, ^ ×1
7 points: ×1
8 points: ³ ×1, ! ×1
9 points: ×1
10 points: ×1, . ×1

I did not create dictionaries for these yet to play against computer players as opponents, just checked out by playing both sides by myself whether tile distribution would really be decent enough in playing these Maths Scrabble variants, in any size of Scrabble board, 2D or 3D.

Scotty Offline

Administrator


Beiträge: 3.753

18.06.2021 08:22
#42 RE: Math scrabble implemented Zitat · Antworten

Zitat von Raman im Beitrag #41
Do you think that a dictionary with tens of millions of equations is really feasible enough?

Not in the foreseeable future. While it's possible, you wait ages until this list is loaded.

Zitat von Raman im Beitrag #41
What algorithm is the computer using for searching for the best possible move to play and for all available moves to play?

Simple brute-force algorithm, see http://scrabble.sourceforge.net/wiki/ind.../Usage:Computer
Faster approach would be the DAWG, maybe I'll do this when v3.2 comes. But don't expect it to boost the speed by magnitude, rather something like 20%.


Download: Sourceforge | Help:Wiki | Discussion: Forum | News: Twitter | Fanship: Facebook | IRC: Freenode #scrabble3d

Seiten 1 | 2 | 3
 Sprung  
Xobor Forum Software von Xobor.de
Einfach ein Forum erstellen
Datenschutz