<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: приоритет вывода значений из массива]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11372</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11372&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: приоритет вывода значений из массива».]]></description>
		<lastBuildDate>Wed, 02 Mar 2016 20:50:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101599#p101599</link>
			<description><![CDATA[<p>Благодарю за помощь! Сам бы не догадался ( или догадался, но очень не скоро)!</p>]]></description>
			<author><![CDATA[null@example.com (Veranda)]]></author>
			<pubDate>Wed, 02 Mar 2016 20:50:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101599#p101599</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101598#p101598</link>
			<description><![CDATA[<p>Так гарантированно из сотни выпадут все варианты в случайном порядке, но в указанном количестве:<br /></p><div class="codebox"><pre><code>
oCoord := [{x:100,y:100,v:30},{x:300,y:500,v:10},{x:500,y:300,v:20},{x:500,y:500,v:5},{x:400,y:10,v:34},{x:50,y:600,v:1}]
  
For k, v in oCoord, oSum := []
    Loop % v.v
        oSum.Push(k)  

1::	
	If !tSum.MaxIndex() 
		tSum := oSum.Clone()  
	Random, iRand, 1, tSum.MaxIndex()   
	oPoint := oCoord[tSum.Remove(iRand)] 
	Random,RX,0,50
	Random,RY,0,60
	MouseMove, % oPoint.x + RX, % oPoint.y + RY , 0
	ToolTip % &quot;X:&quot; oPoint.x + RX &quot;`nY:&quot; oPoint.y + RY
	Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 02 Mar 2016 20:06:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101598#p101598</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101595#p101595</link>
			<description><![CDATA[<p>Но вообще эти варианты относительны. Например то что должно выпасть 1 из 100, может выпасть один раз из тысячи, или 5 раз из ста. <br />Если из ста нужно точное совпадение &quot;разбросов&quot;, то нужно ещё и <a href="http://forum.script-coding.com/viewtopic.php?pid=79569#p79569">это прикрутить</a>.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 02 Mar 2016 19:40:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101595#p101595</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101594#p101594</link>
			<description><![CDATA[<p>Или так:<br /></p><div class="codebox"><pre><code>
oCoord := [{x:100,y:100,v:30},{x:300,y:500,v:10},{x:500,y:300,v:20},{x:500,y:500,v:5},{x:400,y:10,v:34},{x:50,y:600,v:1}]
For k, v In oCoord, _Sum := 0  
	_Sum += v.v 

1::
	Random, Peek, 1, _Sum
	For k, v In oCoord, Sum := 0
		Sum += v.v
	Until Sum &gt;= Peek &amp;&amp; (Rpos := k) 
	Random,RX,0,50
	Random,RY,0,60
	MouseMove, % oCoord[Rpos].x + RX, % oCoord[Rpos].y + RY , 0
	ToolTip % &quot;X:&quot; oCoord[Rpos].x + RX &quot;`nY:&quot; oCoord[Rpos].y + RY
	Return
</code></pre></div><p><a href="http://forum.script-coding.com/viewtopic.php?id=10668">Была тема.</a></p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Wed, 02 Mar 2016 19:25:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101594#p101594</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101577#p101577</link>
			<description><![CDATA[<div class="codebox"><pre><code>coord := [{x:100,y:100},{x:300,y:500},{x:500,y:300},{x:500,y:500},{x:400,y:10},{x:50,y:600}]

1::
	Rpos := StrSplit( WRandom(&quot;30,10,20,5,34,1&quot;,1) ,&quot;,&quot;).1 ; на 6 штук и у каждого свой шанс выпадения.
	Random,RX,0,50
	Random,RY,0,60
	MouseMove, % coord[Rpos].x + RX, % coord[Rpos].y + RY , 0
	ToolTip % &quot;X:&quot; coord[Rpos].x + RX &quot;`nY:&quot; coord[Rpos].y + RY
	Return
	
	
;http://www.autohotkey.com/community/viewtopic.php?f=2&amp;t=47586
WRandom(p_FieldString,p_Chance=false,p_P2D=false,p_D2P=false)
{
  Loop, Parse, p_FieldString, `,
    l_Tot += A_LoopField
  Random, l_Sum, 0, % l_Tot
  Loop, Parse, p_FieldString, `,
    If ( 0 &gt;= l_Sum -= A_LoopField )
      Return A_Index ( p_Chance ? &quot;,&quot; (100*A_LoopField)/l_Tot : &quot;&quot; ) ( p_P2D ? &quot;,&quot; l_Tot/100 : &quot;&quot; ) ( p_D2P ? &quot;,&quot; 100/l_Tot : &quot;&quot; )
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Wed, 02 Mar 2016 12:02:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101577#p101577</guid>
		</item>
		<item>
			<title><![CDATA[AHK: приоритет вывода значений из массива]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101576#p101576</link>
			<description><![CDATA[<p>Вопрос: как можно задать приоритет вывода для значений из массива? Чтобы какие-либо из значений внутри массива можно было выводить с большей частотой, чем остальные..:/ <br />Использую следующий код в работе:</p><div class="codebox"><pre><code>coord := [{x:100,y:100},{x:300,y:500},{x:500,y:300},{x:500,y:500},{x:400,y:10},{x:50,y:600}]

1::
	Random,Rpos,1,% coord.MaxIndex()
	Random,RX,0,50
	Random,RY,0,60
	MouseMove, % coord[Rpos].x + RX, % coord[Rpos].y + RY , 0
	ToolTip % &quot;X:&quot; coord[Rpos].x + RX &quot;`nY:&quot; coord[Rpos].y + RY
	Return</code></pre></div><br /><p>Пример: я запускаю данный код через цикл из 10 повторов. По окончании цикла - вывод значений из массива в процентом соотношении таким примерно должен получится:<br />{x:100,y:100} - 30%<br />{x:300,y:500}-10%<br />{x:500,y:300}-20%<br />{x:500,y:500}-5%<br />{x:400,y:10}-34%<br />{x:50,y:600}-1%</p><p>З.Ы код от многоуважаемого serzh82saratov</p>]]></description>
			<author><![CDATA[null@example.com (Veranda)]]></author>
			<pubDate>Wed, 02 Mar 2016 10:34:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101576#p101576</guid>
		</item>
	</channel>
</rss>
