嗨,哈布罗夫西 在本文中,我想与您分享一些我的经验,并向您展示我创建Filward的简单算法。
Filward,我的意思是这个熟悉的游戏。

游戏有一个通常大小为NxN的字段,其中填充了单词。我们的目标是找到所有的单词。
在我们的版本中,该字段中将不存在不属于任何单词的字母,并且会击倒玩家,并且不会一次包含多个单词的字母。通常的经典文件字。这样就完成了任务。需要决定。
首先,我总是将任务分解为子任务。为了解决这个问题,我将需要:
- DB用词。
- 一种将单词插入字段的算法。
- 一种算法,用于检查用户选择的单词的正确性。例如,我们在字段中输入“ programming”(编程)一词,然后用户看到“ world”(世界)并选择该词。用户是对的-有这样一个词,但我们没有猜到。我们需要一种算法来检查用户的猜测并告诉他他是否正确。
, . .
1) .
, . words_2 . words_3 . :
words_2
-
-
-
-
words_3
-
-
-
-
words_4
-
-
words_5
-
-
.. ( , ).
5x5.
. 5x5, , = 25. 2 :
- - N- - , = 25.
- - , = 25.
1
- N, . N = 6. - .
25/6 = 4. words_4 .
N 1, .
25 – 4 = 21
6-1 = 5;
N!=1;
++giveWord() – , , .
wordsArray.Push() – , .
N=6;
freePlace =25;
While(N!=1)
{
wordsArray.Push( giveWord( freePlace/N ) );
freePlace-= freePlace/N;
N--;
}
wordsArray, 5 (4,4,4,4,4).
, = freePlace.
wordsArray.Push( giveWord( freePlace ) );
(4,4,4,4,4,5). =25. .
, . .
.
0 1 ( 0 1) 0 1 freePlace / N. .
2
- , . – 25. , . - - . - , , - . , 25 , 2 , 12 13 . . 25 – 5x5, 9 – 3x3, ? , - 1- . - .
所以。我们已完成的部分的1/3。我们有一个数据库和一个算法,用于形成单词数组,以此填充我们的领域,并且第一部分到此结束。下一个 我们将在字段中推送这些单词,以便它们都适合。