Skip to content

jhpark-coder/MineSweeper-Java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

지뢰찾기 게임 (MineSweeper)

자바 Swing으로 개발한 클래식 지뢰찾기 게임입니다.

🎮 주요 기능

  • 난이도 설정: 초급, 중급, 고급 난이도 선택 가능
  • 커스텀 게임: 사용자가 직접 보드 크기와 지뢰 개수 설정 가능
  • 게임 타이머: 게임 진행 시간 실시간 표시
  • 개인 기록 관리: 최고 기록 저장 및 관리
  • 랭킹 시스템: 난이도별 상위 10개 기록 보관
  • 현대적인 UI: FlatLaf 테마 적용으로 깔끔한 인터페이스

🛠️ 기술 스택

  • 언어: Java
  • GUI 프레임워크: Swing
  • UI 테마: FlatLaf
  • 빌드 도구: Gradle

📋 시스템 요구사항

  • Java 8 이상
  • Gradle (빌드 시)

🚀 실행 방법

Gradle을 이용한 실행

# 프로젝트 빌드
./gradlew build

# 프로젝트 실행
./gradlew run

JAR 파일 생성 및 실행

# JAR 파일 생성
./gradlew jar

# JAR 파일 실행
java -jar build/libs/new_mineSweeper.jar

🎯 게임 방법

  1. 게임 시작: 난이도를 선택하고 새 게임을 시작합니다
  2. 좌클릭: 셀을 열기
  3. 우클릭: 깃발 표시/해제
  4. 숫자의 의미: 주변 8칸에 있는 지뢰의 개수
  5. 승리 조건: 모든 지뢰가 아닌 셀을 열면 승리
  6. 패배 조건: 지뢰를 클릭하면 게임 종료

📁 프로젝트 구조

new_mineSweeper/
├── src/
│   └── main/
│       ├── java/
│       │   ├── MineSweeperMain.java    # 메인 클래스
│       │   ├── GameManager.java         # 게임 관리
│       │   ├── Cell.java                # 셀 데이터 관리
│       │   ├── MineButton.java          # 지뢰 버튼 UI
│       │   ├── ButtonsPanel.java        # 게임 보드 패널
│       │   ├── InitSetPanel.java        # 초기 설정 패널
│       │   ├── StatusPanel.java         # 상태바 패널
│       │   ├── GameTimer.java           # 타이머 기능
│       │   ├── GameRecord.java          # 기록 데이터
│       │   ├── PersonalRecordIO.java    # 기록 저장/불러오기
│       │   ├── MyRanking.java           # 개인 랭킹 시스템
│       │   ├── WorldRanking.java        # 월드 랭킹 데이터
│       │   └── WorldRankingGUI.java     # 월드 랭킹 UI
│       └── resources/
│           ├── fonts/                   # 폰트 파일
│           └── images/                  # 이미지 리소스
├── rankings/                            # 랭킹 데이터 저장 폴더
├── build.gradle                         # Gradle 설정 파일
└── README.md                           # 프로젝트 설명서

🏆 난이도 설정

난이도 크기 지뢰 개수
초급 9×9 10
중급 16×16 40
고급 30×16 99
커스텀 사용자 설정 사용자 설정

📝 라이선스

이 프로젝트는 개인 학습 목적으로 제작되었습니다.

👨‍💻 개발자

🤝 기여하기

버그 리포트나 기능 제안은 이슈로 등록해주세요.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages