ruch gonca

0

ma ktos pojecie jak zaimplementowac ruch gonca po tablicy dwuwymiarowej 0-7 0-7?

zrobilem tylko warunki
if((((x2>x1tmp && y2>y1tmp) || (x2<x1tmp && y2<y1tmp) || (x2>x1tmp && y2<y1tmp) || (x2<x1tmp && y2>y1tmp))

gdzie x1tmp,y1tmp wspolrzedne 1szego klikniecia, x2,y2 wspolrzedne 2giego klikniecia.

nie mam pojecia jak zrobi ruch po skosie :/ kombinowalem z reszta z dzielenia, pozniej stwierdzilem ze x2==y2 lecz, gdy goniec stanie np w komorce 2 1 to klikniecie na 1 1 tez zalapie :/

z gory dziekuje za podpowiedz

0
if ((x1 - y1) == (x2 - y2) || (x1 + y1) == (x2 + y2))
0

dziekuje. dziala bdb od razu widac kto ma łeb do programowania.

0

teraz jest problem jak zrobic by goniec nie przeskakiwal innych figur :/

if(((x1-y1)==(x2-y2))) if(x2>x1 && y2>y1) {
for(int x=x1;x<x2;x++)
for(int y=y1;y<y2;y++){
//if(figury[y][x]!=0 ) return true;
}

    }

tez nie wiem jak zawezic przeszukiwanie tylko do przekatnej pewnie znowu jakies proste przeliczenie ja chyba w tym upale nie mysle :/ figury[y][x]!=0 w tym wypadku oznaczaja ze nie ma w tym miejscu zadnej figury.

0

niesprawdzany

int dx;
int dy;

if (x1 < x2)
  dx = 1;
else
  dx = -1;
if (y1 < y2)
  dy = 1;
else
  dy = -1;

xt = x1;
yt = y1;
for (int x = 0; x < Abs(x1 - x2); x++) //Abs podaje wartość bezwzględną - nie wiem jak jest w jawie
{
  xt += dx;
  yt += dy;
  if (na polu xt, yt stoi figura)
  {
     nie pozwól na ruch
  }
}
0

nie przeskakuje tylko jesli dany pionek jest na sasiednim polu(po przekatnej) dalej juz tak, cos chyba nie tak z tym forem :/

0

poprawione

0

Math.abs

pozdrawiam

0

dziekuje bardzo dobrze ze tacy ludzie jak Wy istnieja :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0