소개글
본 프로그램은 소켓통신을 이용한 보드게임으로써 2인이서 실행 할 수 있으며, 서로 Chatting 또한 가능합니다.각각의 사용자가 로그인 한 후 게임을 실행하면 실시간으로 상대방의 현재 게임상태에 대해 모니터링이 가능합니다. 실행 순서에 대해서 말씀드리겠습니다.
1. 프로젝트를 import 시킵니다
2. ChatServer.java를 Run하여 Server를 구동시킵니다
3. Main.java 를 Run합니다.(이 때 하나의 Client가 생성됩니다.)
4. Client를 2개를 생성한 뒤(3번 과정을 두 번 시행), 각각의 Client에 id를 입력하여 로그인 합니다.
5. 각각 Ready 버튼을 누르게 되면 상태방 및 자신의 Ready상태가 표시 되며, 두 Client가 다 Ready가 되면 바로 게임이 실행됩니다.
6. 오른쪽 아래에는 화살표에 매칭된 과일이 나타나며, 게임창에는 랜덤으로 아이템들이 뿌려집니다.
각각의 아이템에 맞게 빨간 테두리가 쳐진 아이템을 키보드 화살표를 이용하여 제거합니다.
게임 실행 중 Refresh 버튼을 누르면 남아있는 아이템 개수에 맞게 배치 및 아이템의 크기가 랜덤으로 변경됩니다.
잘 알아보기 힘든 배치일 경우 사용하시면 됩니다.
누가 먼저 빠르게 아이템을 제거하느냐가 승부의 관건이며, 실시간으로 상대의 진행상태 또한 오른쪽 Panel을 통해 확인 할 수 있습니다. 콤보에 따라 점수가 차등되며 모든 이벤트에대해 귀여운 사운드가 입혀져 있습니다.
7. 게임 종료는 time out이 되었을 때와 먼저 게임을 완료한 이용자가 발생하였을 때 입니다.
8. 게임 종료 시 다시 시작을 할 것인지 초기화면으로 돌아갈 것인지에 대한 Message box가 생성됩니다.
컴파일 실행환경
Eclipse, JAVA압축파일 내 파일목록
.classpath
.project
.settings/org.eclipse.jdt.core.prefs
bin/ChatClient$IncomingReader.class
bin/ChatClient$LogButtonListener.class
bin/ChatClient$SendButtonListener.class
bin/ChatClient.class
bin/ChatMessage$MsgType.class
bin/ChatMessage.class
bin/ChatServer$ClientHandler.class
bin/ChatServer.class
bin/DirectionListener.class
bin/Fruit.class
bin/Gamepanel.class
bin/InformPanel.class
bin/Main$ArrangeListener.class
bin/Main$ChatListener.class
bin/Main$comboTime.class
bin/Main$CoverPanel.class
bin/Main$Decopanel.class
bin/Main$delayTime.class
bin/Main$goTime.class
bin/Main$HelpListener.class
bin/Main$Helppanel.class
bin/Main$LogButtonListener.class
bin/Main$ReadyListener.class
bin/Main$StartListener.class
bin/Main.class
bin/NullLayoutManager$PointEx.class
bin/NullLayoutManager.class
image/dirback.jpg
image/first.jpg
image/gamestart.jpg
image/gback.jpg
image/gback2.jpg
image/help2.jpg
image/how.jpg
image/kiki.gif
image/left.jpg
image/right.jpg
image/sound.jpg
image/start.jpg
image/up.jpg
image/utilframe.jpg
image2/grape_juice(2).gif
image2/grape_juice.gif
image2/help2.jpg
image2/kimbab(2).gif
image2/kimbab.gif
image2/trikim(2).gif
image2/trikim.gif
image3/CHATTING.gif
image3/HELP.gif
image3/LOGIN.gif
image3/READY.gif
image3/ready2.gif
image3/REFRESH.gif
sound/기본음.wav
sound/똥.wav
sound/시작음1.wav
sound/시작음2.wav
sound/야!.wav
sound/야이!(끝).wav
sound/여자비명.WAV
src/ChatClient.java
src/ChatMessage.java
src/ChatServer.java
src/DirectionListener.java
src/Fruit.java
src/Gamepanel.java
src/InformPanel.java
src/Main.java
src/NullLayoutManager.java
.project
.settings/org.eclipse.jdt.core.prefs
bin/ChatClient$IncomingReader.class
bin/ChatClient$LogButtonListener.class
bin/ChatClient$SendButtonListener.class
bin/ChatClient.class
bin/ChatMessage$MsgType.class
bin/ChatMessage.class
bin/ChatServer$ClientHandler.class
bin/ChatServer.class
bin/DirectionListener.class
bin/Fruit.class
bin/Gamepanel.class
bin/InformPanel.class
bin/Main$ArrangeListener.class
bin/Main$ChatListener.class
bin/Main$comboTime.class
bin/Main$CoverPanel.class
bin/Main$Decopanel.class
bin/Main$delayTime.class
bin/Main$goTime.class
bin/Main$HelpListener.class
bin/Main$Helppanel.class
bin/Main$LogButtonListener.class
bin/Main$ReadyListener.class
bin/Main$StartListener.class
bin/Main.class
bin/NullLayoutManager$PointEx.class
bin/NullLayoutManager.class
image/dirback.jpg
image/first.jpg
image/gamestart.jpg
image/gback.jpg
image/gback2.jpg
image/help2.jpg
image/how.jpg
image/kiki.gif
image/left.jpg
image/right.jpg
image/sound.jpg
image/start.jpg
image/up.jpg
image/utilframe.jpg
image2/grape_juice(2).gif
image2/grape_juice.gif
image2/help2.jpg
image2/kimbab(2).gif
image2/kimbab.gif
image2/trikim(2).gif
image2/trikim.gif
image3/CHATTING.gif
image3/HELP.gif
image3/LOGIN.gif
image3/READY.gif
image3/ready2.gif
image3/REFRESH.gif
sound/기본음.wav
sound/똥.wav
sound/시작음1.wav
sound/시작음2.wav
sound/야!.wav
sound/야이!(끝).wav
sound/여자비명.WAV
src/ChatClient.java
src/ChatMessage.java
src/ChatServer.java
src/DirectionListener.java
src/Fruit.java
src/Gamepanel.java
src/InformPanel.java
src/Main.java
src/NullLayoutManager.java