Hallo,
ich bin gerade dabei sowas wie ein billard zu programmieren.
für die darstellung verwende ich java swing.
ich habe ball objekte, die eine position speichern, einen a, b und c wert. diese objekte implementieren das runnable interface. in der run methode führt mit hilfe von a, b, c eine fortlaufende positionsänderung aus.
ein objekt pooltisch (jpanel) besitzt mehrere kugeln, eine innere klasse die für den stoß durchführt (mouslistener). wird geklickt wird der abstand zur weißen kugel berrechnet und a, b und c gesetzt. der thread der kugel wird gestartet (die position der kugel fortlaufend verändert), ein weiterer thread zeichnet das spielfeld immer neu. soooo, die weiße kugel läuft nun schon in ordnung, nun zu meinem problem: trifft die weiße kugel auf eine andere soll wenn nicht schon gestartet einen neuen thread erstellen und die kugel rollen lassen (ich überprüfe einfach ob die position jeder kugel einer anderen nahe ist), mein problem ist nun die änderung der laufbahn der kugeln, diese berechnungen scheinen mir sehr komplex, wie löse ich das am besten.
nochwas: in der angabe steht:Wer Lust auf Realismus hat, kann die Kollision einzelner Kugeln mittels eines 2-dimensionalen elastischen Stoßes realisieren. Also ich wär auch mit Unrealismus zufrieden....
Danke schonmal für die Hilfe
ich bin gerade dabei sowas wie ein billard zu programmieren.
für die darstellung verwende ich java swing.
ich habe ball objekte, die eine position speichern, einen a, b und c wert. diese objekte implementieren das runnable interface. in der run methode führt mit hilfe von a, b, c eine fortlaufende positionsänderung aus.
ein objekt pooltisch (jpanel) besitzt mehrere kugeln, eine innere klasse die für den stoß durchführt (mouslistener). wird geklickt wird der abstand zur weißen kugel berrechnet und a, b und c gesetzt. der thread der kugel wird gestartet (die position der kugel fortlaufend verändert), ein weiterer thread zeichnet das spielfeld immer neu. soooo, die weiße kugel läuft nun schon in ordnung, nun zu meinem problem: trifft die weiße kugel auf eine andere soll wenn nicht schon gestartet einen neuen thread erstellen und die kugel rollen lassen (ich überprüfe einfach ob die position jeder kugel einer anderen nahe ist), mein problem ist nun die änderung der laufbahn der kugeln, diese berechnungen scheinen mir sehr komplex, wie löse ich das am besten.
nochwas: in der angabe steht:Wer Lust auf Realismus hat, kann die Kollision einzelner Kugeln mittels eines 2-dimensionalen elastischen Stoßes realisieren. Also ich wär auch mit Unrealismus zufrieden....
Danke schonmal für die Hilfe