![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam, pamięta ktoś z Was może taka mała, stara gierkę (nie komputerową (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ), która była zbudowana z 15 ponumerowanych kolejno kwadracików na planszy 4 na 4 i chodziło w niej o ułożenie tych kwadracików w kolejności ruszając je tylko po jednym pustym polu? Otóż napisałem implementacje tej gry w php i wypadałoby wiedzieć chociaż jak to się zwie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Może działający skrypt przypomni komuś o jaka grę chodzi...
http://www.crash.gaa.pl/gra.php Ten post edytował crashu 22.06.2005, 12:24:16 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hihi, fajna implemetacja. gratualacje.
Co do nazwy, to byŁo wiele wersji tej gierki i jakoś nie wiem czy ma ona jakąć konkretną nazwę |
|
|
![]()
Post
#3
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Mozna dostac zipa tego (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) przeladowania dlugo trwaja (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) szkoda ze nie jest to w js... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Na localhoscie bedzie smiagac:) |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A tam, dość szybko się przeładowuje, ale jeśli chcesz źródło to proszę bardzo http://crash.gaa.pl/gra.phps. Miłej gry.
btw. Ciekawe czy kiedyś uda mi się w to wygrać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Hehe mi sie udalo. Gierka jest calkiem ok. Kiedys byl taki konkurs mozna bylo aparacik wygrac. Jak tylko konkurs wystartowal to byla walka programow.
@crashu Lepiej by bylo jak by sie klikalo w numerki, lub w cale kwadraty a nie w strzalki. |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi sie, ze kod nie jest do konca sprawny...
Ułożyłem wszystko poprawnie: klik i nie pojawilo sie zadnej info, o tym ze wygralem. Za to po wykonaniu jakiegokolwiek ruchu z tego ulozenia juz mi pokazalo, ze wygralem... i cos jeszcze bonusowo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) -> klik |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No kod nie był sprawny, przyznaje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pisałem dość szybko w niecałe 2 godzinki. Ułożyłem, zobaczyłem, że nie ma info o wygranej - poprawiłem, warning od array_keys stłumiony... A co do klikania w całe kwadraciki - nie chce mi się już tego przerabiać, kod wolny, róbta co chceta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Poprawiony kod do pobrania z linku w poście powyżej... Edit: A jednak zrobiłem "klikanie w cały kwadrat"... Wersja raczej finalna. Edit2: W sumie jakiś moder mógłby przerzucić ten wątek do Ocen. Tam chyba więcej ludzi zagląda... Ten post edytował crashu 22.06.2005, 12:26:32 |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
U mnie chodziło to całkiem szybko i sprawnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Klik |
|
|
![]()
Post
#9
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
No to na razie wygrywam: 122s
http://northslope.lap.pl/dev/smieci/crashu...s-1280x1024.jpg (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale trzeba znac sposob na ta gre, to bez problemow ulozysz nawet plansze 10x10: zaczynasz od pierwszej kolumny i wiersza (dla 5x5): Kod 01 02 03 04 05
06 .. .. .. .. 11 .. .. .. .. 16 .. .. .. .. 21 .. .. .. .. potem 01 02 03 04 05 06 07 08 09 10 11 12 .. .. .. 16 17 .. .. .. 21 22 .. .. .. a potem 9ke jest latwo ulozyc |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
przy normalnej grze mi wyskakuje "niepoprawny ruch, nie kombinuj"
---- fajnie by bylo to uoglonic i rozszerzyc na dowolną wybieraną długość boku tego kwadratu Ten post edytował rogrog 22.06.2005, 20:56:59 |
|
|
![]()
Post
#11
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
W wolnej chwili napisałem coś podobnego w JS. Brakuje kilku bajerów jak liczenie czasu, ilości ruchów czy restartu, ale nie chciało mi się tego już dzisiaj robić. Kod jest gotowy do ustawienia dowolnego rozmiaru planszy (nawet niekwadratowej).
Demo: http://cudi.dotgeek.org/js/game/index.html Kod: [JS] http://cudi.dotgeek.org/js/game/game.js [CSS] http://cudi.dotgeek.org/js/game/game.css Nie wiem czy będe miał jeszcze zapał by to dopracować, więc jak ktoś ma ochote sie pobawić to prosze bardzo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) --- EDIT --- Dodałem małe utrudnienie. Teraz zamiast cyferek są pociete kawałki obrazka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ciekawe czy teraz komuś udałoby się ułożyć kwadrat 10x10 (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Myśle że teraz taką gierke można nazwać poprostu puzzle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Chyba mialeś dluższą wolną chwilę (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) . Super. NIe trzeba przeladowywać, nie trzeba klikać na strzałki tylko na kwadraciki (@SongoQ by się ucieszył). Coolowe.(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
pozdro |
|
|
![]()
Post
#13
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@Cudi super. Mozna grac i grac.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Fajny sofcik (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Przenoszę jak prosi autor (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
@Cudi: tworzac nowa plansze, szuffle()ujesz klocki, zamieniajac DOWOLNE dwa miejscami (zamiast ich przesuwac), przez co czasami wychodza uklady nie do rozwiazania.
|
|
|
![]()
Post
#16
|
|
Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Skrypt wypas, zaczynam doceniać JS, ale troche mnie irytuje 'interpreter' Opery, bo dość często akurat przy tej grze się wywala cała przeglądarka (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
Ten post edytował crashu 23.06.2005, 13:21:53 |
|
|
![]()
Post
#17
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
@dr_bonzo: nie wiedziałem jak rozwiązać mieszanie, wkońcu wpadłem na pomysł by spłaszyć tablice z mapą, posortować i spowrotem wsadzić w dwa wymiary. Też zauważyłem że czasami poprostu się nie da. Jak mi się będzie kiedyś nudziło postaram sie to naprawić. Jeśli możesz dać jakieś wskazówki jak to rozwiązać to czekam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
@crashu: przyznaje się bez bicia, że sprawdziłem to tylko w FF. Ale Opera dość często robi śmieszne rzeczy przy DHTML'u (niestety). Pod IE działa (o dziwo) sprawnie. |
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
@Cudi: cos ty zrobil -- teraz tego nie da sie ulozyc (obrazki zamiast liczb) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Wlasnie lukam do kodu i wrzuce dzisiaj zmiany. |
|
|
![]()
Post
#19
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Ja też pracuje nad poprawkami, i w sumie wymyśliłem takie mieszanie:
1. wybieramy wszystkie komórki które da sie przesunąć 2. losujemy jedną z nich 3. przesuwamy ją w puste miejsce I tak ileś tam razy. Niestety, ciężko mi znaleźć liczbę która zagwarantuje dokładne mieszanie. Jest to też metoda troche niewydajna, niestety czuć jej działanie podczas wczytywania i restartów. Wyniki badań na ilością ruchów: ilość komórek (w jednym rzędzie lub kolumnie, mamy kwadrat) ^ 2 - miesza tylko środek, brzegi pozostają nieruszona ilość komórek ^ 3 - brzegi nie są dokładnie wymieszane ilość komórek ^ 4 - całkiem ładnie wymieszane, ale dla planszy 5x5 to już 625 iteracji, za dużo, gra wczytuje sie wooolno. EDIT: przeniosłem najnowszą wersje pod: http://cudi.dotgeek.org/js/puzzle/index.html (widać niedokładność mieszania przy trzeciej potędze). |
|
|
![]()
Post
#20
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Zaczalem kodowac, przerabialem calkowicie sktypt (m.in. indexacja od zera - tak jak w twojej najnowszej wersji) zeby byl latwiejszy do operacji i ugrzezlem na errorach.
Cytat Ja też pracuje nad poprawkami, i w sumie wymyśliłem takie mieszanie: Tez tak chcialem zrobic: szukam findEmpty() potem wybieram jedna z sasiadujacuch komorek (jesli istnieja) i przesuwam ja, a potem uaktualniam pustaKomorke (to bedzie ta z ktorjed dokonano przesuniecia). rows = cols = n 1. szukanie findEmpty(): O( n^2 ) PETLA( X - powtorzen) 2.1. znalezienie sasiednich komorek: O( 4 ) = O( 1 ) 2.2. zamiana: O( 1 ) 2.3. aktualizacja pustej komorki O( 1 ) ogolnie: O( n^2 ) + O( X ), (moglem sie pomylic -- mam tyko 4.0 z tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) czyli calkiem szybko: findEmpty() tylko raz a potem proste operacje. U ciebie jest OOOOOOO: size = n O( n^3 ) * O( n^2 ) = O( n^5 ) -- duuuzo przy czym aby porownac oba alg. X = n^3 i wtedy mam: O( n^3 ) ---------------- 189/149s (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) --------------- chyba przydalo by sie przeniesc wersje Cudiego do nowego watku Ten post edytował dr_bonzo 23.06.2005, 22:03:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 16:39 |