Muchaszewski Opublikowano 7 Maja 2012 Udostępnij Opublikowano 7 Maja 2012 Witam. Posiadam tabelę 5x5. Przypisane są do niej liczby z przedziału 1-10. Poszukuję najprostszego sposobu na sprawdzenie ile liczb takich samych obok siebie. Może pokaże na przykładzie kółek i krzyżyków. _____ |XOXO| |XXOX| |XOXX| |XXOO| Wyraźnie widać tutaj że pogrubiłem 6 krzyżyków. Chciałbym sprawdzić w najprostszy sposób ile ich jest i w na jakich pozycjach. Może podkreślę tutaj że potrzebuję wyświetlić wynik tylko dla tych których łączna liczba jest większa od 4, ale to z pewnością nie będzie problemem po rozwiązaniu tego powyżej. Mam nadzieję że wszystko jasno objaśniłem. Proszę o pomoc. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 8 Maja 2012 Udostępnij Opublikowano 8 Maja 2012 Dla tablicy 5x5. Uznajmy, że liczba dla takiego krzyżyka to 2. GML liczbakrzyzykow=0; for(i=0;i<5;i+=1) { pozycjex=0;//deklaracja tablicy pozycjey=0;//deklaracja tablicy } for(i=0;i<5;i+=1) for(j=0;j<5;j+=1) { if tablica[i,j]=2 { liczbakrzyzykow+=1; pozycjex[2]=i; pozycjey[2]=j; } } Pokombinuj ;P Sorki nie doczytałem posta. To źle będzie. Zaraz postaram się coś wymyślić. @EDIT Zobacz to: http://pl.wikipedia.org/wiki/Przeszukiwanie_wszerz, ale nie wiem czy to będzie to. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Maja 2012 Administratorzy Udostępnij Opublikowano 8 Maja 2012 skoro krzyżyki to liczby "takie same, obok siebie", to dla czego tylko część jest pogrubiona? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 8 Maja 2012 Udostępnij Opublikowano 8 Maja 2012 Może dlatego, że krzyżyki pogrubione mają 3, zwykłe 2, a kółka np 1? Zresztą on napisał, że to jest przykład. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 8 Maja 2012 Administratorzy Udostępnij Opublikowano 8 Maja 2012 No to skoro jest przykład, to niech będzie poprawny. Dla mnie to jest tablica z zerami i jedynkami i tutaj jest więcej stojących obok siebie... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muchaszewski Opublikowano 8 Maja 2012 Autor Udostępnij Opublikowano 8 Maja 2012 Może jednak to źle opisałem xD W tym przykładzie są tylko np: kołka - 0 i krzyżyki 1. Pogrubione krzyżyki są to te same krzyżyki co nie pogrubione. Ja po prostu poszukuję tych pogrubionych. Poszukuję łańcucha tej samej zmiennej, gdzie każda kolejna wartość musi przylegać w tej tablicy tylko poziomo lub pionowo. Jako że poszukuję tylko tych łańcuchów gdzie ich liczba jest większa niż 4 zaznaczyłem je, dla przejrzystości całego przykładu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 8 Maja 2012 Udostępnij Opublikowano 8 Maja 2012 Chodzi ci o coś takiego jak w grze CrackaGM "Bubble Adventure"? https://forum.gmclan.org/index.php?showtopic=28562 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muchaszewski Opublikowano 8 Maja 2012 Autor Udostępnij Opublikowano 8 Maja 2012 Chodzi ci o coś takiego jak w grze CrackaGM "Bubble Adventure"? https://forum.gmclan.org/index.php?showtopic=28562 Dokładnie!!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 8 Maja 2012 Udostępnij Opublikowano 8 Maja 2012 Sprawdź jeszcze to lub zapytaj o to autora tejże gry :P http://pl.wikipedia.org/wiki/Algorytm_A* Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 8 Maja 2012 Udostępnij Opublikowano 8 Maja 2012 GML nr=o; y=0; x=0; while (1) { while (1) { if (tablica[x,y]==tablica[x,y+1]) { y+=1; nr+=1; } else { y=0; break; } } if (tablica[x,y]==tablica[x+1,y]) { x+=1; nr+=1; } else { if (nr>4) return nr; else return 0; } } Jakoś tak powinno grać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muchaszewski Opublikowano 13 Maja 2012 Autor Udostępnij Opublikowano 13 Maja 2012 Takie rozwiązanie mnie nie interesuje. Pomysł dobry, ale nie znajdzie wszystkich możliwych kombinacji. To po pierwsze, a po drugie nie poprawnie zlicza ilość liczb połączonych ze sobą :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muchaszewski Opublikowano 14 Maja 2012 Autor Udostępnij Opublikowano 14 Maja 2012 ODŚWIEŻAM TEMAT! Zadziałało :S??? Wymyśliłem dobry sposób, ale nie wiem czemu nie działa :( GML for (i=3;i<8;i+=1) { for (p=3;p<8;p+=1) { if global.tab[i,p] = 11 { nr+=1 if global.tab[i+1,p] = 11 { nr += 1 if global.tab[i+2,p] = 11 { nr += 1 if global.tab[i+3,p] = 11 {nr += 1} if global.tab[i+2,p+1] = 11 {nr += 1} if global.tab[i+2,p-1] = 11 {nr += 1} } if global.tab[i+1,p+1] = 11 {nr += 1} if global.tab[i+1,p-1] = 11 {nr += 1} } //Reszta wygląda tak samo tylko z innymi wartościami if global.tab[i,p+1] = 11 { nr += 1 if global.tab[i-1,p+1] = 11 {nr += 1} if global.tab[i,p+2] = 11 { nr += 1 if global.tab[i,p+3] = 11 {nr += 1} if global.tab[i-1,p+2] = 11 {nr += 1} if global.tab[i+1,p+2] = 11 {nr += 1} } if global.tab[i+1,p+1] = 11 {nr += 1} } if global.tab[i-1,p] = 11 { nr += 1 if global.tab[i-2,p] = 11 { nr += 1 if global.tab[i-3,p] = 11 {nr += 1} if global.tab[i-2,p+1] = 11 {nr += 1} if global.tab[i-2,p-1] = 11 {nr += 1} } if global.tab[i-1,p+1] = 11 {nr += 1} if global.tab[i-1,p-1] = 11 {nr += 1} } if global.tab[i,p-1] = 11 { nr += 1 if global.tab[i-1,p-1] = 11 {nr += 1} if global.tab[i,p-2] = 11 { nr += 1 if global.tab[i,p-3] = 11 {nr += 1} if global.tab[i-1,p-2] = 11 {nr += 1} if global.tab[i+1,p-2] = 11 {nr += 1} } if global.tab[i+1,p-1] = 11 {nr += 1} } if nr <= 3 { global.tab[i,p] = 1 } } show_message(string(nr)+" "+string(i)+","+string(p)) nr=0; } } Nie wiem czemu nie sprawdza mi wszystkich kombinacji jakie ustaliłem, a czasami nawet za dużo :( Głównie ma problemy z tymi kombinacjami w lewo. Proszę o pomoc. Zadziałało?? Nie wiem dlaczego, podczas pokazywania wiadomości nie uwzględnia wszystkiego... A po wykonaniu wszystkiego wartości układają się dobrze... EDIT: A jednak. Większość kombinacji działa dobrze, ale 70% poprawności to nie jest to o co mi chodzi.. ;( EDIT2: Wszystko jasne, za mało argumentów. Wszystko będzie grać jak dopisze więcej :) Napiszę jak to wygląda pod koniec xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 14 Maja 2012 Udostępnij Opublikowano 14 Maja 2012 A może użyj gridów? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 14 Maja 2012 Administratorzy Udostępnij Opublikowano 14 Maja 2012 Czyli tak naprawdę, skoro X może być normalny i pogrubiony, to mamy do czynienia z czterema różnymi warunkami a nie dwoma (X, X, O, O) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 14 Maja 2012 Udostępnij Opublikowano 14 Maja 2012 Specjalnie nie pogrubiał tych 3 X obok bo one nie zaliczają się do tego: Może podkreślę tutaj że potrzebuję wyświetlić wynik tylko dla tych których łączna liczba jest większa od 4 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 16 Maja 2012 Administratorzy Udostępnij Opublikowano 16 Maja 2012 Ale w poziomie są tylko dwa... wciaż nie uważam, aby było to poprawnie wytłumaczone, albo kolega nie wie czego chce. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Maximal Opublikowano 16 Maja 2012 Udostępnij Opublikowano 16 Maja 2012 -> Przykład <- Jako bonus dorzuciłem denerwujące dźwięki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się