학습/프로젝트

[JAVA] 테트리스 SWING - 멀티스레드서버 (구현완료)

장동규 2017. 7. 25. 14:41

[개발환경]

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 기능 추가

Tetris.7z



** 프로젝트 구성 **


[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 

 소켓 프로그래밍