Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
10.05.2002, 21:53
snoopdog



nAbend
irgendwie hab ich nen fehler bei ner whiel schlefie in delphi

while bullety := gegnery and bulletx := gegnerx do

da sagt der Wert muss bool sein

nur wie muss ich das dann schreiben???? das der solange die schelfie durchlaufen soll bis

bullety gleich gegnery und bulletx gleich generx

ist?????

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
001
10.05.2002, 22:05
Hellfire



Ich habe zwar so gut wie keine Erfahrung in Pascal, aber := ist eine Zuweisung und kein Vergleichsoperator.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
10.05.2002, 22:09
feigling



Jup, stimmt :)
Muss heißen:

Quellcode:
  while (bullety = gegnery) and (bulletx = gegnerx) do
  begin
  ...
  end;

Ich sehe gerade, die Schleife soll so lange durchlaufen, bis bullety = gegnery und bulletx = gegnerx.
Dann muss es heißen:

Quellcode:
  while (bullety <> gegnery) and (bulletx <> gegnerx) do
  begin
  ...
  end;

€dit:
Mist, Tron war schneller =)

€dit 2:
lol Tron, du schreibst, "feigling war schneller" und ich schreibe "Tron war schneller" cool :D

--


Dieser Beitrag wurde am 10.05.2002 um 22:15 von feigling bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
10.05.2002, 22:09
bl4ckfire



Ich kenn mich ja nicht wirklich aus aber ich denke das es mit := nicht funktionieren wird... versuchs mal nur it = ... (man schreibt ja z.B. auch if x=10 oder x>10 x<10) aber wie gesagt ich kenn mich (noch) net so gut aus :P

€dit
Hups da waren 2 schneller =P aber so weit daneben war ich auch net =)
/€dit

--


Dieser Beitrag wurde am 10.05.2002 um 22:11 von bl4ckfire bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
10.05.2002, 22:12
Tron



leg dir mal ein anstaendiges deutsch zu, zudem scheint deine ? taste einen schaden zu haben.

hellfire hat recht, := ist der zuweisungsoperator
die while-schleife muesste so ausshen:

while (a = b) and (c = d) do

zudem steht deine bedingung kopf, da sie solange durchlaufen werden soll BIS diese werte gleich sind, und nicht SOLANGE (while) die werte gleich sind (zumindest entnehme ich das dem folgenden 'text')

alsso muesste es
while (a <> b) and (c <> d) do
heissen

zudem sollte man solche elementaren zusammenhaenge aus einem guten buch oder tutorial lernen und nicht aus einem forum, in diesem sinne: lern pascal!

<edit>dohdohdoh... feigling war schneller</edit>

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett


Dieser Beitrag wurde am 10.05.2002 um 22:14 von Tron bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
10.05.2002, 22:20
snoopdog



