-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
20. Nov 2012
Hmm das klingt schon sehr gut, aber wie soll ich das denn umsetzten. Ehrlich gesagt, fällt mir da jetzt so direkt keine konkrete Umsetzungsmöglichkeit in Delphi ein :?
Tut mir leid, dass ich nicht so der Profi bin, ich tue schon alles Mögliche, um mein Delphi Wissen zu steigern :oops:
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
20. Nov 2012
Hat nicht noch Jemand eine Lösung.
Der Code von Bummi lässt die Kreise in die selbe Richtung zurückprallen aus der sie kamen, aber wie bereits gesagt, ich will eine Einfallswinkel=Ausfallswinkel Kollision und zudem müsste das Bug Problem behoben werden: Wenn man den Block zu schnell bewegt, bleiben die Kreise darin hängen :/
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
17. Nov 2012
@Bjoerk: So ganz blicke ich bei dem Code noch nicht durch. Mit Matrizen habe ich mich noch nicht beschäftigt
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
16. Nov 2012
Danke trotzdem für die ganze Mühe :-D
Mit diesem Code funktoniert die Kollision leider nicht wie gewollt (altes Problem, Einfallswinkel=Einfallswinkel) und manchmal bleibt ein Kreis hängen. Aber ich bin schon ein Stück weiter, danke dafür.
Haben die Anderen den vielleicht noch Ideen, dass zu realisieren?
Ist wichtig und sollte bis Montag fertig sein, wenn möglich
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
16. Nov 2012
Okay alles klar, ich habe den ganzen Kram mal angehängt
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
16. Nov 2012
So also da bin ich wieder und habe mich direkt mal an die Arbeit gemacht.
X und Y werden wie folgt beschrieben:
for b := 0 to high(Kreis) do
begin
Kreis .x := Kreis .x + Kreis .speedx; //Geschwindigkeit X
Kreis .y := Kreis .y + Kreis .speedy; //Geschwindigkeit Y
With Kreis do
begin
Left := Kreis .x;
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
12. Nov 2012
Das Problem war wohl, dass ich mit dem Programm vor Ewigkeiten angefangen habe und mir über x und y nicht mehr im klaren war.
Die beiden variablen werden beim erzeugen des kreises verwendet um einen beliebigen startpunkt zu wählen, das sieht dann so aus:
Kreis .x := Kreis .radius + random (1000 - 2*Kreis .radius);
Kreis .y := Kreis .radius + random (500 - 2*Kreis .radius);
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
11. Nov 2012
1.Mir wurde erklärt das "abs" die Richtung absolut umkehrt und irgendwie sinnvoller wäre.
2.ja das ist richtig, ich will es auch gerne alleine schaffen, aber so ganz peile ich es noch nicht.
x und y zeigen die Position auf x und y Achsen an aber geht diese Position jetzt von der Mitte des Kreises aus oder wieso verrechnen wir diese Koordinaten mit der höhe?
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
11. Nov 2012
Nein so oder so ähnlich sah sie nicht aus, aber mit dieser Zuweisung bugt es komplett rum.
Die Kreise bleiben stehen wenn sie jetzt das Objekt berühren...
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
11. Nov 2012
Mit diesem Code passiert leider genau das, was ich vermeiden wollte:
Der Ball prallt wieder in die Richtung, aus der er kam und nicht "Einfallswinkel=Ausfallswinkel"
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
11. Nov 2012
Was genau ist denn mit "x invertieren" gemeint?
Soll ich die speedx invertieren?
und wieso kann ich rechts und links und oben und unten als eins behandeln. Funktioniert zumindest nicht
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
11. Nov 2012
Danke für die Lösung. Ich habe jetzt mal angefangen mit der Kollision
if (Kreis.y+Kreis.Height)>Image3.Height then //Kreis kommt von oben
Kreis.speedy := -Abs(Kreis.speedy);
und das funktioniert auch alles soweit, aber als ich versucht habe die kollision von unten und den Seiten zu schreiben, kam ich nicht mehr so ganz weiter. mit diesem code ging es nicht:
if...
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
10. Nov 2012
ja ich weiß, das ist mir auch bewusst, nur ich wusste nicht wie es richtig geht.
Wieso soll ich kein Image verwenden?
Ist schon etwas später, wie genau stellst du dir die Abfrage vor. ich hatte überlegt man könnte es mit dem Satz des Pythagoras machen, aber gibt es nicht noch was einfacheres?
-
Forum: Programmieren allgemein
Delphi
by DelphiUser1,
10. Nov 2012
Guten Abend alle miteinander.
Momentan arbeite ich an einem kleinen Spiel, in dem es darum geht, Kreise zu vernichten. Diese Kreise werden mit einem timer erzeugt (array of TKreis).
Sie haben eine grundgeschwindigkeit von speedx=5 und speedy=5. Es gibt Objectives und Weapons, unter Objectives findet man unter anderem eine Kiste. Ich bewege sie in dem ich ihr einfach die mausposition zuweise....