Einzelnen Beitrag anzeigen

IckyWolf

Registriert seit: 20. Dez 2018
10 Beiträge
 
#1

Statische arrays

  Alt 21. Feb 2019, 18:24
Delphi-Version: 5
Hallo,
ich versuche mich schon seit einiger Zeit an dem Spiel Kniffel. Dabei bin ich fast fertig, nur eine Sache funktioniert nicht: Das Pragramm erkennt nicht, ob eine Aufgabe aus dem unteren Block erfüllt wurde. Nach einigem Ausprobieren habe ich festgestellt, dass das Problem nur bei Zahlen, welche noch sortiert werden müssen, auftritt. Mein Verdacht liegt dementsprechend nahe, dass der Sortieralghorhytmus (augfgrund der geringen Anforderung Bubblesort) fehlerhaft ist. Dabei ist mir unverständlich, weshalb ich an der entsprechenden Stelle (siehe Quellcode)kein Statisches array verwenden Kann ( Syntax error, "OF" expected but "[" found) Schon lange habe ich versucht das Problem zu beheben, bis jetzt habe ich jedoch noch keinen Erfolg. Nun bitte ich euch meinen Quellcode zu überprüfen:
Test (hier für "kleine Straße"):
Delphi-Quellcode:
procedure TKniffel.BitBtn_ksClick(Sender: TObject);
var ks:boolean;
    p:integer;
begin
  if schritt=2 then
  begin
    sort(Wuerfel);
    ks:=false;
    if Wuerfel[1]=Wuerfel[2]-1then
      if Wuerfel[1]=Wuerfel[4]-2 then
        if Wuerfel[1]=Wuerfel[5]-3 then ks:=true;

    if Wuerfel[2]=Wuerfel[3]-1 then
      if Wuerfel[2]=Wuerfel[4]-2 then
        if Wuerfel[2]=Wuerfel[5]-3 then ks:=true;

    if ks=true then
      p:=30 else p:=0;


    StringGrid1.Cells[Spieler,11]:=IntToStr(p);

Bubblesort:
Delphi-Quellcode:
procedure sort(Eingabe:array {[1..5]} of Integer);
var n,j,hilfe:Integer;
begin
for n:=5 downto 1 do
    for j:=1 to n-1 do
      if Eingabe[j]>Eingabe[j+1] then
      begin
        hilfe:=Eingabe[j];
        Eingabe[j]:=Eingabe[j+1];
        Eingabe[j+1]:=hilfe;
      end;
end;
  Mit Zitat antworten Zitat