Kicsit belepiszkáltam a programba, most már nem kell 4 percet várni az elején, csak 1 percet. Az out 191,12 és a poke 56,201 csodákra képes.
Hát még ha Zzzippel lefordítanánk, még gyorsabb lenne, gondolom. A Zzzippel fordításhoz viszont pár apró dolgot módosítani kéne, mert akad benne 2 hely, ahol nem egész számokat kezel.
Az egyik:
610 IF RND>.5 THEN
A szakikat kérdezem: Ezt mivel lehetne helyettesíteni, aminek pontosan ugyanez lenne a hatása? IF RND(10)>5 THEN egyenértékű lenne vele?
A másik, a páros számok felismerése. Páros számra van szüksége valahol a programnak, és ezt a páros számot is RND-ből állítja elő. Először megvizsgálja, páros-e, úgy, hogy elosztja kettővel, és ha az INT függvénnyel megvizsgálva nem páros, újra generál, amíg páros nem lesz. Páros szám generálásához hogyan lehetne kikerülni az INT függvényt?
620 LET Q=RND(39)
630 IF Q/2<>INT(Q/2) THEN GOTO 620
Ha jól értem, itt 0 és 38 közötti véletlenszerű páros számot kell generálni. Ha jól számolom, ugyanaz, mint ez:
620 LET Q=RND(20)*2
Jól számolom? Mert ez lehet 0 is és max. 19 is, és ha ezt megszorozzuk 2-vel pont ugyanaz jön ki, mint az előbb.