Announcement

Collapse
No announcement yet.

Frage zu meinem aktuellen Projekt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zu meinem aktuellen Projekt

    Hallo zusammen,

    ich bin Delphi-Interessiert und gerade dabei, es zu lernen. Hab eine PDF-Datei von einem Freund bekommen, in der die Programmiersprache Schritt für Schritt erklärt wird. Dazu gibt es dann immer Aufgaben, aber bei der aktuellen komme ich nicht weiter.

    Es geht dabei um ein Spiel, in dem ein Ball herumhüpft und der Spieler in mit der Maus treffen muss. Die Treffer sollen gezählt werden. Ich habe schon einen Großteil des Programms geschrieben. Im Moment bin ich soweit, dass der Ball herumhüpft. Aber wie kann ich die Klicks auf den Ball automatisch zählen lassen? Gibt es auch die Möglichkeit, mehrere Bälle hüpfen zu lassen?

    Vielen Dank schonmal und viele Grüße,
    Hans-Peter

    Das Delphi-Projekt habe ich hier hochgeladen
    http://rapidshare.com/files/93667801...ojekt.zip.html

  • #2
    Hallo,

    wenn du die folgende Prozedur einfügst kannst du dort einen Counter beschreiben lassen, den du an beliebiger Stelle wieder ausgibst:

    procedure TForm1.BildClick(Sender: TObject);
    Begin
    //hier zählen lassen und in globaler Varible speichern
    GlobVar := GlobVar + 1;
    End;

    Ausgabe könnte so aussehen:
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    Begin
    //Hier die Variable wieder ausgeben
    MessageBox(0, 'Du hast den Ball '+GlobVar+' angecklickt', 'Ergebnis, 0);
    End;

    Und schon biste fertig

    Gruß
    Marboro

    Comment


    • #3
      Sorry, hab noch was vergessen:
      In der Messagebox musste natürlich einen Integer erst in einen String umwandeln.

      Also messagebox(0,'Du hast den Ball '+inttostr(GlobVar)+' gecklickt', 'Ergebnis', 0);

      So, das wars!

      Gruß
      Marboro

      Comment


      • #4
        Hi,

        Also zunächst einmal musst du ein MousDown-Handler schreiben, der dir überprüft, ob die getrückte Position innerhalb deines Kreises liegt.
        Wenn ja, dann zählst du eine globalen Variable hoch und bringst diese zur Anzeige.

        Hab das mal in deinem Projekt angepasst. Ein MousDown-Handler der TImage-Komponente ruft eine Test-Funktion in deinem "Hase" Objekt auf.
        Diese Zählt dann einen Zähler hoch, falls der Punkt innerhalb des Kreises liegt.
        In der Caption des Formulars wird dann die Anzahl der Treffer angezeigt.


        Gruß

        Stefan Laut
        Attached Files

        Comment

        Working...
        X