Re: Sv: Sv: Sv: A83: Random values


[Prev][Next][Index][Thread]

Re: Sv: Sv: Sv: A83: Random values




I used this in zelda...

rand:
 ld a,r
 ld l,a                    ; you can probably load l from r.. but im not
sure
 ld h,(RandNum)
 ld a,(hl)                ; its more random since you are pulling from a
random spot in memory also
 ld (RandNum),a
 ret

RandNum: .db 0


-Harper Maddox

jerky@ebicom.net
IRC nick: Geori
ICQ: 1214597

-----Original Message-----
From: Alan C Johnson <benjamin99@juno.com>
To: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
Date: Friday, September 11, 1998 9:26 PM
Subject: Re: Sv: Sv: Sv: A83: Random values


>
>Do it likew this:
>
> ld a,(RandNum) ;  Retrieve constant
> ld b,a
>;Do routine modifying register a, b would be your constant
> inc b ;  Increment constant
> ld a,b
> ld (RandNum),a ;  Load constant+1 back where it is stored
>RandNum:
> .db 0 ;  This is where the constant is stored
>
>
>On Fri, 11 Sep 1998 20:49:55 +0200 "Thomas Turn Jensen"
><Mukke@get2net.dk> writes:
>>
>>Ah.... That last thing sounds interesting...
>>the writing back thing is kinda tricky.. Wouldn't know how to do that
>>yet - and any explanation ppl could get me would still be too
>>technical I'm afraid... but just wait.. maybe next week I'll ask....
>>
>>Thanks again for the great delay measuring trick.
>>
>>-----Oprindelig meddelelse-----
>>Fra: Linus Akesson <lairfight@softhome.net>
>>Til: Thomas Turn Jensen <assembly-83@lists.ticalc.org>
>>Dato: 11. september 1998 20:45
>>Emne: Re: Sv: Sv: A83: Random values
>>
>>
>>>
>>>Yupp. So you can do a writeback to the program, saving the last
>>random number
>>>and reading it back as the first random number when the program is
>>run again.
>>>Another widely used method is to check how long time the user waits
>>before
>>>pressing a key. This would involve using your own key loop, instead
>>of
>>>_getkey:ing.
>>>
>>>Linus
>>>
>>>On 11-Sep-98, Thomas Turn Jensen wrote:
>>>
>>>>But if I start with a constant - wouldn't my program just come up
>>with the
>>>>same random numbers everytime it is run?
>>>
>>>>This may be a stupid question, but I simply doesn't follow you..
>>Care to
>>>>explain more (plz :-)?
>>>
>>>>-----Oprindelig meddelelse-----
>>>>Fra: Linus Akesson <lairfight@softhome.net>
>>>>Til: Thomas Turn Jensen <assembly-83@lists.ticalc.org>
>>>>Dato: 11. september 1998 18:30
>>>>Emne: Re: Sv: A83: Random values
>>>
>>>
>>>>>
>>>>>You don't. Use a constant, or the contents of some register at
>>program start
>>>>>or whatever. The random routines in the os always start with the
>>same
>>>number,
>>>>>I think it is 0.94 or something the first time you use math->rand
>>with new
>>>>>batteries.
>>>>>
>>>>>Linus
>>>>>
>>>>>On 10-Sep-98, Thomas Turn Jensen wrote:
>>>>>
>>>>>>Great!....
>>>>>>..ehm.. How do I get that Starting random # ?
>>>>>
>>>>>>-----Oprindelig meddelelse-----
>>>>>>Fra: Linus Akesson <lairfight@softhome.net>
>>>>>>Til: Thomas Turn Jensen <assembly-83@lists.ticalc.org>
>>>>>>Dato: 10. september 1998 21:02
>>>>>>Emne: Re: A83: Random values
>>>>>
>>>>>
>>>>>>>
>>>>>>>Random algorithms are quite numerous out there... one idea is to
>>take the
>>>>>>>previous random number you got, rotate it some, add some, eor
>>some, then
>>>>try
>>>>>>>the program and see if there's a visible pattern. If there is,
>>change some
>>>>>of
>>>>>>>the constants and try again...
>>>>>>>
>>>>>>>Linus
>>>>>>>
>>>>>>>On 10-Sep-98, Thomas Turn Jensen wrote:
>>>>>>>>I need to get two random values...
>>>>>>>>one in the range [0..94] and the other in [1..64] (yes you
>>guesed it -
>>>>it's
>>>>>>>>for the graph-screen)
>>>>>>>
>>>>>>>>I've found a function called "_Random" but have no idea what
>>parameters
>>>it
>>>>>>>>takes where - nor what/where the output is...
>>>>>>>
>>>>>>>>Could someone either explain to me how it works or tell me how
>>to write
>>>>>>>>something which results in the above mentined numbers. (If i get
>>a
>>>>function
>>>>>>>>that results in a random byte thats ok - where I need it, speed
>>isn't
>>>>>>>>essential so I can just check it and if not good generate
>>another random
>>>>>>>>number)
>>>>>>>>In case someone gives me some code, _plz_ explain what it does
>>as I'm
>>>more
>>>>>>>>interesting in learning how to make it rather than always use
>>other
>>>>peoples
>>>>>>>>code.
>>>>>>>
>>>>>>>>Thank you.
>>>>>>>
>>>>>>>>***
>>>>>>>>Thomas Turn Jensen
>>>>>>>>Icq uin => 8128636
>>>>>>>>IRC, Undernet => Mukke
>>>>>>>>***
>>>>>>>>If your computer gives you trouble
>>>>>>>>Call for Mukke on the double
>>>>>>>>***
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>>
>>
>>
>
>_____________________________________________________________________
>You don't need to buy Internet access to use free Internet e-mail.
>Get completely free e-mail from Juno at http://www.juno.com
>Or call Juno at (800) 654-JUNO [654-5866]
>