[JAVA] 테트리스 SWING - 멀티스레드서버 (구현완료)
[개발환경]
Oracle 11g
Eclipse
JDK 8u131
[기능]
-T-Spin
-Hold
-NewGame
-Save Block
-Next Block
-Score
-Level 기능 ( 레벨마다 속도가 달라짐 )
-Spin & Back Spin
-Socket Connect
2017-07-26 : T-Spin 기능 추가
** 프로젝트 구성 **
[TetrisClient - Project]
package → CenterPanel
CenterPanel |
|
BackGroundPanel |
배경 이미지 넣는 패널 |
CenterPanel |
실제 게임을 구현하는 패널 |
package → img
img |
|
bgimg.img |
배경화면 ( 출처 : 저작권없는 이미지 ) |
package → Menu
Menu |
|
Item1 |
NewGame - ( 게임 새로시작 ) |
Item2 |
Save - ( 내 Max점수 서버에 등록 ) |
Item3 |
Rank - ( 서버에 저장된 Top10 랭킹보기 ) |
Item4 |
exit - ( 게임 종료 ) |
RankkingFrame |
랭킹을 가져올떄 사용하는 프레임 |
TetrisMenuBar |
메뉴바 |
package → NextPanel
NextPanel |
|
NextPanel |
프레임 기준(East)에 다음 블록 |
package → SavePanel
SavePanel |
|
SavePanel |
프레임 기준(West)에 저장된 블록 |
package → Socket
Socket |
|
RankSerialize |
직렬화 데이터 |
SocketConnect |
클라이언트 소켓 (서버로 연결) |
package → tetris
tetris |
|
Block |
블록 & 게임 메소드 |
Data |
게임에 필요한 데이터 |
DropBlock |
스레드 ( 일정시간동안 블록 내리기 ) |
GameFrame |
스레드 ( 키입력으로 블록 제어 ) |
package → default
default |
|
Main |
게임시작 |
MyFrame |
폰트 찾는 프레임 ( 게임 상관 X) |
test |
기본로직 테스트 ( 게임 상관 X ) |
[TetrisServer - Project]
package - [jar]
jar |
|
ojdbc6.jar |
Oracle 11g ( 오라클 버전에 따라사용 ) |
ojdbc14.jar | Oracle 10g ( " " ) |
sql.sql |
설정에 필요한 sql |
tetris.txt |
기본 설명서 |
package - [ Socket ] : 직렬화를 위한 패키지
Socket | |
RankSerialize |
직렬화 데이터 |
ServerThread |
서버 스레드 |
TetrisServer |
소켓 프로그래밍 |