Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Gra] Kwadraciaki :-P, Napisałem, ale nie wiem co ;-)
crash
post
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
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
nospor
post
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ę
Go to the top of the page
+Quote Post
hwao
post
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:)
Go to the top of the page
+Quote Post
crash
post
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)
Go to the top of the page
+Quote Post
SongoQ
post
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.
Go to the top of the page
+Quote Post
FiDO
post
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
Go to the top of the page
+Quote Post
crash
post
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
Go to the top of the page
+Quote Post
revyag
post
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
Go to the top of the page
+Quote Post
dr_bonzo
post
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
Go to the top of the page
+Quote Post
rogrog
post
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
Go to the top of the page
+Quote Post
Cudi
post
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)
Go to the top of the page
+Quote Post
nospor
post
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
Go to the top of the page
+Quote Post
SongoQ
post
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.
Go to the top of the page
+Quote Post
NuLL
post
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)
Go to the top of the page
+Quote Post
dr_bonzo
post
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.
Go to the top of the page
+Quote Post
crash
post
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
Go to the top of the page
+Quote Post
Cudi
post
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.
Go to the top of the page
+Quote Post
dr_bonzo
post
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.
Go to the top of the page
+Quote Post
Cudi
post
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).
Go to the top of the page
+Quote Post
dr_bonzo
post
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
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 16:39