AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Gleitkommadivision durch Null
Thema durchsuchen
Ansicht
Themen-Optionen

Gleitkommadivision durch Null

Ein Thema von DelphiUser1 · begonnen am 12. Nov 2012 · letzter Beitrag vom 22. Nov 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Gleitkommadivision durch Null

  Alt 17. Nov 2012, 17:00
Auch wenn das Spiel kein Knaller ist und ich nichts dagegen habe den Code zu veröffentlichen, das Spiel ist noch nicht fertig. Wenn es fertigt ist, eventuell, aber nicht vorher.

Wenn du aber spezielle Fragen hast, dann frag.
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#2

AW: Gleitkommadivision durch Null

  Alt 18. Nov 2012, 02:02
ja, mich würde interessieren, wie die Blockzerstörung funktioniert?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#3

AW: Gleitkommadivision durch Null

  Alt 18. Nov 2012, 03:57
Du könntest ja mal die Bilder hochaladen.

Bitmap ist ein sehr einfaches Format und solange die paar wenigen Kontrolldaten korrekt sind, erzeugen Fehler in den Bildinhalten keinerlei Probleme (außer daß die Farben der betreffenden Pixel nicht stimmen.

Fazit:
Wenn TBitmap das Bitmap nicht lesen kann, dann ist das Bild zu 99,99995 % defekt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Gleitkommadivision durch Null

  Alt 18. Nov 2012, 06:37
ja, mich würde interessieren, wie die Blockzerstörung funktioniert?
Das ist etwas kompliziert, oder auch nicht, ja nachdem wie man es sieht. Also zuerst ist ein Objekt ein Objekt mit verschiedenen Eigenschaften. Da wäre das Bild, die Größe, die Geschwindigkeit, die Richtung. Objekt kann ein Record oder Klasse mit den Eigenschaften sein. Wird es angeklickt und zerfällt, wird es an eine Prozedur übergeben. Diese erzeugt vier neue Objekte mit einer viertel Größe und Positionen die zusammen das alte Objekt überdecken (hier muss etwas gerechnet werden). Die Teilbereiche der Bitmap werden verteilt. Das alte Objekt wird aufgelöst. Die neuen Objekte bekommen neue Eigenschaften wie Geschwindigkeit, Richtung usw. Das war es. Die Explosion ist das gleiche in grün. Die Prozedur die das alte Objekt in vier Teile zerlegt ist flexibel gestaltet und kann auch in 25 oder 64 Teile zerlegen. Zum Schluß fliegen da auch 64 Bitmaps. Bei über 2000 fängt es langsam an zu ruckeln.
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#5

AW: Gleitkommadivision durch Null

  Alt 20. Nov 2012, 22:45
Okay, also das erscheint mir jetzt erstmal nicht so kompliziert.
Ich kann die Exe jetzt nicht mehr ansehen, hast du Bilder benutzt oder einfach Shapes als Blöcke?
Sehe ich das richtige, dass es eine Klasse TBlock ist, die beim Zerstören eines großen Kreises neu erzeugt werden, nur eben kleiner?
Der Rechenkram dürfte dann sein, zu berechnen, wie groß die kleinen Blöcke sein müssen um zusammen den alten zu ergeben. Stimmt das so einigermaßen?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#6

AW: Gleitkommadivision durch Null

  Alt 21. Nov 2012, 10:45
Ich kann die Exe jetzt nicht mehr ansehen, hast du Bilder benutzt oder einfach Shapes als Blöcke?
Nun, eigentlich sind es Bitmaps und dann doch nicht. Das Problem ist, dass bei Canvas so ab 2000 Objekte das Programm langsam in die Knie geht. Ab etwa der doppelten Menge kommt dann auch ein Out of Memory. Das System klappt zusammen, denn auch wenn es kleine Bitmaps sind, alles verbraucht Speicherplatz. Also wurde die Klasse erweitert, so dass die Explosion keine Bitmaps mehr sind, sondern gezeichnete Rechtecke. Es schaltet also ab einer bestimmten Größe von Bitmap auf zeichnen. Und dann dachte ich mir, pfeif auf die Bitmap und hab die Grenze ab der gezeichnet wird nach oben verschoben, so dass nur noch gezeichnet wird. Trotzdem, da ist beides drin. Das Problem ist die Canvas. Denn gelegentlich sind da paar tausend Objekte drauf.

Zitat:
Sehe ich das richtige, dass es eine Klasse TBlock ist, die beim Zerstören eines großen Kreises neu erzeugt werden, nur eben kleiner?
Der Rechenkram dürfte dann sein, zu berechnen, wie groß die kleinen Blöcke sein müssen um zusammen den alten zu ergeben. Stimmt das so einigermaßen?
Ja. Nur habe ich einen ganz anderen Ansatz als du. Bei mir sind das alles Bitmaps, keine TShapes oder TImages. Ob der Mauszeiger ein Objekt getroffen hat wird durch Berechnung ermittelt.
  Mit Zitat antworten Zitat
DelphiUser1

Registriert seit: 15. Sep 2012
56 Beiträge
 
#7

AW: Gleitkommadivision durch Null

  Alt 21. Nov 2012, 23:32
Okay danke für die Information. Klingt auf jeden Fall interessant. Ich denke ich mache mich auch mal an ein Programm der Art
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: Gleitkommadivision durch Null

  Alt 22. Nov 2012, 00:45
Okay danke für die Information. Klingt auf jeden Fall interessant. Ich denke ich mache mich auch mal an ein Programm der Art
Nerv Nerv Nerv ... Andorra 2D ... Nerv Nerv Nerv ...
  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 01:24 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