Advertisement
Guest User

Untitled

a guest
Jan 15th, 2020
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.92 KB | None | 0 0
  1. procedure zusammenlegenallerstationen(currStation: byte);
  2. begin
  3.  
  4.   allStationsDek := [];
  5.   allStationsMisX := [];
  6.  
  7.   allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
  8.     [currStation].Ubahn;
  9.   allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
  10.     [currStation].Bus;
  11.   allStationsDek := allStationsDek + AuslesenderTxt.Verbindungen
  12.     [currStation].Taxi;
  13.  
  14.   allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
  15.     [lastPositionFromX].Ubahn;
  16.   allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
  17.     [lastPositionFromX].Taxi;
  18.   allStationsMisX := allStationsMisX + AuslesenderTxt.Verbindungen
  19.     [lastPositionFromX].Bus;
  20.  
  21. end;
  22.  
  23.  
  24. function checkIfIncrease(): boolean;
  25. var i : byte;
  26. begin
  27.   for i := 1 to 199 do
  28.     begin
  29.       if (station[i].stationen = station[0].anzStationen) then
  30.       begin
  31.         if (station[i].waramZug) then
  32.         begin
  33.           checkIfIncrease := true;
  34.         end
  35.         else
  36.         begin
  37.           checkIfIncrease := false;
  38.         end;
  39.  
  40.       end;
  41.     end;
  42. end;
  43.  
  44.  
  45. procedure meinSklave(simuStation: byte);
  46. var
  47.   i: byte;
  48. begin
  49.   i := 1;
  50.  
  51.   zusammenlegenallerstationen(simuStation);
  52.  
  53.   for i := 1 to 199 do
  54.   begin
  55.     if ((i in allStationsDek) AND (station[i].stationen < 0)) then
  56.     begin
  57.       station[i].stationen := station[0].anzStationen;
  58.     end;
  59.   end;
  60.  
  61. end;
  62.  
  63. // Hilfsfunktiion die sich damit beschäftigt die Route zu MisterX zu berechnen
  64. // Input wäre dann vermutlich die letzte Station auf der er zu sehen war
  65. // versuche mich mit der Funktion in die grobe Richtung zu bewegen
  66. // btw Strategie 3
  67. function SearchHim(currPlayer: byte): byte;
  68. var
  69.   i: smallint;
  70.   playerStati, j, safeStation: byte;
  71.   fertig, zugGesetzt: boolean;
  72.  
  73. begin
  74.   safeStation := abspeichern.PlayerArr[currPlayer].station;
  75.   station[0].anzStationen := 0;
  76.   fertig := false;
  77.   zugGesetzt := false;
  78.  
  79.   playerStati := abspeichern.PlayerArr[currPlayer].station;
  80.  
  81.   // Alle Stationen default mäßig auf -1
  82.   for i := 1 to 199 do
  83.   begin
  84.     station[i].stationen := -1;
  85.     station[i].waramZug := false;
  86.   end;
  87.  
  88.   // Startstation des Detektivs auf 0 gesetzt
  89.   station[playerStati].stationen := 0;
  90.   inc(station[0].anzStationen);
  91.   meinSklave(playerStati);
  92.  
  93.   // einmaliger aufruf damit etwas ins array geschrieben wird
  94.   // meinSklave(currPlayer);
  95.  
  96.   i := 1;
  97.  
  98.   while (fertig = false) do
  99.   begin
  100.     if (station[i].stationen = station[0].anzStationen) then
  101.     begin
  102.       if (checkIfIncrease = true) then
  103.       begin
  104.         inc(station[0].anzStationen);
  105.       end;
  106.  
  107.       station[i].waramZug := true;
  108.       meinSklave(i);
  109.       inc(i);
  110.     end
  111.     else
  112.       inc(i);
  113.  
  114.   if (i = 200) then
  115.   begin
  116.     i := 1;
  117.   end;
  118.  
  119.   if (station[lastPositionFromX].stationen < -1) then
  120.   begin
  121.     fertig := true;
  122.     abspeichern.PlayerArr[currPlayer].station := safeStation;
  123.   end;
  124.  
  125.  
  126.  
  127.   end;
  128.  
  129.  
  130.  
  131.  
  132. end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement