Skocz do zawartości

Polecane posty

Autor tematu Napisano (edytowany)

Elo, pewnego dnia zainspirował mnie pewien ex user MPCForum, który napisał rozwiązywacz tego typu zagadek [np. M _ _ I _  = (MAKIN)]. Sobie pomyślałem, że też takie coś zrobię tylko w AutoIt, bo będzie najprościej (chciałem w najlepszym języku PHP, ale za duży ten plik) 😎

(program można użyć do np. znalezienia słów w ostatnim konkursie na forum, ale nie polecam, nie znajdziecie tam słów z odpowiedziami)

Żeby było prościej, to pokaże o co chodzi właśnie na tych przykładach z konkursu mpc:
 

Cytat

1. W _ _ _ _ N _ _ E _ _
2. _ _ _ _ I _ _ O _
3. M _ _ _ _ _ _ O _
4. _ _ E _ _ _ C _ _ _
5. _ _ _ M _ _ _ N
6. M _ _ _ N | P_ _RA_I | _ R A _ | _ | M _ N _ _ _ _ _ T
7. M _ C | _ E _ S | T _ A _ | _ D _ _ W _ _ D A | Z _ | W _ _ D _ M _ _ C _ | Z | _ Y _ I _ | _ O _ U _
8. N _ _ W _ Ę _ _ J | P _ U _ Ó W | P _ S _ A _ A | U _ Y T _ _ _ N _ K | _ _ _ _ _ _ _ _ _ _
9. _ _ _ _ _ _ | N _ P _ _ A _ | N _ _ W _ Ę _ E J | P _ _ _ Ó W
10. J _ D _ N _ M | L _ U _ _ A _ E _ | N _ G R _ D _ | B _ S _ | M _ M _ E R | J _ S _ | _ _ _ _ _

Ok, co potrzebujemy?

 

Kod to spoilerze.

Spoiler
#include <array.au3>
#include <File.au3>
$RunningTime = TimerInit()
Local $timeSec = Round($RunningTime / 1000000000000,2)
Local $words = "slowautf8.txt"
Local $wordsNumber = _FileCountLines($words)
Local $saveTo = "C:\Users\User\Desktop\autoit\mpcforum\znalezione_slowa.txt"
If FileExists($words) = 0 Then FileWrite($words)

; 1 slowo '(?m)^w\p{L}{4,4}n\p{L}{2,2}e\p{L}{2,2}$'
; 2 slowo '(?m)^\p{L}{4,4}i\p{L}{2,2}o\p{L}{1,1}$'
; 3 slowo '(?m)^m\p{L}{6,6}o\p{L}{1,1}$'

Local $answers = StringRegExp(FileRead($words), '(?m)^w\p{L}{4,4}n\p{L}{2,2}e\p{L}{2,2}$', 3)
Local $found = UBound($answers, $UBOUND_ROWS)

_FileWriteFromArray($saveTo, $answers)
MsgBox($MB_SYSTEMMODAL, "Wynik", "Znalezionych slow: " & $found & " z " & $wordsNumber & " wszystkich" & @LF & "w " & $timeSec & " sekund", 10)
If FileExists($saveTo) = 1 Then Run ( "notepad.exe " & $saveTo, @WindowsDir, @SW_MAXIMIZE )

 

Jak włączyć:

  • skrypt dajemy w folderze z plikiem ze słowami
  • zmieniamy 5 linijkę (7 też można)
  • w 14 linijce wpisujemy wyrażenie, podałem trzy pierwsze (zakomentowane)
  • naciskamy F5
  • czekamy aż znajdzie, ile to potrwa pewnie zależy od pc, u mnie 4s
  • gotowe, po kliknięciu OK otworzy się txt z pasującymi słowami

 

 

No to tyle, czekam na ocenkę i wasze wyrażenia do kolejnych słów :DDD

@MPC News

 

 

Gif jak działa w spoilerze:

Spoiler

10RneZo.gif

@wastajak ogarnąć przejście z nanosekund zwracanych z  TimerInit() do sekund bez używania zaokrąglania? bo tak jak zrobiłem to śmiech na sali ;pp 

 

Edytowano przez Marchwj
zły link

 

Udostępnij ten post


Link to postu
Pani Kasia

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...