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;