
 Je tento Random generator number od AI ok?
				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 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>
 
 
Na co tu "největší" náhodnout potřebuješ a proč ti nestačí "normální" náhodnost?
prostě jsem chtěl říct aby to generovalo spravně, ono jsem četl jednou že udělat náhodnost jako náhodnost není tak jednoduché
Není a proto se pro to obvykle používají už hotové funkce. Ten "tvůj" kód nedělá nic jiného, než že jednu z nich volá.
To NENÍ gen. náhod. čísel ... to je webová stránka, která volá jakousi funkci pro ta čísla. Takže ta randomnost záleží na té funkci
no me zajima ten algoritmus jestli se tomu dá věřit
Nechapes, ze to sa nevie lebo volas funkciu, o ktorej nic nevieme a z toho kodu sa to neda zistit?
To, co si sem pastil je len krovie okolo, ale samotne generovanie ma na starosti nieco, co nevieme ako funguje.
No to se musíš ptát autora té funkce ... nikdo do ní nevidí. Nebo si k ní najít nějaký popis.
Nehledej v tom vědu. Jsou to standardní funkce (příkazy) v javascriptu, existuje k nim dokumentace. A pak už jen obyčejná matematika...
 Jsou to standardní funkce (příkazy) v javascriptu, existuje k nim dokumentace. A pak už jen obyčejná matematika...
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í.
Ale jo, ty to bereš moc do vědecky a do hloubky. A nakonec z tazatele vypadne, že náhodný generátor potřebuje kvůli tomu, aby mu spočítal, kolik si má dát rohlíků k snídani...
Myslím, že ta náhodnost v javascriptu je dostatečná.
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.
 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.
trochu prehanis s tou tucnou větou, jediny na co jsem se ptal jestli to funguje ten algoritmus, a jiny uz existující program který by fungoval stejně jsem nenašel.
Proč si nechávat od AI vygenerovat složitý kód, kterému nerozumíš a nepoužít třeba tohle?
https://jecas.cz/nahodne-cislo
případně https://www.tvorba-webu.cz/javascript/nahoda.php
tohle negeneruje automaticky bez klikani ne 2. jsem potřeboval aby to slo zmenšit na skoro co nejmenší okno 3. prostě jsem to nenašel
O těch dalších požadavcích jsi před tím nic nepsal.
Protože jsem předpokládal ze to co bylo v prvnim prispevku za kod, tak stejnou funkcionalitu jsem hledal
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, že kterého se to naučila.
Vo fyzike taktiež neexistuje "zdroj náhody", všetko je fyzicky presne určené.
No nevím, co takový Heisenbergův princip neurčitosti?
Dosť si mýliš termíny náhodnosť a neurčitosť.
Psal jsi, že je všechno přesně určené.
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.
Levnější je použít zenerovu diodu jako zdroj nahodnosti. Samozřejmě že všechno předvídat nelze.
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