bool canSpawn = true;

	if (canSpawn) {

		curBlockType = GetRandomBlock();
		curBlockRotation = 0;
		curBlock_startX = GetSpawnX(curBlockType);
		curBlock_startY = 0;

		PutBlock(curBlockType, curBlock_startX, curBlock_startY, curBlockRotation);

		canSpawn = false;
	}
bool canSpawn = true;
bool collisionFlag = false;
		// 경계검사를 한다.
		if (!CheckBoundary(nextY, nextX)) {
			moveFlag = false;
			collisionFlag = true;
			return;
		}
void ResetSpawnFlag() {
	static int spawnReadyTimer = 0;

	if (collisionFlag == true) {
		spawnReadyTimer++;
	}

	if (spawnReadyTimer >= 3) {
		spawnReadyTimer = 0;
		canSpawn = true;
		collisionFlag = false;
	}
}

성공적이다.