2011-03-29 4 views
0

내 프로그램에서 Bubble Breaker 게임에서 거품처럼 작동하는 JPanels가있는 JPanel (squareContainer)이 있습니다. 어쨌든, 내가 생각하기에 컴퓨터에서 거품 제거를 시뮬레이트하여 제거 할 거품을 찾는 것이 가장 좋지만, 실제로 이런 현상이 발생하면 실제로 게임을하고 '최상의'동작을 수행 할뿐만 아니라, 그래서 그것은 내 squareContainer JPanel 정확한 상태를 복사 할 수 있는지 궁금 해서요. 어떤 거품이 포함되어 있습니다. 그래서 컴퓨터가 그것을 시뮬레이션하고 기본적으로 모든 동작을 수행 할 때 단순히 복제를 대체 할 수 있도록합니다. 내 초기 상태를 되찾아 줄뿐만 아니라 그 정보가 최선의 방법입니다.정확한 JPanel 또는 실행 취소 제안.

이미 내가 가장 잘 움직이는 정보를 가지고 있지만 내 JPanels의 편집을 취소하는 가장 좋은 방법은 무엇인지 알 수 없다는 것에 유의하십시오. 어떤 아이디어입니까?

답변

2

가장 좋은 방법은 UI에서 데이터를 분리하는 것입니다.

UI는 아직 사용할 수있는 거품의 내부 상태에 따라 JPanels를 렌더링해야합니다.

이론적으로이 상태를 텍스트 형식 (예 : System.out.println(...))으로 볼 수 있습니다. 이 방법으로 해당 상태를 복사하여 시뮬레이터로 보낼 수 있습니다.

+0

[MVC] (http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) ;-) –

+0

@Matt ehhh 괜찮습니다. 가야합니다. 을 따라서. 저는 일반적으로 MVC를 "MVC 프레임 워크"와 연관시키는 반면 "UI를 비즈니스 로직과 분리하는 것"은 단순히 좋은 습관입니다. – corsiKa

+0

JPanel Grid에서 거품을 재생하는 방식이 무작위이므로 임의의 색의 거품이 배치된다는 것을 무슨 뜻인지 잘 모르겠습니다. 하지만 편집되기 전에 생성 된 상태의 복사본을 만들고 싶습니다. – Didier