public void SetMaxColRow(int _iC, int _iR) { if (m_iMaxCol == _iC && m_iMaxRow == _iR) { return; } m_iMaxCol = _iC; m_iMaxRow = _iR; TChip[,] chps = new TChip[_iC, _iR]; int iCol = Math.Min(_iC, m_tChips.GetLength(0)); int iRow = Math.Min(_iR, m_tChips.GetLength(1)); for (int r = 0; r < _iR; r++) { for (int c = 0; c < _iC; c++) { chps[c, r] = new TChip(); } } for (int r = 0; r < iRow; r++) { for (int c = 0; c < iCol; c++) { chps[c, r] = m_tChips[c, r]; } } m_tChips = chps; OnChange(); }
public void FlipXY() { TChip[,] chps = new TChip[m_iMaxCol, m_iMaxRow]; for (int i = 0; i < m_iMaxRow; i++) { for (int j = 0; j < m_iMaxCol; j++) { chps[j, i] = m_tChips[m_iMaxCol - 1 - j, m_iMaxRow - 1 - i]; } } Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length); OnChange(); }
public void TurnCw270() { TChip[,] chps = new TChip[m_iMaxCol, m_iMaxRow]; for (int i = 0; i < m_iMaxCol; i++) { for (int j = 0; j < m_iMaxRow; j++) { //r,c chps[j, i] = m_tChips[m_iMaxCol - 1 - i, j]; } } SetMaxColRow(m_iMaxCol, m_iMaxRow); Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length); OnChange(); }
public void SetMaxColRow(int _iC, int _iR) { if (m_iMaxCol == _iC && m_iMaxRow == _iR) { return; } m_iMaxCol = _iC; m_iMaxRow = _iR; TChip[,] chps = new TChip[_iC, _iR]; bool [,] mask = new bool [_iC, _iR]; bool [,] Work = new bool [_iC, _iR]; int iCol = Math.Min(_iC, m_tChips.GetLength(0)); int iRow = Math.Min(_iR, m_tChips.GetLength(1)); for (int r = 0; r < _iR; r++) { for (int c = 0; c < _iC; c++) { chps[c, r] = new TChip(); } } for (int r = 0; r < iRow; r++) { for (int c = 0; c < iCol; c++) { chps[c, r] = m_tChips [c, r]; mask[c, r] = m_bNotUse[c, r]; Work[c, r] = m_bWorkChip[c, r]; } } m_tChips = chps; m_bNotUse = mask; m_bWorkChip = Work; OnChange(); }
public void TurnCw90() //시계 방향. { //버퍼 생성. TChip[,] chps = new TChip[m_iMaxRow, m_iMaxCol]; //데이터 버퍼로 옮김. for (int i = 0; i < m_iMaxCol; i++) { for (int j = 0; j < m_iMaxRow; j++) { chps[j, i] = m_tChips[i, m_iMaxRow - 1 - j]; } } //맥스 세팅. SetMaxColRow(m_iMaxRow, m_iMaxCol); Array.Copy(chps, 0, m_tChips, 0, m_tChips.Length); OnChange(); }