'Coding > Python 삽질기' 카테고리의 다른 글
[Python] 소인수 분해 (0) | 2020.07.10 |
---|---|
[Python] venv 사용 (0) | 2020.04.15 |
[ChoboTimer] 타이머 앱 만들기 (0) | 2020.02.29 |
[Python] 소인수 분해 (0) | 2020.07.10 |
---|---|
[Python] venv 사용 (0) | 2020.04.15 |
[ChoboTimer] 타이머 앱 만들기 (0) | 2020.02.29 |
// 만들기
python -m venv ./snake_game
// 실행
cd \snake_env\Scripts
activate.bat
// 종료하기
deactivate.bat
[ChoboTimer] Version 0.17 Release (0) | 2020.04.22 |
---|---|
[ChoboTimer] 타이머 앱 만들기 (0) | 2020.02.29 |
Minim / 간단한 메모관리 툴 (TK3) (0) | 2020.01.16 |
Android studio에 있는 유용한 기능을 공유해 봅니다.
1. Alt + 2 : Favorites 표시
자주 참고하는 파일들을 모아서 관리 할 수 있다
2. F11 : Bookmark
Shift + F11 : 모든 Bookmark 표시
[Sheet] 구글 스프레드 시트 단축키 (0) | 2021.10.16 |
---|---|
사무직을 위한 Git 활용 법 (0) | 2018.10.27 |
[GIT] 특정 폴더만 받아오기 (0) | 2017.07.22 |
몇 년 전에 만들었던, 마작 게임을 껍데기만 빼고 다 바꿔 보았다.
PlayStore: https://play.google.com/store/apps/details?id=com.chobocho.ColorMatch Source code: https://github.com/chobocho/ImageMatch |
1. 전체 패키지 구조는 아래와 같다
2. 이중 마작게임의 State diagram은 아래와 같이 구상 했다.
3. 그리고 아래와 같이 Class diagram 을 작성했다.
[Java] Solitaire 만들기 2 (자바 솔리테어 만들기) (0) | 2020.05.14 |
---|---|
[Java] Mahjong 만들기 (마작 만들기) (0) | 2020.04.05 |
[Android] Solitaire 만들기 (안드로이드 솔리테어 만들기) (0) | 2020.04.03 |
Android로 APK를 생성하면서 자동으로 파일 이름 생성 및 버전 명을 업데이트 하는 스크립트를 구성해 보았다
미래의 나를 위하여 기록을 남긴다
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
def versionPropsFile = file('versioninfo.properties')
def Properties versionInfo = new Properties()
if (versionPropsFile.canRead()) {
versionInfo.load(new FileInputStream(versionPropsFile))
} else {
versionInfo['VERSION_HEADER'] = "0.1105"
versionInfo['VERSION_NUMBER'] = 0
versionInfo['VERSION_COUNT'] = 0
versionInfo['BUILD_COUNT'] = 0
}
def versionHeader = versionInfo['VERSION_HEADER']
def versionNubmer = versionInfo['VERSION_NUMBER'].toInteger()
def versionCount = versionInfo['VERSION_COUNT'].toInteger()
def buildCount = versionInfo['BUILD_COUNT'].toInteger()
def taskName = gradle.startParameter.taskNames
def addVersion = 1
def isReleaseVersion = false
if (":app:bundleRelease" in taskName) {
println '---[bundleRelease]---'
versionNubmer += addVersion
versionCount += addVersion
isReleaseVersion = true
}
buildCount += addVersion
versionInfo['VERSION_HEADER'] = versionHeader.toString()
versionInfo['VERSION_NUMBER'] = versionNubmer.toString()
versionInfo['VERSION_COUNT'] = versionCount.toString()
versionInfo['BUILD_COUNT'] = isReleaseVersion ? "1" : buildCount.toString()
versionInfo.store(versionPropsFile.newWriter(), null)
def date = new Date();
def alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def thisYear = alphabet.charAt(date.getYear() + 1900 - 2001)
def thisMonth = alphabet.charAt(date.getMonth())
def monthVersion = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(versionCount)
println '-------------------'
println taskName
println "${versionHeader}.${thisYear}${thisMonth}${monthVersion}.${buildCount}"
println '-------------------'
defaultConfig {
applicationId "com.chobocho.ColorMatch"
minSdkVersion 23
targetSdkVersion 28
versionCode versionNubmer
versionName "${versionHeader}.${thisYear}${thisMonth}${monthVersion}.${buildCount}"
setProperty("archivesBaseName", "imagematch_$versionName")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
미래의 우둔한 나를 위하여, 주석을 남긴다.
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
// 프로퍼티 파일 이름
def versionPropsFile = file('versioninfo.properties')
def Properties versionInfo = new Properties()
if (versionPropsFile.canRead()) {
versionInfo.load(new FileInputStream(versionPropsFile))
} else {
// 프로퍼티 파일이 없으면 생성을 하기위해 기본 값을 설정한다
versionInfo['VERSION_HEADER'] = "0.1105"
versionInfo['VERSION_NUMBER'] = 0
versionInfo['VERSION_COUNT'] = 0
versionInfo['BUILD_COUNT'] = 0
}
def versionHeader = versionInfo['VERSION_HEADER']
def versionNubmer = versionInfo['VERSION_NUMBER'].toInteger()
def versionCount = versionInfo['VERSION_COUNT'].toInteger()
def buildCount = versionInfo['BUILD_COUNT'].toInteger()
def taskName = gradle.startParameter.taskNames
def addVersion = 1
def isReleaseVersion = false
// Signed APK 빌드인 경우만 versionCount를 증가 시킨다
if (":app:bundleRelease" in taskName) {
println '---[bundleRelease]---'
versionNubmer += addVersion
versionCount += addVersion
isReleaseVersion = true
}
buildCount += addVersion
// 수정된 값을 프로퍼티에 업데이트 한다
versionInfo['VERSION_HEADER'] = versionHeader.toString()
versionInfo['VERSION_NUMBER'] = versionNubmer.toString()
versionInfo['VERSION_COUNT'] = versionCount.toString()
versionInfo['BUILD_COUNT'] = isReleaseVersion ? "1" : buildCount.toString()
versionInfo.store(versionPropsFile.newWriter(), null)
// 빌드한 연도와 월을 남기기 위한 부분
// 2001년 1월 > AA
// 2020년 3월 > TC
def date = new Date();
def alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def thisYear = alphabet.charAt(date.getYear() + 1900 - 2001)
def thisMonth = alphabet.charAt(date.getMonth())
def monthVersion = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".charAt(versionCount)
println '-------------------'
println taskName
println "${versionHeader}.${thisYear}${thisMonth}${monthVersion}.${buildCount}"
println '-------------------'
defaultConfig {
applicationId "com.chobocho.ColorMatch"
minSdkVersion 23
targetSdkVersion 28
versionCode versionNubmer
// 버전명 정보 -> 0.1105.TD1.2
versionName "${versionHeader}.${thisYear}${thisMonth}${monthVersion}.${buildCount}"
// 생성 되는 파일이름을 설정한다
setProperty("archivesBaseName", "imagematch_$versionName")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
[Termux] Web server 돌리기 (0) | 2020.10.27 |
---|---|
[Termux] ssh 사용하기 (0) | 2020.10.26 |
[ChooseOne] 안드로이드 제비뽑기 앱 만들기 (I) (0) | 2019.09.02 |
이번 주말도 방콕을 하면서, 10년전에 만들었던 게임을 Java와 Android 버전으로 개선해 보았다.
10년전 코드를 보면서 참 부끄러웠고, 지금도 별반 차이게 없는게 안타까웠다. ㅠㅜ
Android Mahjong 버전 (안드로이드 마작) PlayStore: https://play.google.com/store/apps/details?id=com.chobocho.ColorMatch Source code: https://github.com/chobocho/ImageMatch |
[Android] Mahjong 만들기 (안드로이드 마작 만들기) (0) | 2020.04.12 |
---|---|
[Android] Solitaire 만들기 (안드로이드 솔리테어 만들기) (0) | 2020.04.03 |
[Android] Freecell 만들기 (안드로이드 프리셀 만들기) (0) | 2020.04.01 |
지난주에 만들었던 솔리테어 게임을 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
[Java] Mahjong 만들기 (마작 만들기) (0) | 2020.04.05 |
---|---|
[Android] Freecell 만들기 (안드로이드 프리셀 만들기) (0) | 2020.04.01 |
[Java] Freecell 만들기 (자바 프리셀 만들기) (0) | 2020.03.28 |
주말에 만들었던 Freecell을 안드로이드 용으로 포팅을 해보았다.
Download : https://play.google.com/store/apps/details?id=com.chobocho.cardgame
https://chobocho.tistory.com/2461436
UI 해상도만 손봐주면 되어서 2시간 정도면 될 줄 알았는데... 삽질을 하다보니 4시간이나 걸렸다. ㅠㅜ
Source : https://github.com/chobocho/freecell/tree/master/src/cardgame
[Android] Solitaire 만들기 (안드로이드 솔리테어 만들기) (0) | 2020.04.03 |
---|---|
[Java] Freecell 만들기 (자바 프리셀 만들기) (0) | 2020.03.28 |
[IntelliJ] OpenJDK 위치 (0) | 2020.03.24 |