Witam. Czy ktos moze rzucic okiem na moje rozwiazanie? Trzyma sie kupy?
Przygotuj dwuwymiarową tablicę zmiennych typu char o rozmiarze N na M. Następnie
wypełnij ciało metody void przygotujLabirynt(char[][] dane) tak aby powstał
labirynt z dokładnie jedną ścieżką prowadzącą z elementu o indeksie 0, 0 do elementu o
indeksie N, M. Tworząc ten program należy przyjąć że:
• wartością o oznaczamy ścieżkę;
• wartością x oznaczamy ścianę po której nie można się poruszać;
• poruszając się po labiryncie można chodzić tylko w podstawowych kierunkach (góra,
dół, lewo, prawo);
• elementy oznaczone jako ścieżka nie mogą występować obok siebie, np:
1 xoox
2 xoox
3 xoox1 xxx
2 ooo
3 ooo
4 xxx
• jeżeli odcinek prosty ma więcej niż 5 elementów, wówczas należy przygotować przynajmniej
jedno rozwidlenie typu T lub +;
• w całej planszy nie może być więcej niż 20% elementów x, które będą sąsiadowały
tylko z innymi elementami x.
public class xxx {
public static void main(String[] args) {
char a = 'o';
char b = 'x';
char[] tab1 = {a,b,b,b,b,b,b};
char[] tab2 = {a,a,a,a,b,b,b};
char[] tab3 = {b,a,b,a,a,a,b};
char[] tab4 = {b,b,b,b,b,a,a};
char [][] tab = {tab1, tab2, tab3, tab4};
int Xsasiadujace=0;
int Xpozostale=0;
int i = 0;
int y=0;
for(i=0; i<tab.length; i++){
for(y=0; y<tab[i].length; y++)
System.out.print(tab[i][y]);
System.out.println();
if(tab[i][y] == 'b' && tab[i-1][y] == 'b' && tab[i+1][y] == 'b' && tab[i][y-1] == 'b' && tab[i][y+1] == 'b' );
Xsasiadujace= Xsasiadujace + 1;
else Xpozostale = Xpozostale +1;
if (Xsasiadujace/Xpozostale> 0.2);
System.out.println("labirynt ma za duzo X-sów sąsiadujących tylko z X-sami");
}
}
}