Difference between revisions of "User:Spdskatr"

From RimWorld Wiki
Jump to navigation Jump to search
(Fun little wiki reference)
 
(I just wrote a report. A god damn senior school analysis report. At least it looks professional.)
Line 1: Line 1:
<pre>
+
<nowiki><!-- {{Impressive |title=Visionary}} --></nowiki>'''Be humble, little one.'''
<nowiki>
 
''Italics''
 
  
'''Bold'''
+
==Behind the code==
  
{{TemplateName | Parameter = Value}}
+
===RNG===
 +
<div style=text-align:center><b style="font-size:2em">How does [[Template:RNG]] work?</b></div>
  
[[link title | www.link.url]]
+
Technically, the template does not generate ''truly'' random numbers, just numbers random enough so that you won't be able to tell that it is ordered. It works by exploiting the special property of square numbers, such that the last digit can be easily predicted, but the middle digits are statistically random for high values. Therefore, my RNG works by chopping off the last digit of a continuously changing square number (created by the magic word <nowiki>{{REVISIONTIMESTAMP}}</nowiki>), and then mashing the numbers around so the different seeds are unlike, until finally using modulo(<code>mod</code>) to truncate the number within the limits specified.  
  
*dot point
+
This does mean that if you type limit=10000... you may find yourself disappointed at the randomness of your generated number. I will include a warning for any number greater than 1 000 000, as randomness may break down after that level.
**indented dot point
 
*** etc
 
  
{{#if: This part is filled then | filled | empty}}
+
<b style="font-size:1.5em">Example</b>
  
{{#expr: 45 + 5 * 3}} —> 60
+
Starting number: 621
  
<!--Comments go here-->
+
Step 1. Square it: 385 641
  
You can start a new paragraph by pressing enter twice.  
+
Step 2. Chop it up: 38 564
  
Only pressing space once does
+
Step 3. Multiply it by plasteel and add xerigium: 20 439 704
nothing to formatting.
+
 
</nowiki>
+
Step 4. Repeat step 3: 1 083 305 043
</pre>
+
 
 +
Step 5. Number from 1 to 100: 43
 +
 
 +
<b style="font-size:1.5em">Discussion</b>
 +
 
 +
Coming soon... Here are a few dot points.
 +
 
 +
*Limits of MediaWiki language
 +
**Strings and length
 +
**Arrays
 +
**Digital roots
 +
*Advantages of MediaWiki language
 +
**Simplicity
 +
**Similarity to HTML
 +
*Own limitations
 +
**PHP coding & super admin privileges

Revision as of 10:15, 14 December 2016

<!-- {{Impressive |title=Visionary}} -->Be humble, little one.

Behind the code

RNG

How does Template:RNG work?

Technically, the template does not generate truly random numbers, just numbers random enough so that you won't be able to tell that it is ordered. It works by exploiting the special property of square numbers, such that the last digit can be easily predicted, but the middle digits are statistically random for high values. Therefore, my RNG works by chopping off the last digit of a continuously changing square number (created by the magic word {{REVISIONTIMESTAMP}}), and then mashing the numbers around so the different seeds are unlike, until finally using modulo(mod) to truncate the number within the limits specified.

This does mean that if you type limit=10000... you may find yourself disappointed at the randomness of your generated number. I will include a warning for any number greater than 1 000 000, as randomness may break down after that level.

Example

Starting number: 621

Step 1. Square it: 385 641

Step 2. Chop it up: 38 564

Step 3. Multiply it by plasteel and add xerigium: 20 439 704

Step 4. Repeat step 3: 1 083 305 043

Step 5. Number from 1 to 100: 43

Discussion

Coming soon... Here are a few dot points.

  • Limits of MediaWiki language
    • Strings and length
    • Arrays
    • Digital roots
  • Advantages of MediaWiki language
    • Simplicity
    • Similarity to HTML
  • Own limitations
    • PHP coding & super admin privileges