Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    random_set_seed() in Fuze

    Help
    help please
    3
    17
    914
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Rxvlism
      Rxvlism last edited by MikeDX

      It is a very useful function that and get_perlin_noise

      I will try that 🤔

      Lol how would u make it, if u don’t mind me asking lol I’m really stumped

      pianofire 1 Reply Last reply Reply Quote 1
      • pianofire
        pianofire Fuze Team @Rxvlism last edited by pianofire

        @Rxvlism OK try something like this:

        maxNumbers = 1000
        randomRange = 1000
        numberLen = 4
        seed = 0
        nextRandom = seed
        
        randomNumbers = []
        
        // run this once to store the random number sequence
        //saveNumbers()
        // read previously saved numbers 
        loadNumbers()
        
        clear()
        for i = 0 to 10 loop
          printAt(0, i, getRandom(6) + 1)
        repeat
        update()
        sleep(3)
        
        function getRandom(range)
          result = int(randomNumbers[nextRandom] / randomRange * range)
          nextRandom += 1
          if nextRandom == maxNumbers then
            nextRandom = 0
          endif
        return result 
        
        function saveNumbers()
          handle = open()
          for i = 0 to maxNumbers loop
            randomNumber = random(randomRange)
            write(handle, padStr(str(randomNumber), numberLen, " "))
          repeat
          close(handle)
        return void
        
        function loadNumbers()
          handle = open()
          for i = 0 to maxNumbers loop
            randomNumbers[i] = int(read(handle, numberLen))
          repeat
          close(handle)
        return void
        
        function padStr(theStr, padLen, padChar)
          result = theStr
          while len(result) < padLen loop
            result += padChar
          repeat
        return result
        
        Rxvlism 1 Reply Last reply Reply Quote 1
        • Rxvlism
          Rxvlism last edited by

          I will try it out 😂 honestly I don’t know what im doing at this point so hopefully I learn something from you’re code thanks 🙏🏽

          1 Reply Last reply Reply Quote 2
          • jmcdowall
            jmcdowall last edited by

            I've had success with repeatable random numbers in the past (not Fuze) with a linear congruential generator https://rosettacode.org/wiki/Linear_congruential_generator

            Good luck!

            Rxvlism 1 Reply Last reply Reply Quote 1
            • Rxvlism
              Rxvlism @pianofire last edited by

              @pianofire

              pianofire 1 Reply Last reply Reply Quote 0
              • Rxvlism
                Rxvlism @jmcdowall last edited by

                @jmcdowall thanks I’ll take a look 👀

                1 Reply Last reply Reply Quote 0
                • pianofire
                  pianofire Fuze Team @Rxvlism last edited by pianofire

                  @Rxvlism Sorry missed a line when I re-keyed it you need an array declaration near the top

                  randomNumbers = []
                  
                  Rxvlism 1 Reply Last reply Reply Quote 0
                  • Rxvlism
                    Rxvlism @pianofire last edited by

                    @pianofire kk now I need to understand how to implement this into my game. If I post it can u help me lol I’ll credit...

                    Just need to wrap my head around it

                    1 Reply Last reply Reply Quote 0
                    • Rxvlism
                      Rxvlism last edited by

                      I think this is what it’s supposed to do

                      pianofire 1 Reply Last reply Reply Quote 0
                      • pianofire
                        pianofire Fuze Team @Rxvlism last edited by

                        @Rxvlism no that doesn't look right!. Did you run the saveNumbers() function the first time that you ran it?

                        uncomment //saveNumbers() by removing the //. This will save a list of 1000 random numbers to a file. Then comment that line out again so that the next time you run it, it loads the same list of 1000 numbers.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post