[ TARMI @ 13.06.2006. 16:23 ] @
znaci u Delphi-ju sam pravio igricu iks-oks i ova funkcija mi nije bas jasna

function TfrMain.CheckWin(iPos : TXOPosArray) : Integer;
var
iScore : Integer;
i : Integer;
j : Integer;
begin
Result := -1;

//in rows?

iScore := 0;
for i := 1 to 3 do
begin
iScore := 0;
Inc(Result);
for j := 1 To 3 do Inc(iScore, iPos[i,j]);
if iScore = 3 Then Exit
end;//for i
...


sta znaci ovo Result :=1?
i sta se desava tu po kolonama ("in rows"-pa nadalje), ako mozete to da mi pojasnite?!!!!

[Ovu poruku je menjao TARMI dana 13.06.2006. u 17:35 GMT+1]
[ Nemanja Avramović @ 13.06.2006. 23:12 ] @
Čekaj, ti si pravio igru a ne znaš šta si pisao? Pa kako mi da znamo?

Ovo result je šta vraća funkcija (vidiš da vraća integer), a for petlja izgleda prolazi kroz polja tabele i proverava ko je pobedio (ko ima 3 vezana polja). To je sve od mene :P
[ _v!rus_ @ 14.06.2006. 09:50 ] @
.Funkcija (bar prikazani deo) proverava da li su tri poljavezana U JEDNOJ KOLONI, znači ništa se ne dešava po redovima (ponavljam, bar u prikazanom delu koda). Totalno je nejasno sta predstavalja Result f-je, ovde izgleda da je Result indeks kolone (X kolone) koja ima 3 vezana polja, mada ako je u poslednjoj koloni dobitak Result će biti isti kao i da nije, fali jedan result := -1 na kraju svega..
[ TARMI @ 14.06.2006. 11:30 ] @

za JaHvram-a ---- "PRAVIO"
Taj kod je samo deo, ima i za redove i za dijagonalu..hvala _v!rus_ u svakom slucaju, kao i tebi JaHvram, svaka pomoc znaci! Malo mi je jasnije..ako neko moze jos da pojasni bilo bi ok, za taj sugavi result
[ _v!rus_ @ 14.06.2006. 11:37 ] @
Mislim da ce neko tesko da ti objasni taj result ako ne das malo vise koda... Na kraju krajeva, ti si pravio...

BTW, jel si probao duboku hipnozu i vraćanje kroz vreme?
[ TARMI @ 14.06.2006. 20:59 ] @
pa to je sustina koja je bitna u toj proceduri, evo ima i u ovoj funkciji ako vam nesto znaci-ponavljam nisam ekspert!

function TfrMain.GamePlay(xo_Move : Integer):integer;
var
x, y : 1..3;
iWin : integer;
begin
Result := -1;

Inc(iMove);
x := (xo_Move Div 3) + 1;
y := (xo_Move Mod 3) + 1;
if sPlaySign = 'O' then
begin
iOPos[x,y] := 1;
iWin := CheckWin(iOPos);
end
else
begin
iXPos[x,y] := 1;
iWin := CheckWin(iXPos);
end;

TLabel(FindComponent('lblCell' + IntToStr(xo_Move))).Caption := sPlaySign;

Result := iWin;

if iWin >= 0 then
begin
bGameOver := True;

if sPlaySign = 'X' then
begin
iXScore := iXScore + 1;
lblXScore.Caption := IntToStr(iXScore);
end
else
begin
iOScore := iOScore + 1;
lblOScore.Caption := IntToStr(iOScore);
end;

ShowMessage(sPlaySign + ' - Pobedjuje!');
end;
if (iMove = 9) AND (bGameOver = False) Then
begin
ShowMessage('Nereseno je!');
bGameOver := True
end;

if sPlaySign = 'O' Then
sPlaySign := 'X'
else
sPlaySign := 'O';
end;