Tip/Android2021. 1. 3. 15:53

2021년 새해 연휴기간 만들어 본 지뢰 찾기 입니다.

1. 안드로이드 지뢰 찾기 소스 코드

github.com/chobocho/minesweeper

 

chobocho/minesweeper

Android Minesweeper Game. Contribute to chobocho/minesweeper development by creating an account on GitHub.

github.com

 

2. 동작화면

2.1 플레이 스토어 다운로드 링크

play.google.com/store/apps/details?id=com.chobocho.minesweeper

 

클래식 지뢰찾기 For Android - Google Play 앱

클래식 지뢰찾기 For Android 클래식 지뢰 찾기 게임 입니다. 지뢰찾기 게임에 대한 추억이 있다면, 이 게임과 함께 추억을 떠올리시기 바랍니다. 이 게임은 광고가 없습니다. 이 게임은 오프라인에

play.google.com

지뢰찾기 게임 실행 화면

 

3. UML

UML

 

4. 어떻게 만들었나

4.1 게임 요구 사항 정리하기

대부분 한번은 해보았을 지뢰찾기 규칙은 대부분 알기에 아래와 간단히 개발 바운더리를 정하였습니다.

1. 구현목표
* 윈도우 지뢰찾기 게임의 클론

2. 요구사항

2.1 운영체제
* Android에서 동작 한다

2.2 게임의 구성
* 화면의 타일의 크기는 10x10 이다
* 지뢰의 개수는 12개 이다
* 지뢰의 위치는 매번 랜덤하게 정해 진다

2.3 게임의 동작
* 지뢰가 없는 빈 칸을 클릭시, 해당 칸을 중심으로 8칸 안에 있는 지뢰의 개수가 표시 된다.
* 1초 마다 시간이 업데이트 된다
* 5999초가 넘어가면 자동으로 게임 오버가 된다
* 깃발/지뢰 선택 버튼을 클릭시 깃발 -> 지뢰 순으로 표시 된다.
* 깃발을 표시 할 때 마다
, 표시 할 수 있는 남은 깃발의 개수가 업데이트 된다.
* Pause 상태로 돌입시, 현재의 게임 상태가 유지 되어야 한다.
* 게임 플레이 중 언제든지 Pause 상태로 변경 할 수 있어야 한다.
* Pause 상태에서는 이어하기와  새 게임 하기가 가능해야 한다.
* 깃발 선택 상태에서 타일을 클릭시 깃발이 사라지거나 표시된다.
* 지뢰 상태에서 버튼을 클릭시 타일이 열린다. 이때 지뢰가 있으면, 게임 오버가 된다.

 

5. 설계 하기

5.1 UML

지뢰찾기 기본 구조 (UI제외)

먼저 게임의 상태를 IDLE / PLAY / PAUSE / WIN / GAMEOVER 로 정의 하고,

이를 반영하여 UML를 그리면 위와 같습니다.

 

Play상태에서 지뢰를 모두 찾거나, 혹은 지뢰를 누른 경우,

Game State를 Win State 또는 Game over state 상태로 변경하기 위하여,

위와 같이 NotifyCallBack interface를 PLAY state가 가지도록 합니다.

 

package com.chobocho.minesweeper;

public interface MineSweeperNotifyCallback {
    public void setWinState();
    public void setGameOverState();
}

 

6. 구현 하기

6.1 Tile 클래스 구현

6.1.1 Tile 클래스

6.1.2 Test code 만들기

6.2 Board 클래스 수현

6.2.1 Board 클래스

6.2.2 Test code 만들기

Posted by chobocho

댓글을 달아 주세요

My Life/Mobile2020. 10. 13. 09:35

안드로이드 앱에서, 인터넷 링크를 클릭해도 해당 링크가 안열릴 경우 아래와 같이 하면 됩니다.

Posted by chobocho

댓글을 달아 주세요

Coding/Java 삽질기2020. 4. 3. 00:43

지난주에 만들었던 솔리테어 게임을 Android로 포팅해 보았다.

Download:  https://play.google.com/store/apps/details?id=com.chobocho.solitaire

Java 솔리티어 게임 만들기 : https://chobocho.tistory.com/2461434?category=9608

Source code : https://github.com/chobocho/solitaire2

 

chobocho/solitaire2

Android solitaire. Contribute to chobocho/solitaire2 development by creating an account on GitHub.

github.com

Posted by chobocho

댓글을 달아 주세요

Coding/Java 삽질기2018. 6. 27. 02:47

안드로이드 헥사 만들기 ( Android Hexa 만들기 )


목표 : 아래와 같은 이미지의 헥사 게임을 만들어 봅시다


https://play.google.com/store/apps/details?id=com.chobocho.chobohexa

Source : https://github.com/chobocho/ChoboHexa


1. 게임 규칙

떨어지는 블럭을 잘 조절 하여, 가로, 세로, 대각선으로 같은 이미지가 3개 이상 연결 되도록 한다


2. UML 그리기


3. 동작 설명

3.1 3개이상 같은 이미지로 연결된 블럭 지우기

1) 블럭이 바닦에 닿으면, 제일 위에 블럭부터, 가로 세로 대각선으로 3개로 연속 되는 블럭이 있는지 조사합니다.


2) 떨어진 블럭을 하나이상 포함하여 3개로 연결된 블럭은 지워야할 블럭리스트에 포함을 시킵니다

3) 지워야 할 블럭 리스트에 있는 블럭을 삭제 합니다.

4) 모든 블럭에 대해서 가로, 세로, 대각선으로 3개로 연속되는 블럭이 있는지 조사하여 지워야할 블럭 리스트에 포함 시킵니다.


5) 지워야 할 블럭 리스트에 있는 블럭을 삭제 합니다.

6) 4-5의 과정을 지워야 할 블럭 리스트가 0이 될 때 까지 반복 합니다.



Posted by chobocho

댓글을 달아 주세요

My Life/version 20142014. 5. 23. 02:04

요즘 즐겨하는 프룻젤리

59만점 돌파 인증샷~




https://play.google.com/store/apps/details?id=com.devcrews.fruit_jelly_kakao&hl=ko


'My Life > version 2014' 카테고리의 다른 글

선물  (0) 2014.06.02
프룻 젤리(FruitJelly)  (0) 2014.05.23
집 앞에 핀 벚꽃  (0) 2014.04.06
2014년 4월 5일 홈페이지  (0) 2014.04.05
Posted by chobocho

댓글을 달아 주세요