#include#include //consol input ouput Hearder File #include using namespace std; int main() { srand((unsigned)time(0)); int iNumber[25] = {}; for (int i = 0;i < 24;++i) { iNumber[i] = i + 1; } iNumber[24] = INT_MAX; int iStarIndex = 24; int iTemp, idx1, idx2; for (int i = 0; i < 100;++i) { idx1 = rand() % 24; idx2 = rand() % 24; iTemp = iNumber[idx1]; iNumber[idx1] = iNumber[idx2]; iNumber[idx2] = iTemp; } // 5x5 출력 // i = 세로 j = 가로 while (true) { for (int i = 0;i < 5;++i) { for (int j = 0;j < 5;++j) { cout << iNumber[i * 5 + j] << "\t"; } cout << endl; } cout << "w 위 s: 아래 a :왼쪽 d : 오른쪽 q:종료"; //_getch 문자 1개를 입력받는 함수. char cInput = _getch(); if (cInput == 'q' || cInput == 'Q') break; switch (cInput) { case 'w': case 'W': if (iStarIndex > 4) { //별이 있는 위치에 바로 위에 있는 값을 넣어준다. iNumber[iStarIndex] = iNumber[iStarIndex - 5]; // 위의 위치에 별을 넣어주어서 2개의 값을 서로 교체한다. iNumber[iStarIndex - 5] = INT_MAX; //별이 한칸 위로 올라갔으므로 한칸 내려준다. iStarIndex -= 5; break; } case 's': case 'S': //가장 아랫줄이 아닌경우. if (iStarIndex < 20) { iNumber[iStarIndex] = iNumber[iStarIndex + 5]; iNumber[iStarIndex + 5] = INT_MAX; //별이 한칸 위로 올라갔으므로 한칸 내려준다. iStarIndex += 5; break; } case 'a': case 'A': if (iStarIndex % 5 != 0) { iNumber[iStarIndex] = iNumber[iStarIndex - 1]; iNumber[iStarIndex - 1] = INT_MAX; //별이 한칸 위로 올라갔으므로 한칸 내려준다. --iStarIndex; break; } case 'd': case 'D': if (iStarIndex % 5 != 4) { iNumber[iStarIndex] = iNumber[iStarIndex + 1]; iNumber[iStarIndex + 1] = INT_MAX; //별이 한칸 위로 올라갔으므로 한칸 내려준다. ++iStarIndex; break; } default: break; } } cout << "게임을 종료합니다...." << endl; return 0; }
Source 출처 : https://www.inflearn.com/course/c_game-making/
'Programming > C & C++' 카테고리의 다른 글
[C++] Bingo Game ver.3 ( AI Ver ) (0) | 2018.02.21 |
---|---|
[C++] Bingo Game ver.2 (0) | 2018.02.20 |
[C++] Bingo Game ver.1 (0) | 2018.02.20 |
[C++] BaseBall Game (0) | 2018.02.13 |
[C++] Lotto Game (0) | 2018.02.13 |