Hello everyone! A few years ago I got some help with a randomizer of mine and it made it into a wonderful little tool to play around with. Link to it here!

I’ve since expanded upon it, and come into a small problem with the more I add to it: unique outputs.

There are, in total, 4 outputs I’m concerned with the most (the types). Is there any way to make it so that the code keeps track of all 4 outputs and insures they are all unique?

I’ve looked over the documentation and I think it’s a touch out of my current skillset. Thank you to anyone who takes the time to help out!

  • BluePower
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    4 months ago

    Here’s my solution so far - create a variable that’ll hold the generated types in and then change the code of the sentence list to never use any of these already-generated types:

    // Create a new "takenTypes" array variable to store the already generated types
    takenTypes = [[]]
    
    sentence
      [takenTypes = [], ""]You find yourself in {a} [d=description.selectOne] [b=biome.selectOne].<br> As the area is [d.singularForm.lowerCase], [td = typesdescription.selectOne, uniqueReturn(td)] type 'mons are rather prolific. That is in addition to the [removeDups(others[b]).selectUnique(2).map(x => uniqueReturn(x)).join(" and ")] types that live in the [b] already. <br>Oddly enough, there also seem to be some [s=removeDups(stragglers).selectOne, uniqueReturn(s)] type 'mons in the area as well.
    
    // Returns a new list that does not contain the entries already shown in the output
    removeDups(list) => return list.selectAll.filter(x => !takenTypes.includes(x));
    // Adds the entry into the "takenTypes" variable so they never show up again in the same output
    uniqueReturn(i) => takenTypes.push(i); return i;
    
    • scarffles@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      Heyoo! It’s been a few months and I’ve chipped away on this, bc it seems to be a more simple solution than some others were suggesting. I tried inputting your suggestions, they’re all near the top, but I’m still struggling with getting it all to work. I’ve tried swapping some of the x variables in the code with what (I think) applies but I’m still getting syntax error readouts.

      https://perchance.org/v5vvli9tm5#edit