Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit Dart-Programm (https://www.delphipraxis.net/20416-problem-mit-dart-programm.html)

El Cattivo 17. Apr 2004 16:30


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

Sharky 17. Apr 2004 16:38

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.

El Cattivo 17. Apr 2004 16:42

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...

Niko 17. Apr 2004 16:48

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.

Sharky 17. Apr 2004 16:51

Re: Problem mit Dart-Programm
 
Zitat:

Zitat von Niko
....du einfach ausrechnen, auf welchem Ring der Treffer lag und weißt damit auch die Punktzahl.

Lese doch einfach die Farbe des Pixels aus von dem Du die Koordinaten hast.
Rot = 20 Pkt.
Blau = 40 Pkt.
Grün = 60 Pkt.
usw.

El Cattivo 17. Apr 2004 16:52

Re: Problem mit Dart-Programm
 
Stimmt. OK ich habs verstanden, danke für eure Hilfe!
P.S.:Werde delphipraxis weiterempfehlen!

phlux 17. Apr 2004 16:56

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:

Niko 17. Apr 2004 17:17

Re: Problem mit Dart-Programm
 
@phlux :wink: :
Zitat:

Zitat von Niko
Du brauchst dazu nur die Koordinaten des Treffers, des Scheibenmittelpunkts und die Radien der Ringe.

Aber hier noch als Nachtrag die Umsetzung:
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 //...

phlux 17. Apr 2004 18:04

Re: Problem mit Dart-Programm
 
Zitat:

Zitat von Niko
@phlux :wink: :
Zitat:

Zitat von Niko
Du brauchst dazu nur die Koordinaten des Treffers, des Scheibenmittelpunkts und die Radien der Ringe.


:oops: Sorry, hab die Posts wohl zu schnell überflogen :| nichts für ungut ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:01 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