⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testnview.cpp

📁 一个简单的N皇后可视化原代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	   pDC->Ellipse((a[i]-1)*wigth+80,(i-1)*length+80,a[i]*wigth+80,i*length+80);
	   outstr[3].Format("第%d个皇后坐标为 : (%d,%d)",i,i,a[i]);
	   pDC->TextOut(940,y_add,outstr[3]);
	   y_add += 30;

	}
	//CString outstr[3];
	outstr[1].Format("皇后数目为%d ,放置方法总共有%d种",Queennum,m_totalnum);
	outstr[2].Format("当前为第%d种放置方法",m_clicknum+1);	
	pDC->TextOut(300,20,outstr[1]);
	pDC->TextOut(340,40,outstr[2]);

}
void CTestnView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if( button == true )
	{
	  m_clicknum ++;
	  if( m_clicknum >= m_totalnum  )
		OnShowEnd();
	 //CTestnView::Onclear();
	  else
	  {
		CTestnView::OnchangeNum();
	    CTestnView::OnBegin();
	  }
	}
	 CView::OnLButtonDown(nFlags, point);
}
void CTestnView::OnTest()
{
	// TODO: Add your command handler code here	
	Onclear();
	int k;
    int n = Queennum;

	CDC*pDC = GetWindowDC();
	CTestnDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	pDC->TextOut(420,100,"请稍等,程序分析中...");

	m_totalnum = 0 ;
    x[1] = 0;
    k = 1;
    while (k>0)
    {
        x[k] = x[k] + 1;
        while (x[k] <= n && place(k) == false)
            x[k] = x[k] + 1;

        if (x[k] <= n)
            if (k == n)
            {               
				m_totalnum ++;					   
            }
            else
            {
                k = k + 1;
                x[k] = 0;
            }
        else
            k = k - 1;
    }
}
void CTestnView::OnShowEnd()
{
	CDC*pDC =GetWindowDC();
	CTestnDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	CString outstr[3];
	outstr[1].Format("%d皇后的所有方法已经全部显示完毕!",Queennum);
	outstr[2].Format("谢谢观赏!");
	pDC->TextOut(300,300,outstr[1]);
	pDC->TextOut(400,320,outstr[2]);
}

void CTestnView::OnColorBlue() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 0;
    m_g = 0;
    m_b = 255;
	UpdateData(false) ;
}

void CTestnView::OnColorCroci() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 255;
    m_g = 102;
    m_b = 0 ;
	UpdateData(false) ;
	
}

void CTestnView::OnColorCyan() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 0;
    m_g = 128;
    m_b = 128;
	UpdateData(false) ;	
}

void CTestnView::OnColorDarkblue() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 0;
    m_g = 0 ;
    m_b =128;
	UpdateData(false) ;
}

void CTestnView::OnColorDarkgreen() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 0 ;
    m_g = 128;
    m_b = 0 ;
	UpdateData(false) ;	
}

void CTestnView::OnColorDarkred() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 128 ;
    m_g =  0 ;
    m_b = 0 ;
	UpdateData(false) ;
}

void CTestnView::OnColorGray() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 192 ;
    m_g = 192 ;
    m_b = 192 ;
	UpdateData(false) ;	
}

void CTestnView::OnColorGreen() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 0 ;
    m_g = 255;
    m_b = 0 ;
	UpdateData(false) ;	
}

void CTestnView::OnColorLightblue() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 0;
    m_g =255; 
    m_b =255;
	UpdateData(false) ;
}

void CTestnView::OnColorLightgreen() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 0;
    m_g = 192;
    m_b = 0;
	UpdateData(false) ;
}

void CTestnView::OnColorPink() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 255 ;
    m_g = 0;
    m_b =  255;
	UpdateData(false) ;
	
}

void CTestnView::OnColorPurple() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 128;
    m_g = 0;
    m_b =128;
	UpdateData(false) ;
}

void CTestnView::OnColorRed() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
		m_colorflag = true ;
	m_r = 255;
    m_g = 0;
    m_b =0;
	UpdateData(false) ;
}

void CTestnView::OnColorYellow() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_colorflag = true ;
	m_r = 255;
    m_g = 255;
    m_b =0;
	UpdateData(false) ;
}

void CTestnView::OnRandcolor() 
{
	// TODO: Add your command handler code here
	m_colorflag = false ;
}


void CTestnView::ColorBlue() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_r = 0;
    m_g = 0;
    m_b = 255;
	UpdateData(false) ;
	
}

void CTestnView::ColorCroci() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_r = 255;
    m_g = 102;
    m_b = 0 ;
	UpdateData(false) ;
	
}

void CTestnView::ColorCyan() 
{
	// TODO: Add your command handler code here
	UpdateData(true);
	m_r = 0;
    m_g = 128;
    m_b = 128;
	UpdateData(false) ;
	
}

void CTestnView::ColorDarkblue() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 0;
    m_g = 0 ;
    m_b =128;
	UpdateData(false) ;
	
}

void CTestnView::ColorDarkgreen() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 0 ;
    m_g = 128;
    m_b = 0 ;
	UpdateData(false) ;
	
}

void CTestnView::ColorDarkred() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 128 ;
    m_g =  0 ;
    m_b = 0 ;
	UpdateData(false) ;
	
}

void CTestnView::ColorGray() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 192 ;
    m_g = 192 ;
    m_b = 192 ;
	UpdateData(false) ;
	
}

void CTestnView::ColorGreen() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 0 ;
    m_g = 255;
    m_b = 0 ;
	UpdateData(false) ;
	
}

void CTestnView::ColorLightblue() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 0;
    m_g =255; 
    m_b =255;
	UpdateData(false) ;
	
}

void CTestnView::ColorLightgreen() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 0;
    m_g = 192;
    m_b = 0;
	UpdateData(false) ;
}

void CTestnView::ColorPink() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 255 ;
    m_g = 0;
    m_b =  255;
	UpdateData(false) ;
	
}

void CTestnView::ColorPurple() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 128;
    m_g = 0;
    m_b =128;
	UpdateData(false) ;
}

void CTestnView::ColorRed() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 255;
    m_g = 0;
    m_b =0;
	UpdateData(false) ;
}

void CTestnView::ColorYellow() 
{
	// TODO: Add your command handler code here
		UpdateData(true);
	m_r = 255;
    m_g = 255;
    m_b =0;
	UpdateData(false) ;
}

void CTestnView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	// TODO: Add your message handler code here and/or call default
	if( button == true )
	{
	  m_clicknum ++;
	  if( m_clicknum >= m_totalnum  )
		OnShowEnd();
	 //CTestnView::Onclear();
	  else
	  {
		CTestnView::OnchangeNum();
	    CTestnView::OnBegin();
	  }
	}
	CView::OnKeyDown(nChar, nRepCnt, nFlags);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -