![]() |
Problem mit Dart-Programm
Ich habe ein Problem mit dem letzten Teil, der Aufgabe.
Das Programm, soll zunächst eine einfache Zielscheibe mit 4 Ringen und einem Zentrum (innen 100 Punkte nach außen in 20er Schritten abnehmend) zeichnen und dann 5 zufällige Schüsse abgeben , die alle auf dem Quadrat, aber nicht unbedingt auf der Scheibe landen . Die erreichte Punktzahl soll ermittelt und ausgegeben werden (angekratzte Ringe zählen zugunsten des Schützen). Und da liegt mein Problem... wie soll ich die Punktzahl zusammenzählen, wenn ich die Treffer in form von kleinen Ellipsen in einem Paintbox-Fenster anzeige...? mfG |
Re: Problem mit Dart-Programm
Hai El Cattivo,
ersteinmal: "Herzlich wilkommen in der Delphi-PRAXIS". Ich sehe das Problem noch nicht so genau. Du weisst doch wo die Scheibe "getroffen" wurde. Jetzt musst Du doch immer nur die Punkte für den getroffenen Ring zu den schon erreichten addieren. |
Re: Problem mit Dart-Programm
Aber ich habe den Punkt doch nur in Koordinatenform angegeben. Ich weiß nicht wie das Programm nun erkennen soll auf welchem Ring der Punkt liegt. Ich muss ja die Punktzahl der Ringe addieren und nicht die Koordinaten...
|
Re: Problem mit Dart-Programm
Du brauchst dazu nur die Koordinaten des Treffers, des Scheibenmittelpunkts und die Radien der Ringe. Dann kannst du einfach ausrechnen, auf welchem Ring der Treffer lag und weißt damit auch die Punktzahl.
|
Re: Problem mit Dart-Programm
Zitat:
Rot = 20 Pkt. Blau = 40 Pkt. Grün = 60 Pkt. usw. |
Re: Problem mit Dart-Programm
Stimmt. OK ich habs verstanden, danke für eure Hilfe!
P.S.:Werde delphipraxis weiterempfehlen! |
Re: Problem mit Dart-Programm
Andere Möglichkeit:
Du kennst die Radien der Ringe, jetzt kannst du anhand der X,Y Koordinaten der Treffer gucken in welchem Ring der Pfeil steckt ;) mfg phlux :hi: |
Re: Problem mit Dart-Programm
@phlux :wink: :
Zitat:
Delphi-Quellcode:
Radius := Hypot(Mittelpunkt.x - Treffer.x, Mittelpunkt.y - Treffer.y);
if Radius <= RRing1 then Punkte := 100 else if Radius <= RRing2 then Punkte := 120 else if //... |
Re: Problem mit Dart-Programm
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 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