![]() |
![]() |
-Anagram- |
![]()
Post
#1
|
Goście ![]() |
czesc, na stronie Polksiej Federacji Skrabli http://www.pfs.org.pl dziala anagramator. czy ktos moze mi powiedziec, jak zabrac sie do czegos podobnego za pomoca php i czy to jest w php wykonalne ?
pozdrawiam, maniak skrabli |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Anagramator z strony którą podaleś jest zrobiony w php , więc można to zrobić w php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 20.08.2004 Skąd: Warszawa Grochów Ostrzeżenie: (0%) ![]() ![]() |
Chyba musiałbyś się do tego zabrać tak:
1. zrobić bazę danych z listą słów, które można utworzyć 2. wpisany ciąg znaków podzielić na poszczególne znaczki (chyba do tego służy explode() ), ale głowy nie dam 3. zrobić zapytanie SQLa, które by dla każdej literki (w tym przypadku U i M) robiło coś takiego:
zapytanie to wybierze te słowa, które spełnią taki warunek, że każda litera z wpisanego ciągu będzie się znajdowała: albo na początku, albo w środku, albo na końcu szukanego wyrazu. chyba innej możliwości nie ma, ale jeśli jest to zwracam honor (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował rolling_stone 27.08.2004, 18:50:58 |
|
|
-Anagramator- |
![]()
Post
#4
|
Goście ![]() |
Baza, czyli słownik wydaje się konieczny. A jak wyglądałaby sprawa z odmiana wyrazów? Przypadki, liczby, rodzaje, czasy? A z wyrazami, gdzie tzw.rdzeń słowa jest ruchomy, np. statek - statku? Albo wymienia się ó na o itp?
Jeśli ktoś ma jakiś pomysł, prosze sie podzielić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pozdrawiam, maniak skrabli |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 20.08.2004 Skąd: Warszawa Grochów Ostrzeżenie: (0%) ![]() ![]() |
Skomplikowana sprawa, bo na polskiej deklinacji wysiadają nawet najlepsze translatory.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cytat 1. zrobić bazę danych z listą słów, które można utworzyć chyba nie ma innego wyjścia (i muszą tam być wszystkie formy, czyli np. mucha, muchy, musze, muchą, muchach...; umiem, umieją, umielibyście, umieć, umiecie, umieliby...), chyba że miałoby wyświetlać wszystkie mozliwe kombinacje, bez sprawdzania, czy takie słowa w ogóle istnieją, ale przy 7 literach wyszłoby chyba 7!=5040 kombinacji (nie jestem pewien, czy dobrze to liczę) Cytat 2. wpisany ciąg znaków podzielić na poszczególne znaczki (chyba do tego służy explode() ), ale głowy nie dam explode() chyba nie... Cytat 3. zrobić zapytanie SQLa, które by dla każdej literki (w tym przypadku U i M) robiło coś takiego:
zapytanie to wybierze te słowa, które spełnią taki warunek, że każda litera z wpisanego ciągu będzie się znajdowała: albo na początku, albo w środku, albo na końcu szukanego wyrazu. dołożyłbym jeszcze na końcu np.
(przy podanych 3 literach) żeby z liter M, I, M nie wyszło m.in. słowo "mi" czy "im" później trzeba by było jeszcze sprawdzać, czy wyciągnięte z bazy słowa są faktycznie anagramami, żeby nie napisało słowa "oko" z liter K, O, K (może wystarczyłoby w zapytaniu "grupować" występujące kilka razy te same litery:
?) możliwe, że istnieje jakiś inny na to sposób; a najlepiej spytać Pawła Górnego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 2 Dołączył: 20.08.2004 Skąd: Warszawa Grochów Ostrzeżenie: (0%) ![]() ![]() |
Cytat(tumczasty @ 2004-08-28 11:10:15) Cytat dołożyłbym jeszcze na końcu np.
(przy podanych 3 literach) żeby z liter M, I, M nie wyszło m.in. słowo "mi" czy "im" później trzeba by było jeszcze sprawdzać, czy wyciągnięte z bazy słowa są faktycznie anagramami, żeby nie napisało słowa "oko" z liter K, O, K (może wystarczyłoby w zapytaniu "grupować" występujące kilka razy te same litery:
?) Racja, dzisiaj w nocy mi to też do głowy przyszło, a nie zdążyłem tu napisać. A propos słownika, to może dałoby się wyciągnąć z jakiegoś słownika aspella, pspella, czy czegoś takiego podobnego?... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 193 Pomógł: 0 Dołączył: 14.09.2003 Skąd: Brodnica (koło Torunia) Ostrzeżenie: (0%) ![]() ![]() |
Jak baza wytrzyma to można słownik w bazie przechowywać. Kiedyś sobie ściągnęłem program Lit do gry w scrabble albo jakąś inną odmianę tej gry (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i słownik miał tylko 32 MB (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
-ulubieniec_scrabblow- |
![]() ![]()
Post
#9
|
Goście ![]() |
(IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)
Jak brakuje wam słownika, można ściągnąć go stąd: Słownik alternatywny do gier Wybrać odpowiedni słownik (alt-RRRRMMDD.exe dla użytkowników Windows, a alt-RRRRMMDD.tar.gz dla Linuxa). Słownik zawiera ponad 3 300 000 haseł - znanych i mało znanych. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 23.09.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli wielce jest prawdopodobnym złożenie programu podającego wszelkie mozliwe wyrazy z danego ciągu liter. Nie musi być to koniecznie jakiś konkretny wyraz...
A teraz pytanie. Gdzie mogę znależć taki program ze słownikiem wyrazów jezyka angielskiego. Jeżeli ktoś ma jakieś sygestie prosiłbym o link. Tudzież pomoc w samodzielnym napisaniu w/w programu. Dzięki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 08:46 |