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 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


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
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? 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.


--------------------
Nie lubię jednorożców.
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


--------------------
Wybierasz się do Zakopanego? Odwiedź Willę Pod Górami. Następnym razem na pewno do niej wrócisz :)
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 02:36