#include<iostream>
#include<time.h>
using namespace std;
int main()
{
srand(time(NULL));
int puzzle[25];
int dest, sour, temp;
for (int i = 0; i < 25; i++)
{
puzzle[i] = i;
}
for (int i = 0; i < 1000; i++)
{
dest = rand() % 25;
sour = rand() % 25;
temp = puzzle[dest];
puzzle[dest] = puzzle[sour];
puzzle[sour] = temp;
}
int move = 0;
while (true)
{
for (int i = 0; i < 25; i++)
{
if (puzzle[i] == 0)
{
puzzle[i] = 35;
}
if (puzzle[i] == 35)
{
cout << "\t" << (char)puzzle[i];
}
if (puzzle[i] == 35)
{
if (move == 4)
{
puzzle[i] = puzzle[i - 1];
puzzle[i - 1] = 35;
}
else if (move == 5)
{
puzzle[i] = puzzle[i + 5];
puzzle[i + 5] = 35;
}
else if (move == 6)
{
puzzle[i] = puzzle[i + 1];
puzzle[i + 1] = 35;
}
else if (move == 8)
{
puzzle[i] = puzzle[i - 5];
puzzle[i - 5] = 35;
}
}
else
{
cout << "\t" << puzzle[i];
}
if (i % 5 == 4)
{
cout << endl << endl;
}
}
cout << " 왼쪽이동:4 아래이동:5 오른쪽이동:6 위로이동:8" << endl;
cin >> move;
system("cls");
}
return 0;
}
라고 코드를 짰는데. 입력한값은 먹혀서 한차례씩 늦게나오고
왼쪽,위쪽 이동은 문제없이 작동하나 아래,오른쪽 이동시 세로,가로 전부다 #으로 변합니다.
왜그런지 도저히 찾아봐도 잘 모르겠어서 질문드립니다.
입력버퍼 비우는거는 찾아봤는데도 이해가 잘 가지않네요.. 설명 부탁드려요