AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Dart-Programm

Ein Thema von El Cattivo · begonnen am 17. Apr 2004 · letzter Beitrag vom 17. Apr 2004
Antwort Antwort
El Cattivo

Registriert seit: 17. Apr 2004
Ort: Nieste bei Kassel
19 Beiträge
 
Delphi 5 Standard
 
#1

Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:30
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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:38
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
El Cattivo

Registriert seit: 17. Apr 2004
Ort: Nieste bei Kassel
19 Beiträge
 
Delphi 5 Standard
 
#3

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:42
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...
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:48
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.
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:51
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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
El Cattivo

Registriert seit: 17. Apr 2004
Ort: Nieste bei Kassel
19 Beiträge
 
Delphi 5 Standard
 
#6

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:52
Stimmt. OK ich habs verstanden, danke für eure Hilfe!
P.S.:Werde delphipraxis weiterempfehlen!
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#7

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 17:56
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
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Niko

Registriert seit: 23. Jun 2003
416 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 18:17
@phlux :
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 //...
"Electricity is actually made up of extremely tiny particles called electrons, that you cannot see with the naked eye unless you have been drinking." (Dave Barry)
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#9

Re: Problem mit Dart-Programm

  Alt 17. Apr 2004, 19:04
Zitat von Niko:
@phlux :
Zitat von Niko:
Du brauchst dazu nur die Koordinaten des Treffers, des Scheibenmittelpunkts und die Radien der Ringe.
Sorry, hab die Posts wohl zu schnell überflogen nichts für ungut
Christian "phlux" Arndt
  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 05:41 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