Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Mamy siatkę / planszę (prostokąt), przykładowo o rozmiarze x na y, oraz n-ilość obiektów (nie koniecznie wszystkie sloty siatki są przez nie zajęte), które posiadają po 3 informacje:

- przynależność do slotu w siatce x,

- ...w y,

- oraz typ elementu (np. 0, 1, 2, 3, etc.)

Teraz powiedzcie mi, jak zwrócić informacje, czy w "siatce" (i gdzie), występują ciągi takich samych elementów. Coś jak <dosłownie> z gry typu match 3.

Jakieś pomysły? ^^

 

(siatka w pewnym sensie nie istnieje: pojęcie zostało użyte żeby zobrazować sposób położenia elementów)

Opublikowano

GML
tablica[x, y] = irandom(6); // tablica z obiektami

tablica2[rzad, typ] = 0; //pomocnicza tablica do zapisywania wyniku

for(i = 0; i<=x; i+=1)

{

for(j = 0; j<=y; j+=1)

{

tablica2[x , tablica[x, y] ] += 1;

}

}

Opublikowano

ulomnie, bo sprawdza najpierw w szerz, a potem w zdluz, zamiast jakoś po ludzku, ale inaczej nie umiem

GML
now=-1

combo=0

znalezione=-1

for(x=0;x<=szerokosc;x+=1){

combo=0

now=-1

for(y=0;y<=dlugosc;y+=1){

if(tablica[x,y]==now){

combo+=1

if(combo>=3){

znalezione+=1

znaleziony[znalezione,0]=x//przykladowy zapis od do

znaleziony[znalezione,1]=y-combo+1

znaleziony[znalezione,0]=x

znaleziony[znalezione,1]=y

combo=0

now=-1

}

}else{

now=tablica[x,y]

combo=1

}

}

}

for(y=0;y<=dlugosc;y+=1){

combo=0

now=-1

for(x=0;x<=szerokosc;x+=1){

if(tablica[x,y]==now){

combo+=1

if(combo>=3){

znalezione+=1

znaleziony[znalezione,0]=x//przykladowy zapis od do

znaleziony[znalezione,1]=y-combo+1

znaleziony[znalezione,0]=x

znaleziony[znalezione,1]=y

combo=0

now=-1

}

}else{

now=tablica[x,y]

combo=1

}

}

}

nie sprawdzalem czy dziala :P

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...