jo thx hab es nun. Ja mein Deutsch, hmm naja ich hab mir angwöhnt so schnell zu schreiben und dann vertipp ich mich immer :((

naja trotzdem thx und meine ? taste geht seht ihr
?????????????????????????????????????? ? ? ? ???

*fg*

naja kleiner joke am rande *g*

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
006
10.05.2002, 22:25
snoopdog



hmm und wie denk ich jetzt nen größeren bereich ab?? Also wenn gegnerx auf position 100 liegt. das ist ja dann die mitte von dem bitmap gegnerx. wie mach ich das dann das der noch rechts 5 pixel und links auch noch 5 pixel zu auswahl von gegnerx dazu gehören???

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
007
10.05.2002, 22:55
TheTinySteini



Quellcode:while ((bulletx < (gegnerx - 5) ) or (bulletx > (gegnerx - 5) )) and
    (bullety < (gegnery - 5) ) or (bullety > (gegnery - 5) ) do ...

Sowas in der Art...

[editiert wegen layout-probs]

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy


Dieser Beitrag wurde am 10.05.2002 um 22:56 von TheTinySteini bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
10.05.2002, 23:03
snoopdog



hmm das geht nicht so richtig :(

das oll eigentlich ne kollsionsabfrage werden nur das klappt net. habt ihr da ne fertige k. abfrage??

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
009
11.05.2002, 00:56
anothergb02



Welcher Art ? 3D; 2D ..
naja du meinst sicherlich 2D, am einfachsten ist es in dem du velocity + origin von beiden Objekten miteinander gleich setzt, dann bekommst du schon irgend wie nen resultierenden 2D Vector (vergiss aber nicht den Rechenbereich einzugrenzen x>-<x) ... Wenn du das nicht hinbekommst, dann suche mal unter www.google.de
Bei na ordentlichen 3D Kollisionsabfrage hänge ich selber gerade nen bissel rum
-> meine Lösung würde einfach zu viel Rechenzeit benötigen und ist zu umständlich .. also bye

snoopdog: und fang ja nicht erst an das per Pixel für Pixel aus zu testen !! Das ist irgend wann mal zuuu langsam und außerdem hast du dann eine Fehlerhafte Kollisionsabfrage -> sone Abart wie in OPF, wo man durch Häuser durchrennen kann.

--

Being in john Malkovich
.....


Dieser Beitrag wurde am 11.05.2002 um 00:59 von anothergb02 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
11.05.2002, 10:52
snoopdog



ja es soll ne 2D engine werden und dann will ich dazu noch nen Spiel zu machen.
Aber kannst du mir mal nen kleines Beispiel geben was du meinst?? Ich weis nämlich nicht was du mit velocity + origin meinst. Also ich hab mal was gesucht und gefunden, naja zum teil. Also die sprechen irgendwie alle von Bounding Boxes und von Bitmasken. Die bounding Boxes hab ich verstanden naja ich weis was das sind nur wie macht man die um ein Object?? Und die Bitmasken die versteh ich ganz und gar nicht. Ach und ja ich kann dualzahlen rechnen.......falls das noch einer fragt.

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
011
11.05.2002, 12:28
anothergb02



Ich meinte damit die Funktionen in 2D Funktionen umwandeln (y = m*x+n) und dann gleichsetzen, das Problem dabei ist:
fur einen Winkel von 90° kriegst du nen fetten Error.

snoopdog: Die Methode die du dir da reingezogen hast ist genau so sinnnlos (Und es wäre besser mal die Url mit anzugeben(von wo du das hast), es könnte jetzt nämlich gut sein, dass ich dich falsch verstanden habe bzw. dass ich die Methode falsch interpretiere, da ich mir das jetzt aus deinen Bitmasks .. zusammengereimt habe)
Die machen einfach eine neue Dimension und in dieser fliegen die Objekte als bunte einfarbige Boxen rum .. wenn sich nun 2 Ojekte berühern, dann entsteht eine neue Farbe, die du per Pixelanalyse (gehe einfachen jeden Pixel des Bildschirms durch und vergleich ihn) Herrausfiltern kannst und schon hast du deine Kollision. Das mag zwar schön und gut sein, bringt aber im Anwendungsbereich ehhr gar nichts, da die velocity niemals ein bestimmtes Maximum überschreiten darf ..
Denke dran, es kann sein, dass ich die Methode missverstanden habe !

Vielleicht hilft dir das ja weiter:
http://www.jopte.com/bastillion/jjc/collision/2d_collide.html
http://www.cs.wisc.edu/~schenney/courses/cs638-f2001/lectures/cs638-23.ppt (konnte ich nicht testen, da mein Acreader deinstalliert ist)

--

Being in john Malkovich
.....


Dieser Beitrag wurde am 11.05.2002 um 12:43 von anothergb02 bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
11.05.2002, 15:38
snoopdog



hmm das sieht alles sooo komplziert udn anch Mathe aus :( ohh verdaamt ich hasse Mathe. Gibt es da keine einfache Möglichkeit?? Also ich stehe mehr auf die idee mit den Bounding Boxes also wenn sich zwei rechtecke irgendwo übershcneiden. Nur ich weis net wie ich diese rechtecke erstellen soll :(

--

Visit our 500er Gamer Lan
@ www.evil-lanparty.de or
@ www.evil-havoc.com
Visit the HaVoc Lanparty Community
@ www.havoc-lanparty.com

zum Seitenanfang zum Seitenende Profil || Suche
013
11.05.2002, 16:41
TheTinySteini



Kein Bock auf Mathe? Dann vergiss es. Ehrlich.
Btw: wenn man mit Normalenform für die Geraden rechnet (is ja sowieso nur 2D, dann kann man die Normalenform auch für Geraden verwenden), dann brauch man sich um 90° net mehr zu kümmern.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
014
11.05.2002, 17:10
Tron



Zitat:
TheTinySteini postete
Kein Bock auf Mathe? Dann vergiss es. Ehrlich.

--

'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams

'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett

zum Seitenanfang zum Seitenende Profil || Suche
015
11.05.2002, 17:11
anothergb02



snoopdog wenn du von Mathe keine Peilung hast, dann solltest du das Enginecodeing .. gleich sein lassen (erst recht, wenn du sowas schon kompliziert findest !)
Du kannst ja immer noch benutzer freundliche Programme schreiben ..... (O_P)
so nach dem MOtto: Täst täast

--

Being in john Malkovich
.....

zum Seitenanfang zum Seitenende Profil || Suche