Re: Uruchamianie losowego dema
: 13 mar 2024, 07:21
Kod: Zaznacz cały
poke54286,8:poke54287,0:poke54288,0:poke54289,1:poke54290,128:printpeek(54299)
Wydaje mi się, że wystarczy:=TRIANGULAR= pisze: ↑14 mar 2024, 00:03[...] albo po prostu wsłuchuje się w szum SID-a:Kod: Zaznacz cały
poke54286,8:poke54287,0:poke54288,0:poke54289,1:poke54290,128:printpeek(54299)
Kod: Zaznacz cały
poke54287,128:poke54290,128:printpeek(54299)
Kod: Zaznacz cały
10 poke54287,128:poke54290,128:a=rnd(-peek(54299))
20 print rnd(1)
Raczej tak:dekanex pisze: ↑15 mar 2024, 10:03Dodałem tą inicjalizację. Jeśli dobrze zrozumiałem ten artykuł na Wiki to powinno to wyglądać tak:i wtedy już mam najbardziej losowy wynik rnd(1)Kod: Zaznacz cały
10 poke54287,128:poke54290,128:a=rnd(-peek(54299)) 20 print rnd(1)
Różnica w losowaniu już jest niezauważalna ale zostawiam w ten sposób.
Kod: Zaznacz cały
10 poke54287,128:poke54290,128:a=peek(54299)
c64-wiki pisze:Typical usage
X = RND(-TI) : REM Initialising
PRINT INT(RND(1)*100) : REM Integer random numbers from 0 to 99
PRINT INT(RND(1)*6)+1 : REM Integer random numbers from 1 to 6 (for dice simulation)
PRINT INT(RND(1)*49)+1 : REM Integer random number from 1 to 49 (for lotto simulation, for example famous German lotto 6 out 49)
PRINT (RND(0)*101)+100 : REM Random numbers from 100 to 201
Spróbuj tak:
Kod: Zaznacz cały
10 poke54287,128:poke54290,128:a=peek(54299)*256+peek(54299)
No nie W Assembly 64 największą kategorią jaką widziałem (może są większe) było top500.
Kod: Zaznacz cały
10 path$="//Demos"
20 try=5
30 printchr$(30)
40 printchr$(14)
50 d=peek(186):ifd<8thend=8
60 q$=chr$(34)
70 poke54287,128:poke54290,128
80 a=rnd(-1*peek(54299))
90 open1,d,15,"cd_":close1
100 open1,d,15,"cd"+path$:close1
110 open1,d,15:input#1,en$:close1
120 ifen$<>"00"thenprint"Folder:"+path$+" not found! Please correct":list10:end
130 print"Path:":print:printpath$;
140 print"/";
150 gosub410
160 printfi$;
170 t=t+1:ifk<32thenprint:print"Empty folder! Start again":run
180 a$=""
190 forc=.to6
200 b$=chr$(peek(4096+i+22+c))
210 ifb$<>" "thena$=a$+b$
220 nextc
230 ifa$<>"dir"thenprint:print"Not dir! Start again":run
240 fi$="cd:"+fi$
250 open1,d,15,fi$:close1
260 open1,d,15,"cd:*.d64":close1
270 open1,d,15:input#1,en$:close1
280 ifen$="00"thent=0:goto340
290 open1,d,15,"cd:*.prg":close1
300 open1,d,15:input#1,en$:close1
310 ifen$="00"thent=0:goto340
320 ift>trythenprint:print"Too many try's! Start again":run
330 goto140
340 gosub410
350 ifk=0thenprint:print"Empty image! Start again":run
360 print:print:print"Start"
370 print:print:print"lO"q$"*"q$","str$(d)",1:"
380 print:print:print:print:print"rU:"
390 fora=.to7:printchr$(145);:next
400 poke198,.:poke631,13:poke632,13:poke198,6:new
410 sys57812"$",d:poke147,0:poke780,0
420 poke781,0:poke782,16:sys65493
430 fi$=""
440 k=peek(781)+peek(782)*256:k=k-4158
450 i=32+int(rnd(int(rnd(1)))*int(k/32))*32
460 fora=0to32:a$=chr$(peek(4096+a+i))
470 ifa$=q$thenb=-1*b+1:a$=""
480 ifbthenfi$=fi$+a$
490 next
500 return