Diskuze: Pascal generování náhodných čísel
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Repeat
Y = random(GetMaxY)
Y2 = random(GetMaxY)
Until y2 - y = r
Keď máš r a vygeneruješ Y tak už
Y2 môžeš dopočítať či?
Prijde mi, ze dotaz je malo srozumitelny. Co ti to dela, co ti to ma delat? Ja bych ctverec (odbelnik) generoval takto:
lmin = 10; (* delka strany min=10, max 50 *)
lmax = 50;
xmin = 0;
ymin = 0;
xmax = GetMaxX - lmax;
ymax = GetMaxY - lmax;
x1 = xmin + random(xmax);
x2 = x1 + lmin + random(lmax - lmin);
y1 = ymin + random(ymax);
y2 = y1 + lmin + random(lmax - lmin);
kresli_ctverec(x1, y1, x2, y2);
html:
<style>
.ctverec {border:1px solid #f00; position:absolute;}
.canvas {width:600px;height:400px;border:1px solid #f00;position:relative;}
</style>
<div id=canvas></div>
<script>
function random(n)
{
return Math.floor(Math.random()*n);
}
function kresli_ctverec(x1, y1, x2, y2)
{
var canvas, div;
canvas = document.getElementById('canvas');
div = document.createElement("div");
div.className = 'ctverec';
div.style.left = x1 + 'px';
div.style.top = y1 + 'px';
div.style.width = x2-x1 + 'px';
div.style.height = y2-y1 + 'px';
canvas.appendChild(div);
}
function generuj(GetMaxX, GetMaxY)
{
var i, lmin, lmax, xmin, ymin, xmax, ymax;
lmin = 10; /* delka strany min=10, max 50 */
lmax = 50;
xmin = 0;
ymin = 0;
xmax = GetMaxX - lmax;
ymax = GetMaxY - lmax;
for (i=0; i<15; i++)
{
x1 = xmin + random(xmax);
x2 = x1 + lmin + random(lmax - lmin);
y1 = ymin + random(ymax);
y2 = y1 + lmin + random(lmax - lmin);
kresli_ctverec(x1, y1, x2, y2);
}
}
generuj(600, 400);
</script>
http://jsfiddle.net/hxz7vmdf/
klikni si Run vlevo nahore.
Snažil jsem se vygenerovat náhodné čtverce na náhodných místech na
obrazovce, viz. obrázek, čehož jsem dosáhl tím jak jsem psal.. Hned po
ránu mě nenapadlo, že bych vlastně y2 mohlo dopočítat . Má blbost.
Děkuji Matúšovi i tobě
Zobrazeno 4 zpráv z 4.