Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public String obliczanieSciezki(int x, int y, int gracz){
- if(gracz==1){
- if(plansza[x][y]==1){
- if(x>=2&x<=13&&y>=2&&y<=13){
- if(plansza[x-2][y+1]==0 &&plansza[x-1][y]==0&&plansza[x-1][y+1]==0 && gora==0){
- return dodajRuch(x-2,y+1,1);
- }
- else if(plansza[x-2][y+1]==1){
- if(plansza[x-1][y]==2) return dodajRuch(x-1,y+1,1);
- else if(plansza[x-1][y+1]==2) return dodajRuch(x-1,y,1);
- else if(plansza[x-1][y]==0&&plansza[x-1][y+1]==0 && gora ==0) return obliczanieSciezki(x-2,y+1,1);
- }
- else if(plansza[x+2][y-1]==0 && plansza[x+1][y]==0&&plansza[x+1][y-1]==0){
- return dodajRuch(x+2,y-1,1);
- }
- else if(plansza[x+2][y-1]==1){
- if(plansza[x+1][y-1]==2) return dodajRuch(x+1,y,1);
- else if(plansza[x+1][y]==2) return dodajRuch(x+1,y-1,1);
- else if(plansza[x+1][y-1]==0&&plansza[x+1][y]==0) return obliczanieSciezki(x+2,y-1,1);
- }
- else if(plansza[x-1][y-1]==0 && plansza[x][y-1]==0&&plansza[x-1][y]==0){
- return dodajRuch(x-1,y-1,1);
- }
- else if(plansza[x-1][y-1]==1){
- if(plansza[x][y-1]==2) return dodajRuch(x-1,y,1);
- else if(plansza[x-1][y]==2) return dodajRuch(x,y-1,1);
- else if(plansza[x][y-1]==0&&plansza[x-1][y]==0) return obliczanieSciezki(x-1,y-1,1);
- }
- else if(plansza[x+1][y+1]==0 && plansza[x+1][y]==0&&plansza[x][y+1]==0){
- return dodajRuch(x+1,y+1,1);
- }
- else if(plansza[x+1][y+1]==1){
- if(plansza[x+1][y]==2) return dodajRuch(x,y+1,1);
- else if(plansza[x][y+1]==2) return dodajRuch(x+1,y,1);
- else if(plansza[x+1][y]==0&&plansza[x][y+1]==0) return obliczanieSciezki(x+1,y+1,1);
- }
- else if(plansza[x+1][y-2]==0 && plansza[x][y-1]==0&&plansza[x+1][y-1]==0){
- return dodajRuch(x+1,y-2,1);
- }
- else if(plansza[x+1][y-2]==1){
- if(plansza[x][y-1]==2) return dodajRuch(x+1,y-1,1);
- else if(plansza[x+1][y-1]==2) return dodajRuch(x,y-1,1);
- else if(plansza[x][y-1]==0&&plansza[x+1][y-1]==0) return obliczanieSciezki(x+1,y-2,1);
- }
- else if(plansza[x-1][y+2]==0 && plansza[x][y+1]==0&&plansza[x-1][y+1]==0){
- return dodajRuch(x-1,y+2,1);
- }
- else if(plansza[x-1][y+2]==1){
- if(plansza[x][y+1]==2) return dodajRuch(x-1,y+1,1);
- else if(plansza[x-1][y+1]==2) return dodajRuch(x,y+1,1);
- else if(plansza[x][y+1]==0&&plansza[x-1][y+1]==0) return obliczanieSciezki(x-1,y+2,1);
- }
- }
- else if(x==1&&y>=1&&y<=14){
- if(plansza[x-1][y]==1){
- gora=1;
- return obliczanieSciezki(x+2,y-1,1);
- }
- else if(plansza[x-1][y+1]==1){
- gora=1;
- return obliczanieSciezki(x+2,y-1,1);
- }
- else if(plansza[x-1][y]==0) return dodajRuch(x-1,y,1);
- else if(plansza[x-1][y+1]==0) return dodajRuch(x-1,y+1,1);
- else if(plansza[x][y-1]==0){
- return dodajRuch(x,y-1,1);
- }
- else if(plansza[x][y+1]==0){
- return dodajRuch(x,y+1,1);
- }
- else if(plansza[x][y-1]==1) return obliczanieSciezki(x,y-1,1);
- else if(plansza[x][y+1]==1) return obliczanieSciezki(x,y+1,1);
- }
- if(x==14&&y>=1&&y<=14){
- if(plansza[x-1][y]==0) return wynikD(x-1,y);
- if(plansza[x-1][y-1]==0) return wynikD(x-1,y-1);
- if(plansza[x][y-1]==0) return wynikD(x,y-1);
- if(plansza[x][y+1]==0) return wynikD(x,y+1);
- }
- }
- }
- else{
- if(plansza[x][y]==2){
- if(y>=2&y<=13&&x>=2&&x<=13){
- if(plansza[x+1][y-2]==0 && (plansza[x][y-1]==0&&plansza[x+1][y-1]==0)){
- return wynikD(x+1,y-2);
- }
- if(plansza[x+1][y-2]==2){
- if(plansza[x][y-1]==1) return wynikD(x+1,y-1);
- if(plansza[x+1][y-1]==1) return wynikD(x,y-2);
- if(plansza[x][y-1]==0&&plansza[x+1][y-1]==0) obliczanieSciezki(x+1,y-2,2);
- }
- if(plansza[x-1][y+2]==0 && (plansza[x-1][y+1]==0&&plansza[x][y+1]==0)){
- return wynikD(x-1,y+2);
- }
- if(plansza[x-1][y+2]==2){
- if(plansza[x-1][y+1]==1) return wynikD(x,y+1);
- if(plansza[x][y+1]==1) return wynikD(x-1,y+1);
- if(plansza[x-1][y+1]==0&&plansza[x][y+1]==0) obliczanieSciezki(x-1,y+2,2);
- }
- if(plansza[x-1][y-1]==0 && (plansza[x][y-1]==0&&plansza[x-1][y]==0)){
- return wynikD(x-1,y-1);
- }
- if(plansza[x-1][y-1]==2){
- if(plansza[x][y-1]==1) return wynikD(x-1,y);
- if(plansza[x-1][y]==1) return wynikD(x,y-1);
- if(plansza[x][y-1]==0&&plansza[x-1][y]==0) obliczanieSciezki(x-1,y-1,2);
- }
- if(plansza[x+1][y+1]==0 && (plansza[x+1][y]==0&&plansza[x][y+1]==0)){
- return wynikD(x+1,y+1);
- }
- if(plansza[x+1][y+1]==2){
- if(plansza[x+1][y]==1) return wynikD(x,y+1);
- if(plansza[x][y+1]==1) return wynikD(x+1,y);
- if(plansza[x+1][y]==0&&plansza[x][y+1]==0) obliczanieSciezki(x+1,y+1,2);
- }
- if(plansza[x-2][y+1]==0 && (plansza[x-1][y]==0&&plansza[x-1][y+1]==0)){
- return wynikD(x-2,y+1);
- }
- if(plansza[x-2][y+1]==2){
- if(plansza[x-1][y]==1) return wynikD(x-1,y+1);
- if(plansza[x-1][y+1]==1) return wynikD(x-1,y);
- if(plansza[x-1][y]==0&&plansza[x-1][y+1]==0) obliczanieSciezki(x-2,y+1,2);
- }
- if(plansza[x+2][y-1]==0 && (plansza[x+1][y-1]==0&&plansza[x+1][y]==0)){
- return wynikD(x+2,y-1);
- }
- if(plansza[x+2][y-1]==2){
- if(plansza[x+1][y-1]==1) return wynikD(x+1,y);
- if(plansza[x+1][y]==1) return wynikD(x+1,y-1);
- if(plansza[x+1][y-1]==0&&plansza[x+1][y]==0) obliczanieSciezki(x+2,y-1,2);
- }
- }
- if(y==1&&x>=1&&x<=14){
- if(plansza[x][y-1]==0) return wynikD(x,y-1);
- if(plansza[x+1][y-1]==0) return wynikD(x+1,y-1);
- if(plansza[x+1][y]==0){
- return wynikD(x+1,y);
- }
- if(plansza[x-1][y]==0){
- return wynikD(x-1,y);
- }
- }
- if(y==14&&x>=1&&x<=14){
- if(plansza[x][y+1]==0) return wynikD(x,y+1);
- if(plansza[x-1][y+1]==0) return wynikD(x-1,y+1);
- if(plansza[x+1][y]==0){
- return wynikD(x+1,y);
- }
- if(plansza[x-1][y]==0){
- return wynikD(x-1,y);
- }
- }
- }
- }
- return wynikD(0,0);
- }
- //<editor-fold defaultstate="collapsed" desc="Crtl + myszka najedz na algorytm">
- /**
- * Funkcja powinna zwracac <code>x,y</code>, przetworzone przez algorytm.
- *
- * <p>Wspolzedne, ktore wygenerujesz wrzuc do funkcji wynikD(int x, int y) i to zwroc:
- * <pre>
- * return dodajRuch(x, y, gracz);
- * </pre></p>
- * @param gracz nasz pionek
- * @return wynikD(x, y)
- */
- //</editor-fold>
- public String algorytm(int gracz){
- if(gracz==1){
- for(int j=0;j<=15;j++){
- if(plansza[j][0]==2) pomocnicza1++;
- }
- if(pomocnicza1==0&&I<=15){
- I++;
- pomocnicza1=0;
- return dodajRuch(I-1,0,1);
- }
- else if(plansza[7][7]==0){
- return dodajRuch(7,7,1);
- }
- else if(plansza[7][7]==1){
- return obliczanieSciezki(7,7,1);
- }
- else if(plansza[7][8]==0){
- return dodajRuch(7,8,1);
- }
- else if(plansza[7][8]==1){
- return obliczanieSciezki(7,8,1);
- }
- else if(plansza[8][7]==0){
- return dodajRuch(8,7,1);
- }
- else if(plansza[8][7]==1){
- return obliczanieSciezki(8,7,1);
- }
- else if(plansza[8][8]==0){
- return dodajRuch(8,8,1);
- }
- else {
- return obliczanieSciezki(8,8,1);
- }
- }
- else{
- for(int j=0;j<=15;j++){
- if(plansza[15][j]==1) pomocnicza1++;
- }
- if(pomocnicza1==0&&I<=15){
- I++;
- pomocnicza1=0;
- return dodajRuch(0,I-1,2);
- }
- else if(plansza[7][7]==0){
- return dodajRuch(7,7,2);
- }
- else if(plansza[7][7]==2){
- return obliczanieSciezki(7,7,2);
- }
- else if(plansza[7][8]==0){
- return dodajRuch(7,8,2);
- }
- else if(plansza[7][8]==2){
- return obliczanieSciezki(7,8,2);
- }
- else if(plansza[8][7]==0){
- return dodajRuch(8,7,2);
- }
- else if(plansza[8][7]==2){
- return obliczanieSciezki(8,7,2);
- }
- else if(plansza[8][8]==0){
- return dodajRuch(8,8,2);
- }
- else {
- return obliczanieSciezki(8,8,2);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement