![]() |
Re: Schwierigkeitsgrad, aber wie!?
HI!
Delphi-Quellcode:
Ciao fkerber
while (antwort = 1) and (frage_nr<15) do
begin ... |
Re: Schwierigkeitsgrad, aber wie!?
^^ ... bei and, xor oder or immer eine klammer vor
wow das ist mir grad erst eingefallen :stupid: |
Re: Schwierigkeitsgrad, aber wie!?
Hi aerotech!
1. Du hast irgendwo “case” verloren. 2. Mehrere Anweisungen in einem case-Zweig klammert man mit „begin ... end“ ein. 3. Ein „Pseudo code“ ist kein richtiger code. Das ist eine Notiz, die für eine spätere Implementierung in einer richtigen Programmiersprache (z.B. Pascal, C, ...) den Ablauf des Programms veranschaulicht. Deswegen kannst Du ihn nicht 1:1 übernehmen! Viele Grüße Markus :gruebel: |
Re: Schwierigkeitsgrad, aber wie!?
Die Sache wird immer Haariger! :wall:
Wenn ich oben:
Delphi-Quellcode:
Wie kann ich meinen Buttons das gleiche erzählen? Die stehen nämlich immernoch auf tquizfragen...
frage_nr := 0;
antwort := 1; while (antwort = 1) and (frage_nr<15) do begin frage_nr := frage_nr + 1; case frage_nr of 1..5: begin tquizfragen.first; tquizfragen.moveby(random(tquizfragen.RecordCount)); end; 6..9: begin tquizfragen2.first; tquizfragen2.moveby(random(tquizfragen2.RecordCount)); end; {else begin tquizfragen3.first; tquizfragen3.moveby(random(tquizfragen3.RecordCount)); }end; end; end; Schließlich müssen auch die wissen, dass nach 5 Fragen die nächste Schwierigkeitsstufe erreicht ist und ne' neue Tabelle zum einsatz kommt, so wie oben!
Delphi-Quellcode:
procedure TForm1.DBText1Click(Sender: TObject);
begin if tquizfragen.FieldByName('L1').AsInteger = 1 then begin tquizfragen.first; tquizfragen.moveby(random(tquizfragen.RecordCount)); Stufen; // Führt die Prozedur "Stufen" aus, zu finden in // Zeile 88. end else Form4.Show; end; procedure TForm1.DBText2Click(Sender: TObject); begin if tquizfragen.FieldByName('L2').AsInteger = 1 then begin tquizfragen.first; tquizfragen.moveby(random(tquizfragen.RecordCount)); Stufen; // Führt die Prozedur "Stufen" aus, zu finden in // Zeile 88. end else Form4.Show; end; procedure TForm1.DBText3Click(Sender: TObject); begin if tquizfragen.FieldByName('L3').AsInteger = 1 then begin tquizfragen.first; tquizfragen.moveby(random(tquizfragen.RecordCount)); Stufen; // Führt die Prozedur "Stufen" aus, zu finden in // Zeile 88. end else Form4.Show; end; procedure TForm1.DBText4Click(Sender: TObject); begin if tquizfragen.FieldByName('L4').AsInteger = 1 then begin tquizfragen.first; tquizfragen.moveby(random(tquizfragen.RecordCount)); Stufen; // Führt die Prozedur "Stufen" aus, zu finden in // Zeile 88. end else Form4.Show; end; |
Re: Schwierigkeitsgrad, aber wie!?
HI!
Na wohl genauso :wink: Halt eben noch 4 Case-of zusätzlich. Aber ich prophezeihe dir, dass es so wohl nicht gehen wird, weil das durchzählen der Fragen am Anfang gemacht wird (beim Spiel starten) und dann die Variable auf 15 steht. Also Variable mitlaufen lassen, die zählt, wo du wirklich grade bist. Ciao fkerber |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz