Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Prosta gra "kulki", algorytm sprawdzania ilości kulek w rzędach
Koperfild
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 4.08.2005

Ostrzeżenie: (0%)
-----


Witam,
zabrałem się parę dni temu za próbę wymyślenia struktury gry, powszechnie nazywanej "kulki". Nie będe jej opisywał, bo wydaje mi się że każdy ją zna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
I zatrzymałem się na problemie którego nie mogę sam rozwiązać. Mianowicie jak powinno przebiegać sprawdzanie czy w poziomie, pionie, lub ukosie nie ustawiły się akurat 4 kulki tego samego koloru? Myślałem o nieskończonej pętli, która będzie sprawdzała wszystkie pola obok przestawionej kulki, i jeżeli nie natrafi na taką samą to przerywa się instrukcją break;, jednak nie jest to zbyt dobre rozwiązanie, bo przecież może być sytuacja gdy wstawiamy kulkę w środek gotowego już rzędu i wtedy z żadnej strony nie będzie po 4.

Ten post edytował Koperfild 4.07.2008, 21:46:38
Go to the top of the page
+Quote Post
maryaan
post
Post #2





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

Ostrzeżenie: (0%)
-----


algorytm nie bedzie trudny, mozna np tak:
przeszukujesz komorki wierszami z gory na dol, od lewej prawej
jesli kolumna nie jest pusta sprawdzasz rekurencyjnie
- sasiadujace pola w prawo
- sasiadujace pola na ukos (prawy dolny rog)
- sasiadujace pola na ukos (lewy dolny rog) //dopisane
- sasiadujace pola w dol od kulki
jesli ktores z tych sprawdzen da wynik >= 4 to kasujesz dany rzad, nie wiem jak w kulkach ma sie sprawa "podwojnych" rzedow, ktory zostanie skasowany jesli postawiona kulka tworzy jednoczesnie rzad pionowy i poziomy, ale to juz kosmetyka

stan planszy musisz sprawdzic po kazdej zmianie na niej a nie tylko po przestwieniu kulki (kulki dolaczane z automatu tez moga spowodowac ulozenie rzedu czterch takich samych)

a ten, w jaki sposob chcesz zorganizowac komunikacje z serwerem?

Ten post edytował maryaan 24.02.2007, 11:26:24
Go to the top of the page
+Quote Post
Kisiol_Ent
post
Post #3





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 15.01.2007

Ostrzeżenie: (60%)
XXX--


http://img91.imageshack.us/img91/491/ballsat2.jpg
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Kulki, czyli po ustawieniu min 5ciu kulek tego samego koloru w poziomie, pionie i ukosie one znikaja, tak? I gra na jednego gracza?

OMG do 12ej nie zasnales? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) zartuje

Chcesz wykryc czy dolozenie kulki utworzy lancuch dlugosci min 5ciu kulek ktore potem nalezy usunac? Czy po prostu chcesz nzalezc 4kulkowe ciagki kulek?

Drugiego przypadku nie omawiam.
W przypadku pierwszym: ciag min 5ciu kulek powstanie dopiero wtedy gdy przedstawisz, dolozysz kulke na plansze. I Gdy ten ciag powstanie ZAWIERA on ta kulke (to chyba jest jasne). No i teraz szukasz we wszystkich kierunkach od tej kulki kulek w tym samym kolorze i odpowiednio zliczasz, np w gore byly dwie, i dwie na dole, piata w srodku i masz linie.
Go to the top of the page
+Quote Post
ActivePlayer
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


najłatwiej zrobic to tak:


przelatujesz pętlą każde pole na planszy

jesli jest tam kulka, to

sprawdzasz dwa pola po lewej i dwa po prawej. jesli maja taki sam kolor to masz ciąg.

sprawdzasz dwa pola w góre, i dwa pola w dol, jesli maja taki sam kolor to masz ciag

analogicznie sprawdzasz skosy (juz chyba wymyslisz jak:P), i to masz caly algorytm:)

edit:
napisalem algorytm dla 5 kulek, ale analogicznie mozesz sprawdzac po 1 z lewej, a 2 pola z prawej, tak samo zadziala.
Go to the top of the page
+Quote Post
Kisiol_Ent
post
Post #6





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 15.01.2007

Ostrzeżenie: (60%)
XXX--


ActivePlayer --> twój algorytm nie stety nie zadziała, bo moze byc sytuacja ze beda
4 kulki + dziura + nastepne 4 kulki i jak sie w tą dziurę włoży kulke to bedzie razem 9 kulek i wtedy
by zaznaczylo tylko 5, wiec kicha.
Tak poza tym piszecie to samo co juz napisalem, po co nabijacie posty?
Go to the top of the page
+Quote Post
maryaan
post
Post #7





Grupa: Zarejestrowani
Postów: 380
Pomógł: 2
Dołączył: 5.01.2007

Ostrzeżenie: (0%)
-----


Kisiol_Ent tylko ze Twoja wersja jest dla dwoch graczy, a kulki to gra w ktorej pojawiaja sie roznokolorowe pilki na planszy i trzeba je ustawiac w rzedach, ale robi to jeden gracz. Juz pomijam fakt ze rozszyfrowanie tego tekstu zajmuje dobre kilka minut.

do mojego pierwszego posta trzeba jeszcze dopisac sprawdzanie w kierunku dolnego lewego rogu, co zaraz zrobie. Sa tylko cztery mozliwosci ulozenia kulek na planszy i trzeba sprawdzic wszystkie, a ja jedna pominalem
Go to the top of the page
+Quote Post
Kisiol_Ent
post
Post #8





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 15.01.2007

Ostrzeżenie: (60%)
XXX--


Aha, bo ja sie nie znam na tych kulkach. Myslalem ze to gra multiplayer...
Go to the top of the page
+Quote Post

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: 24.08.2025 - 00:22