1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115:
| For spalte:=0 to 22 do begin For zeile:=0 to 22 do begin Schatten[spalte,zeile]:=0; end; end; Schritte:=0; While (not((vorneZiel)or(rechtsZiel)or(linksZiel))) do begin Jaegerschritt; Jaegerschritt; Hasenschritt; end;
CBWahl.Enabled:=true; end;
procedure TForm1.Jaegerschritt; begin If (vornefrei and (not(rechtsfrei)) and (not(linksfrei))) then begin end; If (not(vornefrei) and not(rechtsfrei) and not(linksfrei)) then begin Linksdrehen; Linksdrehen; end; If (not(vornefrei) and not(rechtsfrei) and (linksfrei)) then begin Linksdrehen; end; If (not(vornefrei) and (rechtsfrei) and not(linksfrei)) then begin Rechtsdrehen; end; If ((vornefrei) and (rechtsfrei) and not(linksfrei)) then begin If Schatten[xvorne,yvorne]>Schatten[xrechts, yrechts] then begin rechtsdrehen; end; end; If ((vornefrei) and not(rechtsfrei) and (linksfrei)) then begin If Schatten[xvorne,yvorne]>Schatten[xlinks, ylinks] then begin linksdrehen; end; end; If (not(vornefrei) and (rechtsfrei) and (linksfrei)) then begin If Schatten[xrechts,yrechts]>Schatten[xlinks, ylinks] then begin linksdrehen; end else begin Rechtsdrehen; end; end; If ((vornefrei) and (rechtsfrei) and (linksfrei)) then begin If (Schatten[xrechts,yrechts]<=Schatten[xlinks, ylinks])and(Schatten[xrechts,yrechts]<Schatten[xvorne, yvorne]) then begin Rechtsdrehen; end else begin If (Schatten[xlinks,ylinks]<Schatten[xrechts, yrechts])and(Schatten[xlinks,ylinks]<Schatten[xvorne, yvorne])then begin Linksdrehen; end; end; end; vorwärts; Schatten[x,y]:=Schatten[x,y]+1; Inc(Schritte); LSchrittzahl.Caption:=IntToStr(Schritte);
end;
procedure TForm1.Hasenschritt; begin randomize; If (vornefreih and (not(rechtsfreih)) and (not(linksfreih))) then begin end; If (not(vornefreih) and not(rechtsfreih) and not(linksfreih)) then begin Linksdrehenh; Linksdrehenh; end; If (not(vornefreih) and not(rechtsfreih) and (linksfreih)) then begin Linksdrehenh; end; If (not(vornefreih) and (rechtsfreih) and not(linksfreih)) then begin Rechtsdrehenh; end; If ((vornefreih) and (rechtsfreih) and not(linksfreih)) then begin if random(2)=1 then rechtsdrehenh; end; If ((vornefreih) and not(rechtsfreih) and (linksfreih)) then begin If random(2)=1 then linksdrehen; end; If (not(vornefreih) and (rechtsfreih) and (linksfreih)) then begin If random(2)=1 then linksdrehenh else rechtsdrehenh; end; If ((vornefreih) and (rechtsfreih) and (linksfreih)) then begin If random(3)=1 then rechtsdrehenh; If random(3)=2 then linksdrehenh; end; vorwärtsh; end;
end. |