Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Je tento Random generator number od AI ok?

Ahoj, kouknul by mi někdo pls na tento "program" jestli ten RNG funguje tak aby to bylo co nejvic nahodny a nedelalo to nejake kraviny, je to od AI. Díky moc

<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Random 1–100 (auto + klik)</title>
<style>
:root {
--bg: #0f172a;
--card: #111827;
--text: #e5e7eb;
--accent: #60a5fa;
}
html, body {
height: 100%;
margin: 0;
background: #0f172a;
color: var(--text);
font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
.wrap {
min-height: 100%;
display: grid;
place-items: center;
user-select: none;
cursor: pointer;
}
.card {
width: min(500px, 92vw);
background: var(--card);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 12px;
padding: 24px;
box-shadow: 0 4px 20px rgba(0,0,0,0.2);
text-align: center;
}
h1 {
margin: 0 0 8px;
font-weight: 700;
font-size: 20px;
color: #cbd5e1;
}
.number {
font-weight: 800;
font-size: clamp(60px, 12vw, 140px);
line-height: 1;
margin: 10px 0;
color: #ffffff;
transition: transform 150ms ease;
}
.hint {
opacity: .7;
font-size: 14px;
color: #9ca3af;
margin-bottom: 8px;
}
.pulse {
transform: scale(1.05);
}
.badge {
display: inline-block;
margin-left: 6px;
padding: 2px 8px;
border-radius: 999px;
font-size: 12px;
color: #0b1220;
background: var(--accent);
}
.controls {
margin-top: 10px;
display: flex;
gap: 8px;
justify-content: center;
flex-wrap: wrap;
}
button {
background: transparent;
border: 1px solid rgba(255,255,255,0.14);
color: var(--text);
padding: 8px 12px;
border-radius: 8px;
font-weight: 600;
letter-spacing: .2px;
cursor: pointer;
}
button:hover { border-color: rgba(255,255,255,0.28); }
</style>
</head>
<body>
<div class="wrap" id="app" title="Kliknutím vygenerujete nové číslo (1–100)">
<div class="card">
<h1>Generátor <span class="badge">1–100</span></h1>
<div id="number" class="number">–</div>
<div class="hint">Mění se každé <strong>3&nbsp;sekundy</strong> nebo kliknutím kamkoli.</div>
<div class="controls">
<button id="reroll">Změnit teď</button>
<button id="toggle">⏸︎ Pozastavit auto</button>
</div>
</div>
</div>

<script>
function randomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
if (window.crypto && window.crypto.getRandomValues) {
const range = max - min + 1;
const maxUint = 0xFFFFFFFF;
const bucketSize = Math.floor((maxUint + 1) / range) * range;
let r;
do {
const buf = new Uint32Array(1);
window.crypto.getRandomValues(buf);
r = buf[0];
} while (r >= bucketSize);
return min + (r % range);
}
return Math.floor(Math.random() * (max - min + 1)) + min;
}

const MIN = 1;
const MAX = 100;
const numberEl = document.getElementById('number');
const rerollBtn = document.getElementById('reroll');
const toggleBtn = document.getElementById('toggle');

let intervalMs = 3000;
let timerId = null;
let autoRunning = true;

function animateOnce(el) {
el.classList.add('pulse');
setTimeout(() => el.classList.remove('pulse'), 150);
}

function updateNumber() {
const n = randomIntInclusive(MIN, MAX);
numberEl.textContent = n;
animateOnce(numberEl);
}

function startAuto() {
if (timerId !== null) return;
timerId = setInterval(updateNumber, intervalMs);
autoRunning = true;
toggleBtn.textContent = '⏸︎ Pozastavit auto';
}

function stopAuto() {
if (timerId === null) return;
clearInterval(timerId);
timerId = null;
autoRunning = false;
toggleBtn.textContent = '▶ Spustit auto';
}

updateNumber();
startAuto();

window.addEventListener('click', () => {
updateNumber();
});

window.addEventListener('keydown', (e) => {
if (e.code === 'Space') {
e.preventDefault();
updateNumber();
}
});

rerollBtn.addEventListener('click', (e) => {
e.stopPropagation();
updateNumber();
});

