Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure zusammenlegenallerstationen(currStation: byte);
- begin
- allStationsDek := [];
- allStationsMisX := [];
- allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
- [currStation].Ubahn;
- allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
- [currStation].Bus;
- allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
- [currStation].Taxi;
- allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
- [lastPositionFromX].Ubahn;
- allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
- [lastPositionFromX].Taxi;
- allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
- [lastPositionFromX].Bus;
- end;
- function checkIfIncrease(): boolean;
- var i : byte;
- begin
- for i := 1 to 199 do
- begin
- if (station[i].stationen = station[0].anzStationen) then
- begin
- if (station[i].waramZug) then
- begin
- checkIfIncrease := true;
- end
- else
- begin
- checkIfIncrease := false;
- end;
- end;
- end;
- end;
- procedure meinSklave(simuStation: byte);
- var
- i: byte;
- begin
- i := 1;
- zusammenlegenallerstationen(simuStation);
- for i := 1 to 199 do
- begin
- if ((i in allStationsDek) AND (station[i].stationen < 0)) then
- begin
- station[i].stationen := station[0].anzStationen;
- end;
- end;
- end;
- // Hilfsfunktiion die sich damit beschäftigt die Route zu MisterX zu berechnen
- // Input wäre dann vermutlich die letzte Station auf der er zu sehen war
- // versuche mich mit der Funktion in die grobe Richtung zu bewegen
- // btw Strategie 3
- function SearchHim(currPlayer: byte): byte;
- var
- i: smallint;
- playerStati, j, safeStation: byte;
- fertig, zugGesetzt: boolean;
- begin
- safeStation := abspeichern.PlayerArr[currPlayer].station;
- station[0].anzStationen := 0;
- fertig := false;
- zugGesetzt := false;
- playerStati := abspeichern.PlayerArr[currPlayer].station;
- // Alle Stationen default mäßig auf -1
- for i := 1 to 199 do
- begin
- station[i].stationen := -1;
- station[i].waramZug := false;
- end;
- // Startstation des Detektivs auf 0 gesetzt
- station[playerStati].stationen := 0;
- inc(station[0].anzStationen);
- meinSklave(playerStati);
- // einmaliger aufruf damit etwas ins array geschrieben wird
- // meinSklave(currPlayer);
- i := 1;
- while (fertig = false) do
- begin
- if (station[i].stationen = station[0].anzStationen) then
- begin
- if (checkIfIncrease = true) then
- begin
- inc(station[0].anzStationen);
- end;
- station[i].waramZug := true;
- meinSklave(i);
- inc(i);
- end
- else
- inc(i);
- if (i = 200) then
- begin
- i := 1;
- end;
- if (station[lastPositionFromX].stationen < -1) then
- begin
- fertig := true;
- abspeichern.PlayerArr[currPlayer].station := safeStation;
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement