JDBC 연동 MVC패턴 미니 프로젝트

최고고·2022년 2월 16일
0
post-custom-banner

java언어 초보자들이 배운 내용을 토대로 약 3일의 시간 동안, 미니 프로젝트를 완수했다. 전 기수가 했던 미니 프로젝트 중에는 초성게임, 추리게임, 미니 축구게임? 등등 기발한 게임이 있었다. 아이디어 회의 후 미니를 진행할 큰 틀을 잡고, 각자 역할을 분담해 진행해 보기로 했다. 여러가지 아이디어 중에 우리는 단어맞추기게임을 만들기로 결정했다.

당연한 얘기지만 간단한 프로그래밍에도 결과물을 얻기 위해 같은 목표로 함께 해 나가는 팀원들과의 지속적인 소통과 노력이 굉장히 중요하다는 것을 깨달았다.

  • 계획 수립 및 프로그래밍 과정
  1. 사용자가 실행할 View인 Game이라는 메인 생성
    사용자가 회원가입하고 로그인을 마쳐야 게임이 실행되게 함 -> 가입정보는DB에 저장
  2. 데이터를 관리하는 Model인 DTO 객체 생성
    회원을 관리할 데이터, 음악경로
  3. controller인 DAO 객체 생성
    java와 DB를 연결하고 종료하는 getConn()과 close()이라는 메소드를 생성,
    ArrayList에 외부 음악 목록들을 추가했다.
    로그인 성공시 나타나는 카테고리의 번호를 매개변수로 받아,
    그 값을 컬럼인덱스로 치환, DB에 저장된 컬럼 데이터를 랜덤으로 추출한 다음 String 변수에 저장, split으로 한단어씩 나눠 배열에 저장하고 또 배열의 값을 섞어준다.
game 메소드를 만들고 switch문으로 1~5번까지 case값으로 사용자가 1~5중 입력하면 해당 컬럼 인덱스를 호출
String sql = "select 컬럼이름 from (select * from words order by DBMS_RANDOM.RANDOM) where rownum < 2 "; 한행만 나오게
String[] round = words.split(""); 내장함수를이용해 음절씩 쪼개 라운드 배열에 넣어준다

Collections.shuffle(Arrays.asList(round)); 배열값을 섞어줌
  1. DB에 저장할 회원정보 테이블, 단어저장 테이블, 순위 보기 뷰 3가지를 생성
  2. 디자인적인 요소는 아스키코드 생성기를 통해서 이미지를 아스키코드로 변환했고, 이를 또 메소드에 담아서 view에서 호출했다.
  3. SQL Developer에 팀원들 공유 계정 생성 -> url과 계정을 getConn에 입력
  4. 총합한 java파일을 exe 파일로 만들기!
  • 게임진행 방식
    WORDS 컬럼 데이터 랜덤으로 가져와 화면상 출력되고, 사용자는 위치가 섞인 단어를 보고 원래의 단어를 유추해 내야한다. 제한시간 5초

  • 아쉬웠던점
    스레드 활용에 문제가 있어서 전체 제한시간을 구현하는데 어려움을 겪었다. 좀 더 배워서 수정해 보고싶다.

post-custom-banner

0개의 댓글