toggleBtn.addEventListener('click', (e) => {
e.stopPropagation();
if (autoRunning) stopAuto(); else startAuto();
});
</script>
</body>
</html>

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
To NENÍ gen. náhod. čísel ... to je webová stránka, která volá jakousi funkci pro ta čísla. Takže ta…
dsa 23.10.2025 16:07
dsa
no me zajima ten algoritmus jestli se tomu dá věřit
Dejv3 23.10.2025 16:07
Dejv3
No to se musíš ptát autora té funkce ... nikdo do ní nevidí. Nebo si k ní najít nějaký popis.
dsa 23.10.2025 16:10
dsa
Nehledej v tom vědu. ;-) Jsou to standardní funkce (příkazy) v javascriptu, existuje k nim dokumenta…
host 23.10.2025 16:27
host
Nene, tak zas jednoduché to není ... algoritmicky v zásadě nelze generovat skutečně náhodná čísla. P…
dsa 23.10.2025 17:51
dsa
Pro "skutečně náhodná čísla" je třeba nějaký fyzikální "zdroj náhody", takže to už není jen funkce,…
HPET 23.10.2025 19:18
HPET
trochu prehanis s tou tucnou větou, jediny na co jsem se ptal jestli to funguje ten algoritmus, a ji… nový
Dejv3 24.10.2025 10:18
Dejv3
Proč si nechávat od AI vygenerovat složitý kód, kterému nerozumíš a nepoužít třeba tohle? https://j… nový
host 24.10.2025 11:12
host
tohle negeneruje automaticky bez klikani ne 2. jsem potřeboval aby to slo zmenšit na skoro co nejmen… nový
Dejv3 24.10.2025 11:31
Dejv3
O těch dalších požadavcích jsi před tím nic nepsal. nový
Wikan 24.10.2025 11:36
Wikan
Protože jsem předpokládal ze to co bylo v prvnim prispevku za kod, tak stejnou funkcionalitu jsem hl… nový
Dejv3 24.10.2025 11:41
Dejv3
Z toho kódu vážně není poznat, co jsi sám chtěl a co si vymyslela AI, protože to bylo v nějakém kódu… nový
Wikan 24.10.2025 12:11
Wikan
Pro "skutečně náhodná čísla" je třeba nějaký fyzikální "zdroj náhody", takže to už není jen funkce,…
Ale 23.10.2025 22:41
Ale
No nevím, co takový Heisenbergův princip neurčitosti?
Wikan 23.10.2025 22:54
Wikan
Dosť si mýliš termíny náhodnosť a neurčitosť.
Ale 23.10.2025 23:55
Ale
Psal jsi, že je všechno přesně určené. nový
Wikan 24.10.2025 07:11
Wikan
Blbost, viz. základní znalosti o kvantové fyzice. Třeba radioaktivní rozpad ... často se používá. Ro… nový
dsa 24.10.2025 07:33
dsa
Levnější je použít zenerovu diodu jako zdroj nahodnosti. Samozřejmě že všechno předvídat nelze. nový
MM_tank 24.10.2025 16:21
MM_tank
Bez zadání a očekávání a specifikace vstup vystup těžko zhodnotit, podle mě to je kočkopes HTML, ani… poslední
Redus 28.10.2025 19:02
Redus

Nene, tak zas jednoduché to není ... algoritmicky v zásadě nelze generovat skutečně náhodná čísla. Podle účelu existují různé přístupy a řešení. Ale nepochybně to bude v dokumentaci. Pro "skutečně náhodná čísla" je třeba nějaký fyzikální "zdroj náhody", takže to už není jen funkce, ale nějaké zařízení.

Pro "skutečně náhodná čísla" je třeba nějaký fyzikální "zdroj náhody", takže to už není jen funkce, ale nějaké zařízení.

Host ma opravdu pravdu, s random jsem delal casto treba pro generator nahodnych cislel pro sportku, kdyz se ve skole ucis programovat tak u kapitoli "Random" padnes casto na priklad "Hod kostkou" ve hre a podobne.

Pro jedno nahodne cislo si to zkus treba v Powershell : Get-Random nebo kdyz chces jak tomu rikas "realne nahodne cislo" treba do 10 : Get-Random -Maximum 11 (jak muzes sam konstatovat neni to zadna veda) :-) Pak jestli je to js, Powershell, PHP, C#, Python princip je vpodstate stejny.
Pro vypsani 10 nahodnych cisel od 1 do 100 ti vleze na jeden radek: 1..10 | ForEach-Object { Get-Random -Minimum 1 -Maximum 101 }

Ten pouzity random k vygenerovani nahodnych cisel jde videt/rozlisit i v tom java sriptu

PS: Ale nechapu, proc chce po AI at mu splaca nejakou mrsinu nahodnych cisel aby potom lital po nete aby mu nekdo vysvetlil jak to funguje a co to dela nebo jestli to dela dobre.
Asi su uz moc starej, ale toto postrada veskerou logiku.

Blbost, viz. základní znalosti o kvantové fyzice. Třeba radioaktivní rozpad ... často se používá. Rozpad konkrétního jádra je naprosto náhodný. I při poločasu rozpadu 1 hod. se nemusí rozpadnout ani za 100 let. A pohyb 1 molekuly plynu v 1 l objemu i bez kvantové neurčitosti je náhodnější než nejnáhodnější funkce.

Bez zadání a očekávání a specifikace vstup vystup těžko zhodnotit, podle mě to je kočkopes HTML, animací a nadbytku JavaScriptu. A to ani neřeším podstatu: bezpečnost a kvalitu generaátoru.

Bohaté stací Math.random() , násobeni 100 modulo, plus, minus , a toInt() . A klidně to může běžet v javascriptovým okénku bez frontentu natož nějakých addeventlistener zhuvěrilosti... Ale neznám zadání faceliftu

Zpět do poradny Odpovědět na původní otázku Nahoru