![]() |
![]() |
|
Male igre Igre sa Interneta, Flash, online, igre „za kancelariju” i sl. |
![]() |
|
Alatke vezane za temu
![]() |
Vrste prikaza
![]() |
![]() |
#1 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Sokoban Puttle Solver v3.7.2 Tutorilal
Program možete preuzeti besplatno sa Kod:
http://codecola.net/sps/index.php On se ne instalira, i kad ga pokrenete, dobićete njegov radni prozor ![]() Ako imate spremne zadatke sa potrebnom ekstenzijom, možete sa menija File -> Load Labyrint da ga pronađete, učitate i sa menija Puzzle -> Start Solving da krenete u rešavanje. Potrebne ekstenzije zadataka su *xsb ili *.lab što je bitna stvar, jer programi poput Sokoban for Windows Bjorna Kalmarka koriste fajlove sa ekstenzijom *.slc. Ne znam da li postoji program za konvertovanje, no to ovde nije ni bitno toliko, jer sa solverom možete sami napraviti zadatak sa potrebnom ekstenzijom. Kad ste startovali program, kliknite na "Make" ![]() pa na Make Puzzle, da biste aktivirali ovaj meni za pravljenje zadataka. Ponovo kliknite na Make, i videćete da je sada padajući meni aktivan ![]() Želimo da napravimo sami zadatak, zato biramo sa izbornika "New puzzle" ![]() Otvoriće se prazan prozor u kome pravite svoj zadatak, birajući svaki put potrebnu vrstu elemenata sa menija "Make"; ![]() Ako ste recimo izabrali "Wall", cigle u zidu možete unositi bilo gde u radnom prostoru neprekidno levim klikom miša u prazno polje. Ako ste kliknuli u polje gde se veš nalazi cigla, ona će biti poništena, što olakšava popravke kod pogrešnih unosa. Dakle, ne morate za svaku ciglu ponaosob stalno pritiskati "Wall" sa menija, jednom kad pritisnete, alat je stalno aktivan, sve dok ne odaberete drugi unos. Dakle, element zadatka unosite levim klikom miša, nakon što ste vrstu unosa odabrali sa menija "Make". Levi klik na uneti element u prozoru, ako je aktivan njegov unos, poništava ga. Evo primera uspešno napravljenog zadatka ![]() Postoje određena pravila po kojima se unose elementi zadatka, na primer, Solver vam neće dopustiti unošenje "target-a", pre nego što ste uneli blokove i cigle iz zida, a kod pravljenja ciljnih polja, vodi računa o broju postavljenih elemenata. Na primer, postavili ste 5 blokova i pokušavate da postavite 6-to ciljno polje... Program vam to neće dopustiti dok ne postavite još jedan blok. Postoje još neka ograničenja, a o tome je najbolje pročitati na home stranici. Inače, program zna često i da "zariba" iz čista mira, onda je jedini lek da ga startujete ponovo. Ono što ste napravili treba sačuvati, sada sa padajućeg menija Make birate Save as XSB ![]() odeđujete ime, format i mesto gde ćete sačuvati svoj napravljeni zadatak ![]() Dok ste pravili zadatak, ništa sem "Make" menija nije bilo aktivno. Sada treba deaktivirati taj izbornik, da biste aktivirali ostale menije; (dečekirajte Make puzzle) ![]() Iako je vaš napravljeni zadatak ostao u radnom prostoru, izgleda da radni prostor i prostor za rešavanje nisu isto, treba pozvati zadatak u ovaj drugi (ako sam u pravu) sa izbornika "File". Ovo još i stoga što program izgleda pamti prethodne poslove, te ako odmah pristupite rešavanju sa Puzzle -> Start Solving može se desiti da krene da rešava poslednji zapamćeni zadatak, a ne novi. Dakle: sačuvajte novi zadatak, pa ga potom pozovite! ![]() Primetićete po učitavanju zadatka da je on promenio poziciju, i skroz je pri vrhu. Rešavanju pristupamo sa izbornika "Puzzle" ![]() tu su i opcije da rešavate zadatak tasterima sa strelicama sa tastature.... Program će krenuti u rešavanje, i pri tome mu je potrebno dosta memorije, u šta se možete uveriti praćenjem toka rešavanja po informacijama u dnu prozora za rešavanje, koji ponekad nije prisutan, te izgleda da Solver ima neke bagove... ![]() Ako je zadatak pretežak, izbaciće vam poruku da je prekoračio memoriju i sam če prekinuti rešavanje. Ako je pak bio uspešan, izbaciće vam pop-up o tome ![]() Zatvorite pop-up prozor kliknuvši na Ok, i ostaje još samo sačuvati to rešenje. i vodite računa o mestu i ekstenziji fajla ![]() Ako sada želite da vidite to rešenje, pozovite ga sa File -> Load solution a onda sa Puzzle -> Show solution možete da ga vidite. Inače, treba se malo poigrati sa Solverom, da biste ga upoznali, a očito je da je moje i njegovo poznanstvo kratko. Poslednja ispravka: Suad Novic (7.10.2010 u 4:17) |
![]() |
![]() |
![]() |
#2 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Još samo sitna napomena u vezi demonstracije rešenja koje je Solver našao za neki zadatak. Demonstraciju aktivirate sa menija Puzzle, i vodite računa da je odčekirano Auto Show
![]() da biste videli rešenje potez po potez. Levi klik bilo gde u prozoru za demonstraciju pomera dokera za jedno polje. Ako vam je pak čekirana opcija Auto Show, rešenje će biti prikazano u kontitnuitetu, poprilično brzo, i treba vam dobra memorija da ga zapamtite. Dakle, otvotite meni Puzzle, odčekirajte Auto Show ako je eventualno bio čekiran, ponovo otvorite meni Puzzle i kliknite Show solution. Onda po jedan levi klik mišem u prozoru za demonstarciju za svaki pokret dokera. Generalno treba napomenuti da je Solver sjajan kad su u pitanju zadaci sa malim brojem blokova, gotovo da je munjevit, dok mu za zadatke sa većim brojem blokova treba dosta više vremena i više memorije. Negde na home strani sam čini mi se pročitao da je za neki zadatak rešenje našao posle dva sata. |
![]() |
![]() |
![]() |
#3 |
Banned
Član od: 23.10.2005.
Lokacija: Nish
Poruke: 2.503
Zahvalnice: 1.059
Zahvaljeno 821 puta na 447 poruka
|
![]()
Ma sve je to lepo ali od kad je Sokoban strategija?? Ovo treba premestiti u neku drugu temu
|
![]() |
![]() |
![]() |
#4 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]() |
![]() |
![]() |
![]() |
#5 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Postoji mnogo elegantniji način da učitate zadatak u Solver. Trebate da imate Sokoban for Windows 3.1. b2 (2.3 b6 nema edit kako mi se čini), otvorite ga. izaberite zadatak i kopirajte
![]() Pastirajte u neki tekst editor i sačuvajte negde fajl sa .xsb ekstezijom, koji ćete pozvati u Solver. Ostalo već znate. |
![]() |
![]() |
![]() |
#6 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Može se koristiti i Sokoban for Windows 2.3 b6 za pravljenje *xsb fajlova za učitavanje u Solver.
Sa menija Game -> Save Game As... sačuvajte neki zadatak. Dobićete fajl koji izgleda ovako ================== <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE SavedGame SYSTEM "SaveGame.dtd"> <SavedGame> <File>C:\Program Files\Sokoban 2.0\Levels\81.slc</File> <Player>Suad</Player> <Nr>9</Nr> <History></History> <Level Id="10" Width="11" Height="12"> <L> ###</L> <L> #.#</L> <L> ##$####</L> <L> # #</L> <L> # ** ####</L> <L> # * *** #</L> <L>##* * * #</L> <L># * ## * ##</L> <L># * * #</L> <L># ** * #</L> <L># @ ###</L> <L>########</L> </Level> </SavedGame> ============================= i potrebno je odstraniti višak, da bi izgledao ovako ============================= ### #.# ##$#### # # # ** #### # * *** # ##* * * # # * ## * ## # * * # # ** * # # @ ### ######## =========================== To možete uraditi u nekom tekst editoru, na pr. EmEditor-u, sa četiri operacije 1) Brisanje teksta iznad prvog para <L>...</L> 2) Brisanje teksta ispodd zadnjeg para <L>...</L> (selektujte potrebno, pa Cut) 3) Brisanje svih karaktera <L> 4) Brisanje svih karaktera </L> (Search -> Replace pa zamenite karakter praznim) EmEditor ima opciju za snimanje makroa, i verovatno ovo može da se automatizuje snimanjem jednog ili više (?) makroa, ali ja to neznam da uradim. Možda neko zna kako? |
![]() |
![]() |
![]() |
#7 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Yutaka Emura, autor EmEditor-a je bio ljubazan da mi napravi makro za ono u mom poslednjem postu. Evo ga
====================================== document.selection.StartOfDocument(false); document.selection.Find("^\\s*?<L>.*?</L>",eeFindNext | eeFindSaveHistory | eeFindAround | eeFindReplaceRegExp); document.selection.CharLeft(false,1); document.selection.StartOfDocument(true); document.selection.Delete(1); document.selection.EndOfDocument(false); document.selection.Find("<L>.*?</L>\\s*?$",eeFindPrevious | eeFindSaveHistory | eeFindAround | eeFindReplaceRegExp); document.selection.CharRight(false,2); document.selection.EndOfDocument(true); document.selection.Delete(1); document.selection.Replace("^\\s*?<L>(.*?)</L>\\s*?$","\\1",eeFindNext | eeFindSaveHistory | eeReplaceAll | eeFindReplaceRegExp); =============================================== On kaže da ti to trebalo da završi posao. No, ja u životu nikada nisam koristio a kamo li napravio makro, te neznam šta da radim sa ovim. Pokušao sam da petljam nešto unošenjem red po red prethodnog teksta, sa pritiskom na enter posle završenog reda uz uključen macro recorder, i sačuvao to kao nešto.jsee file. Učitao sam sirovi zadatak koji treba da se popravi, i pokušao da primenim taj "moj makro" na njega da očisti višak. Ne lezi vraže, rezultat je bio neočekivano iskakanje prozora različitih windows aplikacija, što znači da sam zeznuo stvar kod pravljenja. Molio bih za pomoć nekoga ko koristi EmEditor i zna šta treba uraditi sa onim Yutaka-nim, tj. kako napraviti taj makro i kako ga primenjivati. Hvala unapred ljudima dobre volje. Poslednja ispravka: Suad Novic (27.11.2010 u 19:47) |
![]() |
![]() |
![]() |
#8 |
Ad Ministrator
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
|
![]()
Pogrešan pristup.
Ne treba da ga snimaš kao Record Macro, već bukvalno da iskopiraš tekst makroa u tekst fajl i da ga nazoveš odgovarajuće za makro, valjda nešto kao SkiniXML.jsee ili slično. (Inače, taj makro svodi se na prepoznavanje delova teksta koji treba da se obrišu, tzv. parsiranje teksta, što se svodi na unošenje tog teksta u obliku tzv. regularnog izraza, a zatim prosto zadavanje komandi za traženje i zamenu sa praznim nizom - što će reći, brisanje nepoželjnih XML komandi iz teksta.) Onda treba nekako da pozoveš makro iz programa. ne znam taj editor, ali valjda ima neki meni Tools, pa tu potraži Macro i vidi šta tu ima. Moguće da ćeš morati taj fajl sa tekstom koji ti je čovek napisao nekako ubaciš u spisak makroa koje editor "poznaje" ili šta već. Tu bi trebalo i da nađeš na koji način se makro poziva: da li samo prostim pozivom iz nekog spiska makroa (nađeš ga u listi i klikneš na Run, Execute ili šta već) ili moraš da ga dodeliš nekoj kombinaciji tastera (recimo Ctrl+Alt+X). Na žalost po tebe, tvoj problem se najlakše rešava čitanjem helpa ili traženjem na Internetu, ali znam da ti je to problem jer ne znaš (dobro) engleski. Pa, ako ništa ne uspeš sam da uradiš, potraži nekoga ko je dobar sa engleskim i krenite da tražite po Helpu ili da jurite neki sličan primer na Internetu... Naravno, ako se neko sa foruma ne sažali ne pronađe ti to. Ja nažalost nemam vremena, u gužvi sam. Uzgred, možeš i sam da probaš da snimiš makro, ali ne onako kako si to radio, već prosto da uključiš snimanje makroa i da radiš ručno traženje i zamenu. To ti neće biti problem sa <L> i </L>, ali verovatno nećeš moći da mu kažeš da automatski prepozna onih 8 redova na početku teksta (počinje sa <XML....) i ona dva reda s kraja teksta (počinje sa <Level...). Zato ti je čovek i napisao makro. Doduše, ako ti sam napraviš makro koji briše elove, lako ćeš pobrisati višak s početka i kraja. |
![]() |
![]() |
![]() |
#9 |
Ad Ministrator
Član od: 19.8.2005.
Lokacija: Beograd, SK
Poruke: 7.280
Zahvalnice: 29
Zahvaljeno 3.041 puta na 1.544 poruka
|
![]()
Evo, pogledao sam ja, nije strašno.
Kopiraš (Copy) i zalepiš (Paste) tekst makroa koji ti je čovek dao u prazan dokument. Odeš u meni Tools (ili Macros, u nekoj profesionalnoj verziji editora, mislim ipak da nemaš nju) i izabereš opciju Save Macro. Daš makrou ime. Kažeš Save (snimi). Onda odeš na Tools, Macros, Select, otvori ti se prozor za učitavanje fajlova (Open File), izabereš svoj fajl sa makroom. Onda učitaš fajl koji hoćeš da ti makro sredi (pobriše one XML komande i ostane ti čisti tekst). Onda odeš na Tools, Macros, Run (valjda, smušeno im je uputstvo, kao da postoje dve verzije tog editora, valjda je ovo prava). Trebalo bi da to startuje makro koji si prethodno učitao sa Macros, Select. I uradi ono što treba nad fajlom. Kraj priče. Pazi, ja ovo pišem krajnje napamet, nit sam video taj editor, nit sam video i kako u njemu meniji izgledaju, niti mogu da probam, jer na glupom sajtu uopšte nema nikakvih slika. Ali otprilike ti je to uputstvo, verujem da ćeš se snaći. |
![]() |
![]() |
Sledeći korisnik se zahvaljuje korisniku VojaM na korisnoj poruci: | ||
Suad Novic (2.12.2010) |
![]() |
#10 |
Deo inventara foruma
Član od: 22.10.2007.
Lokacija: Niš
Poruke: 3.157
Zahvalnice: 239
Zahvaljeno 425 puta na 351 poruka
|
![]()
Evo konačnog rešenja, naravno opet uz ljubaznost gdina Yutake, kome se i na ovakav način zahvaljujem
=========================== Hi snovic, eeFindSaveHistory is a new flag introduced on new version of EmEditor. I recommend you use the latest version of EmEditor, currently v10. If you need to use an old version, please remove "eeFindSaveHistory | " from the macro. Thank you, ---------------- Yutaka Emura Developer of EmEditor http://www.emeditor.com/ =========================== Nakon edita makroa i brisanja onog na šta je ukazano, Makro savršeno radi. Dakle, ako se koristi ranija verzija EmEditor-a (ja koristim 7.01), ovaj makro treba da izgleda ovako ++++++++++++++++++++++++++++++++++++++++++ document.selection.StartOfDocument(false); document.selection.Find("^\\s*?<L>.*?</L>",eeFindNext | eeFindAround | eeFindReplaceRegExp); document.selection.CharLeft(false,1); document.selection.StartOfDocument(true); document.selection.Delete(1); document.selection.EndOfDocument(false); document.selection.Find("<L>.*?</L>\\s*?$",eeFindPrevious | eeFindAround | eeFindReplaceRegExp); document.selection.CharRight(false,2); document.selection.EndOfDocument(true); document.selection.Delete(1); document.selection.Replace("^\\s*?<L>(.*?)</L>\\s*?$","\\1",eeFindNext | eeReplaceAll | eeFindReplaceRegExp); ++++++++++++++++++++++++++++++++++++++++++ Time je ova tema (mislim) potpuno zaokružena, bar što se mene tiče. P.S. Voja je sve tačno "nanjušio" u svom drugom odgovoru. Postoje 4 verzije EmEditor-a: 7, 8 ,9 i 10, i u svakoj novoj je dodavano po nešto. Na stranici ima dosta video materijala i on umnogome olakšava prvo upoznavanje sa njim. Da se ovo ne shvati kao reklama, ali moj je utisak da je EmEditor 10.04 (zadnja verzija) mali (9,38 MB), ali izvanredan alat za Web programere. EmEditor inače ima impozantan help, i ljudi koji pišu u javi će se lako snaći sa ovim. Poslednja ispravka: Suad Novic (2.12.2010 u 7:09) |
![]() |
![]() |
![]() |
Bookmarks sajtovi |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Puzzle Quest: Galactrix | ForceCommander | Male igre | 2 | 28.12.2010 22:36 |
Puzzle Quest 2 | DeCoy | Male igre | 4 | 29.8.2010 22:12 |
Puzzle Dimension | wolf88 | Male igre | 0 | 25.8.2010 20:43 |
Free Cell solver | Suad Novic | Male igre | 2 | 24.6.2008 8:56 |
The Worlds Most Difficult Puzzle | Željko | Male igre | 11 | 5.2.2008 21:36 |