/killsunfish

Java Swing을 이용한 개복치 죽이기 게임(Kill Sunfish)

Primary LanguageJava

개복치 키우기 게임



logo-image

JAVA Swing을 활용해 개복치 키우기 게임을 제작했습니다.




logo-image

개복치는 이럴 때 사망해요

  • 상한 먹이를 먹었을 때 → 잘못 먹어서 사망
  • 일정 시간 내에 기준치보다 많이 먹었을 때 → 과식해서 사망
  • 일정 시간 내에 기준치보다 적게 먹었을 때 → 아사로 사망
  • 사용자가 너무 많이 클릭했을 때 → 너무 만져서 사망
  • 바닷물 온도가 너무 차갑거나 뜨거울 때 → 온도 안 맞아서 사망
  • 랜덤 먹이에서 너무 맛있는 걸 먹었을 때 → 너무 맛있어서 사망
  • 미니게임에서 상어에게 물렸을 때 → 상어한테 물려서 사망



logo-image

사망 조건을 피해서 개복치의 몸무게를 늘려 보아요

  • 과연 엔딩 화면을 보실 수 있을까요 ??!?

기능 소개

초기 화면

image

로그인 화면

image

메인 화면

스크린샷 2024-04-17 오후 6 45 45

온도 안 맞아서 사망

  • 온도가 15도 미만, 25도 초과하면 사망

스크린샷 2024-04-17 오후 6 46 01

잘못 먹어서 사망

  • rottenFish 먹으면 사망
스크린샷 2024-04-17 오후 6 46 13

미니 게임 화면

스크린샷 2024-04-17 오후 6 52 18

미니 게임에서 사망

  • 상어에게 물리면 사망
스크린샷 2024-04-17 오후 6 47 09

많이 만져서 사망

  • 5초내에 7번 만지면 사망
스크린샷 2024-04-17 오후 6 46 31

폴더 구조

image

R&R

image

개선 사항

객체 간 다른 객체를 참조하는 경우가 발생해 결합도 증가

- 인터페이스의 추상화

하나의 클래스에 다양한 기능과 역할 존재

- 코드 분리 및 모듈화

클래스 내에서 FrontController를 직접 생성

- 이는 의존성을 강하게 만들고 유연성이 떨어지기 때문에 외부에서 필요한 의존성을 주입

예외 상황에 대한 처리가 불충분

- 예외 상황에 대한 적절한 핸들링을 추가하여 안정성 향상

시연 영상

https://drive.google.com/file/d/1MzIkvE2sPWZPZ_MsOgQgHoD2QcLiUFpj/view?usp=drive_link