2010-12-12 3 views
1

자바에서 메모리의 네트워크 게임을 개발 중입니다. 다음과 같이 작동합니다 (또는 작동합니다) :GUI가있는 자바 메모리 게임 - 문자열 및 배열 비교

클라이언트가 서버에 연결합니다. 서버는 1에서 100 사이의 12 개의 값을 임의로 생성하고이 값을 문자열을 통해 클라이언트에 보냅니다. 클라이언트는 12 개의 카드 (토글 버튼)로 된 보드를 가지고 있습니다. 값 문자열을 수신하면 클라이언트는이 값을 12 개의 카드에 채 웁니다. 카드에 10 초 동안 값이 표시됩니다. 사용자는 토글 버튼을 올바른 순서로 클릭합니다 (즉, 가장 낮은 숫자부터 가장 높은 숫자로 시작). 카드가 토글되면 해당 카드의 값이 문자열에 추가됩니다. 12 장의 카드를 모두 선택하면 문자열이 서버 (예 : PLAYER \ 1 \ 2 \ 5 \ 8 \ 20 \ 38 ...)로 전송됩니다. 서버가 문자열을 수신하면이 문자열을 전송 된 원래 문자열과 비교합니다. 클라이언트가 정확하다면, 그 사람 점수가 증가하고 게시판이 다시 생성됩니다.

나는 아직이 코딩 시작하지 않은,하지만 난 다음 직시 :

서버 배열에 정수를 저장합니다. 이 배열은 문자열로 변환됩니다. 문자열이 전송됩니다. 클라이언트에 도착하면 .split 메서드가 '\'구분 기호를 기반으로 사용되어 문자열을 배열에 넣습니다. 그런 다음 새로 생성 된 배열 내의 임의의 값을 어떻게 든 카드에 넣어야합니다. 또한 카드를 클릭하고 값을 검색하여 문자열에 추가 할 수 있어야합니다.

누구든지이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

+0

왜 데이터를 int 배열로 보내지 않습니까? – Cephalopod

답변

1

와이어에서 구분 된 문자열을 사용하는 것이 합리적인 것처럼 보입니다. 영감을 얻으려면 example의 메모리 게임에 JToggleButton을 사용하고 네트워크 통신에는 소켓을 사용하는 example을 사용합니다.

+0

감사합니다. 그게 정말 도움이 :) – ichise

1

왜 클라이언트가 랜덤 넘버를 생성하고 결과를 확인하지 못하게합니까? 서버에 전달할 필요가있는 것은 점수뿐입니다.

+0

좋은 지적이야. 단, 여러 고객이 필요하므로 고객이 다른 보드를 생성 한 경우 불공평하지 않습니까? – ichise

+0

보드가 동일해야 할 경우 임의의 시드를 모든 클라이언트에 전달할 수 있습니다. 그 무작위 시드에서 임의의 양의 난수를 생성하고 이들이 동일하다는 것을 확신 할 수 있습니다. 그러나 여러 번의 테스트를 수행하고 진정으로 무작위 인 경우 어떤 불공평도 발생하지 않습니다. –