Forum » Programiranje » DELPHI razlaga ene kode, ali pretvorba v JAVO
DELPHI razlaga ene kode, ali pretvorba v JAVO
l0g1t3ch ::
Mi lahko kdo tole kodo prevede v javo ?
Na netu sm našu kodo za iskanje v globino pri igri preskočenih žebljičkov, kar smo mogl tud na faxu narest. Vendar je stvar v tem da tale koda ko sm jo našel deluje blazno hitrejše pa bi jo rad razumel. Večji del sm že dešifriral tole me pa malo muči. Pa bi lepo prosil koga če mu da v javo prevest al pa vsaj dobr pokomentirat
Hvala
[ st.koda pascal ]
pegcount:integer;{score of this board}
totpegs:integer; {startinf nbr of pegs}
solpegcount:integer; {maximum number of pegs in a solution}
path:Tlist; {used to keep track of the moves that got us here}
totcount:int64; {total moves tried}
type
PTMove=^TMove;
TMove=record
frompoint,topoint:TPoint;
end;
{********************* MakeMove ****************}
procedure TBoard.makemove(const p1,p2,p3:TPoint); //sprejme 3 koordinate
var
pmove:PTMove;
begin
b[p1.x,p1.y]:=empty; //TOccupiedType=(Empty,Occupied, NotAvailable);
b[p2.x,p2.y]:=empty;
b[p3.x,p3.y]:=occupied;
{save target of first move as "one left at start" target}
if pegcount=totpegs then
begin
bstart := p3;
end;
dec(pegcount);
new(PMove);
path.add(pmove);
pmove^.frompoint:=p1;
pmove^.topoint:=p3;
inc(totcount);
if totcount and 131071 = 131071 then
begin
if assigned(Onstatus) then onstatus;
application.processmessages;
end;
end;
[ /st.koda pascal]
Na netu sm našu kodo za iskanje v globino pri igri preskočenih žebljičkov, kar smo mogl tud na faxu narest. Vendar je stvar v tem da tale koda ko sm jo našel deluje blazno hitrejše pa bi jo rad razumel. Večji del sm že dešifriral tole me pa malo muči. Pa bi lepo prosil koga če mu da v javo prevest al pa vsaj dobr pokomentirat
Hvala
[ st.koda pascal ]
pegcount:integer;{score of this board}
totpegs:integer; {startinf nbr of pegs}
solpegcount:integer; {maximum number of pegs in a solution}
path:Tlist; {used to keep track of the moves that got us here}
totcount:int64; {total moves tried}
type
PTMove=^TMove;
TMove=record
frompoint,topoint:TPoint;
end;
{********************* MakeMove ****************}
procedure TBoard.makemove(const p1,p2,p3:TPoint); //sprejme 3 koordinate
var
pmove:PTMove;
begin
b[p1.x,p1.y]:=empty; //TOccupiedType=(Empty,Occupied, NotAvailable);
b[p2.x,p2.y]:=empty;
b[p3.x,p3.y]:=occupied;
{save target of first move as "one left at start" target}
if pegcount=totpegs then
begin
bstart := p3;
end;
dec(pegcount);
new(PMove);
path.add(pmove);
pmove^.frompoint:=p1;
pmove^.topoint:=p3;
inc(totcount);
if totcount and 131071 = 131071 then
begin
if assigned(Onstatus) then onstatus;
application.processmessages;
end;
end;
[ /st.koda pascal]
- spremenilo: l0g1t3ch ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Java[naloga]Oddelek: Šola | 887 (694) | Bizkit45 |
» | Java-razlagaOddelek: Šola | 932 (767) | lebdim |
» | RekurzijaOddelek: Programiranje | 2384 (1844) | lebdim |
» | [Delphi] Simpl vprašanja ko pasulj :)Oddelek: Programiranje | 1500 (1349) | oldguy |
» | [c++] standardni c++ in dogodki(events)Oddelek: Programiranje | 1756 (1581) | yeti |