AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Numbers! ist fertig, was kann noch ergänzt werden?
Thema durchsuchen
Ansicht
Themen-Optionen

Numbers! ist fertig, was kann noch ergänzt werden?

Ein Thema von Nashy · begonnen am 29. Nov 2014 · letzter Beitrag vom 4. Dez 2014
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Numbers! ist fertig, was kann noch ergänzt werden?

  Alt 1. Dez 2014, 08:17
Ich hab mir mal erlaubt, den Code zu formatieren, das erleichtert die Übersichtlichkeit enorm und macht auch die Fehlersuche einfacher:
Delphi-Quellcode:
procedure TForm1.ButtonDoneClick(Sender: TObject);
begin
  TimerLeben.Enabled := true;
  if (Editausgabe.text = EditEingabe.text) and switch1.IsChecked then
    begin
      LabelAusgabe.text := 'Richtig!';
      randomize;
      Zufallszahl := random(9) + 1;
      EditEingabe.text := '';
      ButtonGo.Enabled := true;
      ButtonDone.Enabled := false;
      Editausgabe.text := Editausgabe.text + inttostr(Zufallszahl);
      Editausgabe.visible := true;
      TimerCountdown.Enabled := true;
      EditEingabe.ReadOnly := true;
      ButtonGo.Enabled := false;
      ButtonDone.Enabled := false;
      ButtonDone.visible := true;
      Countdown := 3;
      Level := Level + 1;
      Labelrichtig.visible := true;
      Labelrichtig.text := 'Du hast ' + inttostr(Level) +
        ' richtige Antworten gegeben';
    end;
  if (Editausgabe.text = EditEingabe.text) and not switch1.IsChecked then
    begin
      LabelAusgabe.text := 'Richtig!';
      randomize;
      Zufallsbuchstabe := Chr(random(26) + 64 + 1);
      Editausgabe.text := Editausgabe.text + Zufallsbuchstabe;
      EditEingabe.text := '';
      ButtonGo.Enabled := true;
      ButtonDone.Enabled := false;
      Editausgabe.visible := true;
      TimerCountdown.Enabled := true;
      EditEingabe.ReadOnly := true;
      ButtonGo.Enabled := false;
      ButtonDone.Enabled := false;
      ButtonDone.visible := true;
      Countdown := 3;
      Level := Level + 1;
      Labelrichtig.visible := true;
      Labelrichtig.text := 'Du hast ' + inttostr(Level) +
        ' richtige Antworten gegeben';
    end;
  if not(Editausgabe.text = EditEingabe.text) then
    begin
      Editausgabe.ReadOnly := true;
      LabelAusgabe.text := 'Falsch';
      ButtonGo.visible := false;
      ButtonWeiter.visible := true;
      ButtonWeiter.Enabled := true;
      Editausgabe.visible := true;
      ButtonWeiter.text := 'Weiter';
      ButtonGo.Enabled := false;
      ButtonDone.Enabled := false;
      TimerLeben.Enabled := true;
      Loose := Loose + 1;
      EditEingabe.text := '';
    end;
end;
Ist Dir schon aufgefallen, dass Du vieles mehrfach tust? Wie wäre es denn mit dieser Logik?
Delphi-Quellcode:
if Editausgabe.text = EditEingabe.text then
  begin
    if switch1.IsChecked then
      begin
        //Code für Fall "Zahlen"
      end
    else
      begin
        //Code für Fall "Buchstaben"
      end;
    //gemeinsamer Code
  end
else
  begin
    //Code für falsche Antwort inkl. Beschriftung von Labelrichtig
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH ( 1. Dez 2014 um 08:52 Uhr) Grund: Schreibfehler korrigiert
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Numbers! ist fertig, was kann noch ergänzt werden?

  Alt 1. Dez 2014, 08:48
Da muss ich DeddyH zustimmen: Wenn du viel ähnlichen Code hast ist das oft ein Indiz dafür, dass man hier etwas verbessern kann.

Eine Erweiterungsmöglichkeit wäre ein steigender Schwierigkeitsgrad, umso länger das Spiel läuft.
Du lässt also intern noch einen Zähler mitlaufen, der z.B. aller 5 Zahlen die Zufallszahl um eine Stelle verlängert. So wird das Spiel immer schwieriger und irgendwann ist es vorbei.

Grüße
Headbucket
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 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