| |
xIII
Registered: Nov 2008 Posts: 210 |
Another Random Generator
For my little game Modulot I used this random generator I found on Codebase64:
GetRandom:
ldx #0
lda random+1
sta temp2
lda random
asl
rol temp2
asl
rol temp2
clc
adc random
pha
lda temp2
adc random+1
sta random+1
pla
adc #$11
sta random
lda random+1
adc #$36
sta random+1
sta RANDOMNUMBERS_TABLE,x
inx
bne GetRandom+2
rts
Unfortunately I found out (too late) that this routine always generates the same table. What I wanted was a different table every time this routine is called.
How can I create a random table that is different every time ? |
|
... 10 posts hidden. Click here to view all posts.... |
| |
xIII
Registered: Nov 2008 Posts: 210 |
Quote: sure. but you just need 1 byte to have 256 random levels, 2 bytes for 64K levels, etc, no need to build a table and waste 256 bytes. also a table containing sorted numbers or one filled with random numbers doesn't change anything when the byte is picked up randomly from it. a table could make sense if you want to avoid repeated levels in a gameplay, but a game without repeated levels is boring, because when you are playing the 255th level you perfectly know which level you'll play next :)
I agree on the levels (or patterns as I call them here).
The table is used to generate a 256 byte table of numbers (0 - 9) so that when the same pattern occurs, the numbers are not the same.
As it is now, I also use it to pick a random pattern.
jsr random ; get random in range 0-ff
tax
lda random_table,x ; random table with 0-9
sta pattern
but in v2 that will change to repeated levels ;) |
| |
Smasher
Registered: Feb 2003 Posts: 520 |
great about v2. don't forget to credit mr.Groepaz and me in it! :P |
| |
Rudi Account closed
Registered: May 2010 Posts: 125 |
maybe you can read rasterpos from menu-timer.
there exists transform functions too.
if you allreedy have random 256-byte table loaded from disk, you can transform them numbers with a function using timer as input for each game level. but use a tranform that does keep all numbers intact, so they dont loose connectivity! |
Previous - 1 | 2 - Next |