Du kannst das Ganze natürlich komplett
OOP mit entsprechenden Klassen lösen und die Logik von der Darstellung trennen, das wäre sicher das sinnvollste. Anhand deiner Fragen und Ansätze behaupte ich aber mal, dass du noch nicht so weit bist.
Deswegen würde ich schon mit einem einfachen Formular, wie du es vorhast anfangen, wobei ich glaube ich auf die Buttons nur die Buchstaben (A,B,C,D) drauf schreiben würde und die Fragen auf dazu passenden Pandels oder Labeln oder sowas anzeigen, aber das ist Geschmacksache.
Dann einen Button zum Starten des Spieles, mit dem du immer wieder ein neues Spiel starten kannst.
Dann eine Variable (integer) zur Speicherung der Fragestufe.
Eine Variable zur Speicherung welche Antwort(möglichkeit) für die aktuelle Frage die richtige Lösung ist (integer, um es einfach zu halten z.B.: A=1, B=2, ...).
Den Buttons A-D in der Tag Eigenschaft die dazu passende Zahl 1-4 zuordnen.
Den Buttons A-D allen die gleiche Button-Klick-Prozedur zuweisen, die könnte ungefähr so aussehen:
Delphi-Quellcode:
procedure TMain.GeneralButtonClick(Sender: TObject);
var Antwort:integer;
begin
if Sender is TButton then
begin
Anttwort:=TButton(Sender).Tag;
VerarbeiteAntwort(Antwort);
end;
end;
"VerarbeiteAntwort" wäre dann eine weitere Prozedur, die im vergleich mit der obigen Variable prüft, ob die Antwort richtig ist und dann entweder das Spiel beenden oder aber die Fragestufe erhöht, die Betragsanzeige aktualisiert, die nächste Frage lädt.
Alle die gerade genannten Punkte sollten dabei jeweils in eigene Prozeduren ausgelagert werden, die dann jeweils die entsprechende Aufgabe erledigen.
Was du dir aber sinnvollerweise vorher mal überlegen musst: Wo kommen die Fragen her. Du brauchst ja einen Pool von Fragen am besten mit dazugehöriger Fragestufe, den Antworten und der Info welches die richtige Antwort ist.
Davon Abhängig, wie du so Fragen, wo speicherst, hängt dann natürlich ab wie eine Funktion zum laden der nächsten Frage aussehen würde.