示例#1
0
void Substrate::makeCrack() 
{
	if (m_cracks.size() < m_maxCracks) 
	{
		Colour colour = m_palette[randInt(0, m_palette.size())];
		m_cracks.push_back(Crack(m_image, *this, colour));
	}
}
示例#2
0
byte CRCrack3::Optimize(byte byWinBitmap, byte byChair1, byte byType, byte byRspType, byte byGrade, byte byCount, byte byScore)
{
	TCrackResult tTmpResult;
	while (true)
	{
		byte byResult = Crack(byWinBitmap, byChair1, byType, byRspType, byGrade, byCount, byScore);
		if (byResult == CONTRACT_YES)
		{
			GetResult(&tTmpResult);
			if (IsStupidPut(tTmpResult.byRspType, tTmpResult.byGrade, tTmpResult.byCount))
			{
				byRspType = tTmpResult.byRspType;
				byGrade = tTmpResult.byGrade;
				byCount = tTmpResult.byCount;
				continue;
			}
		}
		return byResult;
	}
}
示例#3
0
byte CRCrack3::CrackSche()
{
	//破解深度
	g_dwCrackDepth = m_tCrackParam.dwCrackDepth;

	byte byWinBitmap = m_tCrackParam.byWinBitmap;
	byte byChair1 = m_tCrackParam.byChair1;
	byte byType = m_tCrackParam.byType;
	byte byRspType = m_tCrackParam.byRspType;
	byte byGrade = m_tCrackParam.byGrade;
	byte byCount = m_tCrackParam.byCount;

	byte byResult = Crack(byWinBitmap, byChair1, byType, byRspType, byGrade, byCount, SCORE_5);

	//暴力破解成功
	if (byResult == CONTRACT_YES)
	{
		GetResult(&m_tCrackResult);
		if (IsStupidPut(m_tCrackResult.byRspType, m_tCrackResult.byGrade, m_tCrackResult.byCount))
		{
			//寻找更优解
			byResult = Optimize(byWinBitmap, byChair1, byType, m_tCrackResult.byRspType, m_tCrackResult.byGrade, m_tCrackResult.byCount, SCORE_5);
			if (byResult != CONTRACT_YES)
			{
				//还原为第一个Stupid解
				SetResult(&m_tCrackResult);
			}
		}
		return SCORE_5;
	}

	//采用类人思考
	InitThkParam();
	Think(byChair1, byType, byRspType, byGrade, byCount);

	return byResult == INTERRUPT ? SCORE_UNK : SCORE_1;
}
示例#4
0
文件: url.cpp 项目: alfateam123/taiga
void Url::operator=(const std::wstring& url) {
  Crack(url);
}
示例#5
0
文件: url.cpp 项目: alfateam123/taiga
Url::Url(const std::wstring& url)
    : protocol(base::http::kHttp), port(0) {
  Crack(url);
}
void CCreateTPDownloadDlg::OnOk()
{
	if (IR_SUCCESS != Crack(m_strUrl))
		return WrongURL ();

	GetDlgItemText (IDC_SAVEAS, m_strFileName);

	int nDldType = m_wndDldType.GetCurSel ();

	if (nDldType == 1)	
	{
		char sz [MY_MAX_PATH];
		GetTempPath (sizeof (sz), sz);
		m_strOutFolder = sz;
	}
	else
	{
		if (FALSE == _CheckFolderName (this, IDC_OUTFOLDER))
			return;
		GetDlgItemText (IDC_OUTFOLDER, m_strOutFolder);
	
		if (IsDlgButtonChecked (IDC_FILEAUTO) == BST_UNCHECKED)
		{
			if (m_strFileName == "")
			{
				MessageBox (LS (L_EMPTY), LS (L_INPERR), MB_ICONEXCLAMATION);
				GetDlgItem (IDC_SAVEAS)->SetFocus ();
				return;
			}
			if (FALSE == _CheckFileName (this, IDC_SAVEAS))
				return;
			_App.NewDL_GenerateNameAutomatically (FALSE);
		}
		else
			_App.NewDL_GenerateNameAutomatically (TRUE);
	}

	fsPathToGoodPath ((LPSTR)(LPCSTR)m_strOutFolder);
	fsPathToGoodPath ((LPSTR)(LPCSTR)m_strFileName);

	if (m_strOutFolder.GetLength () == 0)
	{
		MessageBox (LS (L_ENTERFLRNAME), LS (L_INPERR), MB_ICONEXCLAMATION);
		GetDlgItem (IDC_OUTFOLDER)->SetFocus ();
		return;
	}

	if (nDldType != 1)
		_LastFolders.AddRecord (m_strOutFolder);
	_LastUrlFiles.AddRecord (m_strUrl);

	if (m_strOutFolder [m_strOutFolder.GetLength () - 1] != '\\' && 
		m_strOutFolder [m_strOutFolder.GetLength () - 1] != '/')
		m_strOutFolder += '\\';

	if (_App.NewGrp_SelectWay () == NGSW_USE_ALWAYS_SAME_GROUP_WITH_OUTFOLDER_AUTO_UPDATE)
	{
		vmsDownloadsGroupSmartPtr pGrp = _DldsGrps.FindGroup (_App.NewDL_GroupId ());
		if (pGrp != NULL) {
			pGrp->strOutFolder = m_strOutFolder;
			pGrp->setDirty();
		}
	}
	
	if (_App.CheckIfDownloadWithSameUrlExists ())
	{
		int ret = _CheckDownloadAlrExists (m_dld);
		if (ret)
		{
			if (ret == 1)
				EndDialog (ID_DLNOTADDED);
			return;
		}
	}

	m_dld->pGroup = m_wndGroups.GetSelectedGroup ();

	GetDlgItemText (IDC_COMMENT, m_dld->strComment);

	BOOL bUseZipPreview = _App.NewDL_UseZIPPreview ();
	_App.UseZipPreview (bUseZipPreview);

	if (nDldType == 1)
	{
		m_dld->dwFlags |= DLD_DELETEWHENDONE | DLD_DELETEFILEATRESTART;
	}
	else if (nDldType == 2)
		m_dld->dwFlags |= DPF_STARTWHENDONE;

	m_wndGroups.RememberSelectedGroup ();

	m_nStreamingSpeed = GetDlgItemInt (IDC_STRSPEED);

	if (m_bThread)
	{
		m_bNeedExit = TRUE;
		while (m_bThread);
	}

	_App.OnDlHasBeenCreatedByUser ();

	m_bPlaceAtTop = IsDlgButtonChecked (IDC_PLACEATTOP) == BST_CHECKED;

	CDialog::OnOK();
}
void CCreateTPDownloadDlg::UrlChanged()
{
	SetDlgItemText (IDC_QSIZE, LS (L_QUERYSIZE));
	if (m_bThread) m_bNeedExit = TRUE;
	if (IR_SUCCESS != Crack(m_strUrl))
	{
		GetDlgItem (IDC_QSIZE)->EnableWindow (FALSE);
		return;
	}

	CHAR szFile [10000];
	*szFile = 0;

	m_bUrlChanged = TRUE;

	if (m_dld->dwFlags & (DLD_MALICIOUS_NO | DLD_MALICIOUS_YES))
	{
		GetDlgItem (IDC_MALICIOUS)->EnableWindow (TRUE);
		m_dld->dwFlags &= ~ (DLD_MALICIOUS_NO | DLD_MALICIOUS_YES);
	}

	if (m_bGroupChanged == FALSE)
	{
		fsFileNameFromUrlPath (m_strUrl, FALSE, TRUE, szFile, sizeof (szFile));

		int len = strlen (szFile);
		vmsDownloadsGroupSmartPtr grp;

		if (len)
		{
			if (strchr(szFile, '.') == 0)
				strcat(szFile, ".asf");
			SetDlgItemText (IDC_SAVEAS, szFile);

			int i;
			for (i = len-1; i > 0; i--)
				if (szFile [i] == '.')	
					break;

			if (i && i < len-1)
			{
				i++;
				CHAR szExt [1000];
				strcpy (szExt, szFile + i);
				grp = _DldsGrps.FindGroupByExt (szExt);
			}
		}

		if (grp == NULL)
			grp = _DldsGrps.FindGroup (GRP_OTHER_ID);

		if (grp != NULL)
		{
			if (m_wndGroups.SelectGroup (grp))
				OnChangeGroups();
		}
	}
	bool bRtsp = (m_strUrl.Find("rtsp://") != -1);
	GetDlgItem (IDC_STRSPEED)->EnableWindow(bRtsp);
	GetDlgItem (IDC_STRSPEED_SPIN)->EnableWindow(bRtsp);
	GetDlgItem (IDC_QSIZE)->EnableWindow ();
}