Welcome, Guest. Please login or register.


Author Topic: Randomize - véletlen szám generálása (Read 1614 times)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #15 on: 2018.July.12. 13:11:18 »
Hogy kell elindítani? Windows-on dupla kattintással nem indult el, meg dos-os .bat fájlból sem sikerült elindíteni.

Parancssoros program. Példa:
21519-0

rndguess.exe 3 5 5 2 3 1 1 3
seed = 0x7199 (1)

3
5
5
2
3
1
1
3
3*
4


Tehát itt már biztosan 3 és 4 az utolsó két szám:
21521-1

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #16 on: 2018.July.12. 13:23:20 »
A program egyébként nem különösebben hasznos, de a forráskódban látható az IS-BASIC 2.1 véletlenszám generátorának a pontos működése. Az aktuális állapotot (a forráskódban rnd_state) a 0246h, 0247h és 0211h címeken tárolja (alsó->felső byte). A kiírt "seed" érték felső 7 bitje az R Z80 regiszter, az alsó 8 bit pedig a RANDOM_IRQ EXOS változó a RANDOMIZE utasítás futásakor.

Offline nyuzga

  • EP addict
  • *
  • Posts: 1956
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 61.0 Firefox 61.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #17 on: 2018.July.12. 13:31:01 »
Köszönöm. 3 a csúcsom. :)

Egyre jobb vagyok. :)
21523-0

Offline nyuzga

  • EP addict
  • *
  • Posts: 1956
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 61.0 Firefox 61.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #18 on: 2018.July.12. 13:47:23 »
https://www.youtube.com/watch?v=4OIpAr7xGBM

Neki nem kell számítógép. :D

Offline szipucsu

  • EP addict
  • *
  • Posts: 7347
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 61.0 Firefox 61.0
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Randomize - véletlen szám generálása
« Reply #19 on: 2018.July.12. 18:32:55 »
Egyre jobb vagyok. :)
Na, ha tudtam volna, hogy ekkora sikere lesz ennek a programnak, teszek bele hangeffekteket, zenét, és színes attribútum képernyőn futna.

Tehát itt már biztosan 3 és 4 az utolsó két szám:
Ez érdekes. Ha 20, 50 vagy 100 számot kéne eltalálni, akkor is az első 8 után már tudná, mi lesz az összes többi?
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos
OPEL #1:"Audi(o):" ACCESS DENIED

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #20 on: 2018.July.12. 18:53:27 »
Ez érdekes. Ha 20, 50 vagy 100 számot kéne eltalálni, akkor is az első 8 után már tudná, mi lesz az összes többi?

Igen. Akkor változna, ha nem 1 és 5 közötti számok lennének. Mivel a RANDOMIZE 32768 lehetséges kezdőértéket tud beállítani, elvileg 7 számra van szükség (log5(32768) = 6.46), de a gyakorlatban valamivel többre.

Online endi

  • EP addict
  • *
  • Posts: 6768
  • Country: hu
  • grafikus, játékfejlesztõ, programozás, scifi, tudományok, vallás
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 67.0.3396.87 Chrome 67.0.3396.87
    • View Profile
    • Honlapom
Re: Randomize - véletlen szám generálása
« Reply #21 on: 2018.July.12. 18:58:54 »
amúgy amikor a random music generátort írtam, sokat hallgattam a random zenéket, és az EP randomszám generátorának eredménye mindenféle dologra (hangmagasság, ütem stb) és mindenféle korlátozásra (hogy mekkora random számot kérek le) egy felismerhető, megjegyezhető mintázatot ad. szóval a "zenei" agyi részem felismeri ezt.

na persze mindez csak úgy igaz, hogy nincs kiadva randomize, azaz az alaphelyzetből keletkező random sorozatra :)

de igazából ha az ember zseni vagy olyan autista, aki tud zseniálisan számolni, lehet, hogy már-már misztikus módon vissza tudja fejteni a random generátor függvényt, és így előre kitalálni a számokat :)
A diplomás magyar programozó megcsinált egy pacmant egy év alatt, majd lefikázta a világ legjobb játékait. :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4756
  • OS:
  • Linux Linux
  • Browser:
  • Firefox 58.0 Firefox 58.0
    • View Profile
Re: Randomize - véletlen szám generálása
« Reply #22 on: 2018.July.14. 16:10:40 »
Még egy érdekesség, Spectrumon így működik az RND (a % az osztás maradéka):

seed = ((seed + 1) * 75) % 65537 - 1

Ez viszonylag jó megoldás, de csak 16 bites az állapot, tehát 65536 szám után ismétlődik a sorozat. A RANDOMIZE itt is az aktuális időt, azaz pontosabban a 16 bites megszakítás számlálót használja.