abfrage zwischen zwei types
Übersicht

PhilonBetreff: abfrage zwischen zwei types |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hi!
habe ein type. mehrere instanzen dieses types sollen sich alle gegenseitig anziehen (gravitation...) wie soll ich das machen, weil man kann ja nicht das machen: Code: [AUSKLAPPEN] for green.square=each square for green.square=each square .... next next |
||
![]() |
oware |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] for local t1:type = eachin list
for local t2:type = eachin list if t1 <> t2 'was auch immer endif next next tippe ich mal so ins blaue... oder was meintest du? und jemand sollte es nach blitzbasic übersetzen ![]() |
||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie Oware schon schreibt...
BlitzBasic: [AUSKLAPPEN] For t1.square = Each square Alle Types vom Typ square sind in einer Liste. Die kannst du mit beliebigen Zugriffsvariablen durchgehen - du musst nur überprüfen, ob du nicht ein Objekt mit sich selbst vergleichst. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Philon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm.. also mir ist da was nicht klar..
hier mein ergebnis: Code: [AUSKLAPPEN] For t1.square=Each square
For t2.square=Each square If t1 <> t2 Then t1\ax=0 t1\ay=0 distance=Sqr((t2\xPos-t1\xPos)^2+(t2\yPos-t1\yPos)^2) ;entfernung der beiden squares a=6.67*(10^-11)*(t1\mass/(distance^2)) ;a=G*(m/(d^2)) ;daraus entstehende Beschleunigung ax=((t2\xPos-t1\xPos)/distance)*a ; ay=((t2\yPos-t1\yPos)/distance)*a ;aufspalten der beschleunugung in x-und y-Richtung t1\ax=t1\ax+ax t1\ay=t1\ay+ay EndIf Next Next es hatt gar keine auswirkung auf meine green.squares . (da staht ja auch nur was von t2 und t2.squares?) bitte erklähr mir wer wie das alles funkioniert! deise t1 und t2 sache verwirrt mich. philon |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ob die Zugriffsvariable green, t1, t2 oder sonstwie heißt, ist egal. Du brauchst nur zwei Verschiedene um ein und die selbe Type-Liste verschachtelt zu durchlaufen.
Wenn du die Koordinaten im Inneren der Schleife auf 0 setzt, würde es mich auch wundern, wenn sich deine Objekte irgendwo hin bewegen - sie starten ja alle immer wieder vom Koordinatenursprung. Auch das du die Gravitationskonstante benutzt ist nicht unbedingt hilfreich... Lass dir so eine Berechnung mal ausgeben... 10^-11 ! ist verdammt klein. Wenn du die Koordinaten nicht in Float variablen abspeicherst werden sie auch sowieso immer 0 sein. - Float benutzen - Benutze Debuglog ![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Philon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo!
ich habe schon an alles gedacht: -alles sind floats -um gegen die G-konstante anzugehen haben die squares eine sehr hohe masse -was ich da auf 0 setze ist die beschleunigung, die später mit der geschwindigkeit verrechnet wird frage: wenn ich "t1.square sage", spreche ich dann dieselben squares wie mit "green.square" an? ich dachte das währen dann zwei verschiedene square-typen. philon |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Philon hat Folgendes geschrieben: wenn ich "t1.square sage", spreche ich dann dieselben squares wie mit "green.square" an? Ja, das sind die selben. Es gibt pro Type nur eine Liste. Immer wenn du new square aufrufst, wird an die square-Liste ein neuer Eintrag angehängt.
Bsp.: BlitzBasic: [AUSKLAPPEN] Type Ttest Die Zugriffsvariablen zeigen immer nur auf einen Eintrag. Mit green = null zeigt eine Variable auf "kein Objekt". |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Philon |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aaah! DANKE! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group