AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi hangman programm - delphi 3
Thema durchsuchen
Ansicht
Themen-Optionen

hangman programm - delphi 3

Ein Thema von Eduard1 · begonnen am 19. Mai 2008 · letzter Beitrag vom 28. Mai 2008
Thema geschlossen
Seite 2 von 3     12 3      
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: hangman programm - delphi 3

  Alt 19. Mai 2008, 20:14
Guten Abend,

habe mal in deinem Quelltext herumgeschrieben.
- eine ImageList hinzugefügt (die Bilder mußt Du noch selber hineinladen)
- einen Fehlerzähler implementiert (wie Rollstulfahrer schon beschrieben hat)

Was passiert wenn der Galgen fertig ist (nach 12 Fehlversuchen)?
Das mußt Du auch noch implementieren.

Meine Schritte habe ich soweit wie möglich kommentiert.

Grüße
Klaus
Angehängte Dateien
Dateityp: zip mhangman_194.zip (3,9 KB, 24x aufgerufen)
Klaus
 
Eduard1
(Gast)

n/a Beiträge
 
#12

Re: hangman programm - delphi 3

  Alt 19. Mai 2008, 21:06
Danke an euch, wir werden uns morgen oder am Mittwoch mal im Informatik-Unterricht dransetzen und dannach Bericht erstatten
 
Eduard1
(Gast)

n/a Beiträge
 
#13

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 17:54
Hallo Leute,
Erstmals danke an alle die uns weiter geholfen haben.
Im Moment funktioniert das Programm, jedoch haben wir mit dem Zeichnen wir noch ein paar Schwierigkeiten.
Wir können nur einen Stirch beim 1. Fehler zeichen.
Beim 2. Fehler zeichnet das Programm nicht weiter und reagiert überhaupt nicht.
Es wäre sehr nett, wenn sich jemand nochmal unseren Quelltext angucken könnte. Wir kommen leider kein Stück weiter.

Viele Grüße
Eduard
Angehängte Dateien
Dateityp: rar hangman_158.rar (111,7 KB, 15x aufgerufen)
 
Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#14

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:14
Delphi-Quellcode:
      
with ImBild.Canvas do
  begin
    if falsch = 1
    then
    moveto (50,150);
    lineto (50,250);

    if falsch = 2
    then
    moveto (50,250);
    lineto (150,250);
Da fehlen begin und end.

Delphi-Quellcode:
     
if falsch = 1 then
  begin
    moveto (50,150);
    lineto (50,250);
  end;

if falsch = 2 then
  begin
    moveto (50,150);//50, 250 gibt es nicht, da das TImage nur eine Höhe von 225 Pixeln hat
    lineto (150,150);
  end;
Benjamin
Optimismus ist nur ein Mangel an Information
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:19
Außerdem würde ich das ganze Zeichnen ins OnPaint des Image verschieben (noch besser statt des Image eine Paintbox nehmen) und dort falsch auswerten.

[edit] Ich meine damit natürlich die Variable "falsch" [/edit]
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
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:19
Hallo,
in Deinem Code fehler so einige begin und ends.

Wenn Du in einer if Abfrage mehrere Befehle ausführen wills
solltest Du diese in begin end einfassen.
Ansonsten wird nur der erste Befehl ausgeführt.
Der zweite wird unabhängig vom Ausgang der if Abfrage
im ausgegührt.

Delphi-Quellcode:
if erraten = 0 then
  begin
    falsch := falsch + 1;
    LbFehler.Caption := IntToStr(falsch);
    with ImBild.Canvas do
      begin
        if falsch = 1 then
          begin // fehlt bei Dir
            moveto (50,150);
            lineto (50,250);
          end // fehlt auch bei Dir

      end;
    end;
Übersichtlicher würde es auch, wenn Du case statements verwenden würdest:

Delphi-Quellcode:
with ImBild.Canvas do
  begin
    ...
    case falsch of
      1: begin
            ...
          end;
      2: begin
            ...
          end;
    end //case
  end // with
Grüße
Klaus
Klaus
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:23
case halte ich in diesem Fall nicht für sinnvoll. Ich würde das eher so machen:
Delphi-Quellcode:
procedure TFrmHangman.ImBildPaint(Sender: TObject);
begin
  ImBild.Canvas.Pen.Color := clBlack;
  if falsch > 0 then
    begin
      ImBild.Canvas.moveto (50,150);
      ImBild.Canvas.lineto (50,220);
    end;
  if falsch > 1 then
    begin
      ImBild.Canvas.moveto (50,220);
      ImBild.Canvas.lineto (80,220);
    end;
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
 
Benutzerbild von bigben37
bigben37

Registriert seit: 19. Dez 2007
Ort: Freiburg
116 Beiträge
 
Delphi 2009 Professional
 
#18

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:26
Zitat von DeddyH:
case halte ich in diesem Fall nicht für sinnvoll. Ich würde das eher so machen:
Delphi-Quellcode:
procedure TFrmHangman.ImBildPaint(Sender: TObject);
begin
  ImBild.Canvas.Pen.Color := clBlack;
  if falsch > 0 then
    begin
      ImBild.Canvas.moveto (50,150);
      ImBild.Canvas.lineto (50,220);
    end;
  if falsch < 1 then
    begin
      ImBild.Canvas.moveto (50,220);
      ImBild.Canvas.lineto (80,220);
    end;
end;
Ich hab noch nie einen Hangman gesehen, der nur aus zwei Strichen besteht.
Ich denke, die anderen Zeichenschritte hat Eduard noch nicht in den Code geschrieben.
Benjamin
Optimismus ist nur ein Mangel an Information
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:33
Das war mir auch klar, ich schreib doch anderen nicht das Programm fertig, es ging mir um das Prinzip *koppschüttel*
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
 
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: hangman programm - delphi 3

  Alt 27. Mai 2008, 18:44
Warum in dem Zitat von bigben37 das steht: if falsch < 1 then und im Original von DeddyH if falsch > 1 then ist mir ein Rätsel.

Aber es macht schon Sinn immer auf if falsch > x zu prüfen,
denn dann wird die Grafik immer wieder neu gezeichnet.

Im Fall von Case werden nur die neuen Teile des Hangmans gezeichnet.

Grüße
Klaus
Klaus
 
Thema geschlossen
Seite 2 von 3     12 3      


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 18:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz