로또내꺼라는 안드로이드용 앱을 개발하면서 작성한 소스코드입니다. 혹시 필요로 하신 분들이 있으시다면 조금이나마 도움이 되었으면 좋겠네요. 예를 들어서 프로그램상에서 로또 번호를 난수로 생성하고 나면 대충
12, 44, 2, 35 ,33, 40
이런식으로 나온다고 가정했을때 이걸 그냥 사용하기에는 보기에 좋지 않으니 실제 로또처럼 보기 쉽게 올림차순 정렬해주는 코드입니다.^^
2, 12, 33, 35, 40, 44 이런식으로 말이죠 ㅎㅎ
소스코드는 간단해요^^
std::vector<int> _LottoNumber;
간단히 설명 드리자면 getLottoNumber()라는 함수를 실행하면 로또숫자가 생성되고 올림차순 정렬될꺼랍니다. (정렬방식은 재귀함수를 이용한 quick sort를 사용하였어요)
//-----------------------------------------------------------------------------
// getLottoNumber
//-----------------------------------------------------------------------------
void LottoPaperLayer::getLottoNumber()
{
std::vector<int> LottoPool;
for(int Number = 1; Number < 46; Number ++)
LottoPool.pushback(Number );
for (int i = 0; i < 6; i++)
{
int idx= rand() % LottoPool.size();
int number = LottoPool.at(idx);
LottoPool.erase(LottoPool.begin() + idx);
_LottoNumber.push_back(number);
}
if (_LottoNumber.size() > 1)
{
int end = (int)_LottoNumber.size() - 1;
quicksort_recursive(_LottoNumber, 0, end);
}
}
//-----------------------------------------------------------------------------
// quicksort_recursive
//-----------------------------------------------------------------------------
void LottoPaperLayer::quicksort_recursive(std::vector<int>& v, int left, int right)
{
if (right == left) return;
int i = left, j = right;
int pivot = v[(left + right) / 2];
while (i < j) {
while ((v[i] < pivot) && (i < j))
i++;
while ((v[j] > pivot) && (i < j))
j--;
if (i <= j)
std::swap(v[i++], v[j--]);
}
// recursive call
if (left < j)
quicksort_recursive(v, left, j);
if (i < right)
quicksort_recursive(v, i, right);
}
아래는 실제 앱에서 나오는 결과입니다.
그럼 즐거운 개발되세용^^
아래는 제가 직접 개발해본 로또내꺼 앱 이랍니다. 그냥 심심풀이로 즐길 수 있게 만들어봤어요
로또내꺼 앱 보러가기 (google play store)
(이 포스팅은 제휴마케팅이 포함된 광고로 일정커피션을 지급받을 수 있습니다)
'개발 > 앱' 카테고리의 다른 글
오~ 나이스 포켓몬고 꼬부기 잡다 (포켓몬고 사냥 후기) (0) | 2017.01.25 |
---|---|
클래쉬 오브 클랜 (무과금 플레이 결정판) (0) | 2017.01.25 |
한국상륙 포켓몬고 리얼 설치 후기 (호기심에 설치해봤어요) (0) | 2017.01.25 |
무설치 인터넷게임 Treasure Truck (골드 마이너를 기억하세요?) (0) | 2017.01.25 |
Cocos2dx 와 Unity 어떤걸 선택해야 할까? (0) | 2017.01.23 |
미로찾기게임 '꼬꼬닭3D' 유니티로 개발했어요 (정유년 기념게임) (2) | 2017.01.16 |
마법의 영어단어 외우기 - 단어를 몰라 앱 개발 (0) | 2016.12.27 |
안드로이드 SQLite 데이터 베이스 기본 사용 방법(Android SQLite CREATE INSERT UPDATE REMOVE) (0) | 2016.12.01 |
최근댓글