View previous topic :: View next topic |
Author |
Message |
Crash
Joined: 16 Aug 2003 Posts: 15 Location: Riga. Latvia
|
Posted: Fri Sep 30, 2005 8:11 pm Post subject: Vajag vienu taadu iipatneeju progu... |
|
Man vajag progu, kas uzgjenereetu nevis random skaitli, bet random burtu. Varat kaadu ieteikt ? :roll:
Atradu pats. Topiku var dzeest. _________________
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Sep 30, 2005 10:43 pm Post subject: |
|
hah, nu gan tu jokus dzen.
Zini, kas ir ASCII? Tā ir simbolu kodēšanas sistēma, kas katram burtam piešķir skaitli.
Tāpēc paskālā (nezinu vai C zini, daudzi nezin), tas izskatīsies šādi:
Code: | random_char := chr(ord('a')+random(ord('z')-ord('a'))); |
un visa lielā maģija.. |
|
Back to top |
|
|
S1 Indago dalībnieks
Joined: 31 Jul 2005 Posts: 219 Location: Jelgava
|
Posted: Tue Oct 04, 2005 7:59 pm Post subject: |
|
Bubu, vai tas bija uzbrauciens tiem, kuri lieto paskalu vai delfi??? |
|
Back to top |
|
|
Kamazs Guru
Joined: 17 Jan 2003 Posts: 829 Location: The glorious ancient city of Loja
|
Posted: Tue Oct 04, 2005 8:05 pm Post subject: |
|
Errr, S1 tieši kā, tavuprāt tas varēja būt uzbrauciens tiem, kuri lieto paskālu vai Delphi? _________________ ...un es uzskatu, ka Fallout ir etalons |
|
Back to top |
|
|
SlitZ Guest
|
Posted: Wed Dec 21, 2005 9:15 am Post subject: |
|
Varu basic to pasu iedot :D
RANDOMIZE TIMER
Burts$ = CHR$( INT( RND * 255 ) + 1 )
END
Sito kompile un ....... |
|
Back to top |
|
|
kaszu
Joined: 28 Dec 2004 Posts: 103 Location: Iceberg, Northpole
|
Posted: Wed Dec 21, 2005 10:28 am Post subject: |
|
Gribi teikt, ka Burts$ vērtība būs burts, nevis jebkurš simbols?
Quote: | RANDOMIZE TIMER
Burts$ = CHR$( INT( RND * 255 ) + 1 )
END |
|
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Dec 21, 2005 2:51 pm Post subject: |
|
A kāpēc chr$(0) tiek izslēgts no pārējo 1..255 vidus? |
|
Back to top |
|
|
Slitz Guest
|
Posted: Wed Dec 21, 2005 5:42 pm Post subject: |
|
Ne Burt$ vertiba bus jebkurs simbols ASCII tabula (1-255)
Ja vajag lai butu tikai burti (A a B b ....) tad bikin savadak. (Vajag pielikt klat paris IF )
RANDOMIZE TIMER 'tiek aktivizets RND skaitlu generators
Atkartot:
i%=INT( RND * 123 )
IF i% <65 OR i% >122 THEN GOTO Atkartot 'tures i% robezas 65-122
IF i% >90 AND i%<97 THEN GOTO Atkartot 'nelaus i% but 90-97
Burts$ = CHR$( i% )
END
Ceru ka ideju sapratat: Princips ir tads ASCII tabula lielie burti ir robezas no 65 lidz 90 un mazie burti robezas 97 lidz 122 !
RND princips ir tads ka vins dod gadijuma skaitlus robezas no 0 lidz 1 Neieskaitot ne 0 ne 1 (0.12345 0.3456763423 0.3456 u.t.t) Bet mums vajadzeja skaitlus no 0 lidz 122 tatad mes RND pareizinam ar 123 un iegustam skaitlus 30.23443 120.43122334 u.t.t. !!! BET tas atkal mums neder jo mums vajag iegut apalus skaitlus un to var izdarit divos veidos vainu ar INT( ) vai nu izmantojot vesela sk. mainigo tie ir visi mainigie ar % (Ass% , Bigbut% ,C% u.t.t) viniem vari pieskirt skaitli ar komatu ,bet vins saglabas tikai to skaitli !!!
Un vis beidzot mes noklustam pie ta ka vins mums dod skaitlus no 0
lidz 122:
Domaju ka tas bija atbildes uz visiem jaut. saistiba ar so kodu .
To bubu..... tev taisniba nedaudz nokludijos nevajadzeja +1 un vajadzeja reizinat 256 nevis 255 !! |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Dec 21, 2005 10:00 pm Post subject: |
|
Ak dies. Priekškam tur to ciklošanos? random operācijai vajag būt pēc iespējas konstantākai nevis ilgai.
Tak es otrajā postā parādīju kā vajag vienkārši pastaipīt to 0..1 rnd veidoto intervālu uz vajadzīgo. Tāpat arī vajag darīt ja vajag lielos/mazos burtus. Intervāls divreiz garāks tikai un starpā sprauga. |
|
Back to top |
|
|
|