내가 당구게임을 API 소스로 만들어보려고 했거든

근데 일단 공 2개가 있다고 가정했을때

큐대로 공 A를 치고 -> 공 A는 공 B와 충돌할때까지 굴러가고 -> 공 A와 B가 충돌하면 각도와 힘에 따라 공 A와 B가 각자 어디론가 이동하잖아

그럼 공 A와 B의 좌표값을 동시에 바꿔주면서 화면을 갱신해야하는데

내가 아는 프로그래밍으로는 while문으로 운동에너지값을 줄여가면서 0이 될때까지 좌표를 이동시키는건데...

절차지향적으로  A공을 다 움직인 후 B공을 움직이던지, B공을 움직인 후에 A공을 움직이던지 하는 순서대로의 방법밖에 없잖아...

while문안에 A공과 B공의 좌표를 동시에 바꾸게끔 할 수는 있겠지만 공이 2개가 아니라 여러개가 될 경우나 또 튀긴 공이 다른 오브젝트와 부딪혔을때를

생각하면 할 수 있을 것 같지가 않더라고

객체지향언어를 봐도 아닌것같고 멀티스레드 프로그래밍을 해야 하는건지 뭔지

뭔가 다른 개념이 필요한것 같은데 그게 뭔지 모르겠어