PDA

View Full Version : BB Code Enhancements - Shuffle Text BB Code (Randomizes text) (BBCode)


BirdOPrey5
08-07-2010, 10:00 PM
This BB Code uses Javascript to shuffle the alpha-numeric and some special characters in a block of text. This can be used to create 'puzzles' for your members or perhaps provide answers to questions that aren't immediately apparent should someone accidentally glance at them. The use is of course up to you.

I found this Javascrpt already created on the web and have left the copyright info in tact. I made minor changes to adapt it to a BB Code.

Demo: here. (http://www.juot.net/forums/showthread.php?p=845515#post845515)

Add a new BBCode

Title: Random (Shuffle) Text
BB Code Tag Name: ran
Replacement:

<script type="text/javascript">
function str_shuffle (str) {
// Shuffles string. One permutation of all possible is created
//
// version: 1006.1915
// discuss at: http://phpjs.org/functions/str_shuffle
// + original by: Brett Zamir (http://brett-zamir.me)
// * example 1: shuffled = str_shuffle("abcdef");
// * results 1: shuffled.length == 6

if (str == undefined) {
throw 'Wrong parameter count for str_shuffle()';
}

var getRandomInt = function (max) {
return Math.floor(Math.random() * (max + 1));
}
var newStr = '', rand = 0;

while (str.length) {
rand = getRandomInt(str.length-1);
newStr += str.charAt(rand);
str = str.substring(0, rand)+str.substr(rand+1);
}

return newStr;
}
</script>
<script>
document.write(str_shuffle("{param}"));
</script>


Example: This is a random test.
Description: This code shuffles text. Do not use the following characters: " {}[]<>&
Use Option: No
Button Image: (optional) https://vborg.vbsupport.ru/external/2010/08/53.jpg
Remove Tag If Empty: Yes
All Disable Options: Yes

The following special characters do not work: " {}[]<>& (There may be others)
The following special characters do work: .,!?$()

Please mark as installed if you use this. :)
View My Profile (https://vborg.vbsupport.ru/member.php?u=258922) for more BB Code Enhancements- they work on all versions.

Example:
A bold example. =
ex adlmopbl eA.

BirdOPrey5
08-08-2010, 05:52 PM
Note- this will randomize the letters each time you load the page... If you want to keep the same persistent order each time the page is loaded change the line in the replacement code:

return Math.floor(Math.random() * (max + 1));

Replace Math.random() with a number between zero and 1, DO NOT MAKE IT = 1!!!

An example is:

return Math.floor(0.5 * (max + 1));

MagicThemeParks
08-08-2010, 07:45 PM
Thank you for this sir! :)

I was wondering though....could this randomize the letters of each word rather than randomize the entire sentence or phrase?

For example......

THIS IS WHAT I WANT = hsit si hwta i ntaw

....instead of doing the entire phrase, it would give folks an actual clue to "solve the game" with only the actual letters of each word scrambled.

Can this be done?

EDITED: Just thinking about it....I can actually put the code around each word as a 'workaround'. :)

But, do you know if it could be done automatically to save some time?

BirdOPrey5
08-08-2010, 10:19 PM
Well anything is possible... let me work on this for a bit and see if I can figure it out... I'm thinking I can split the strings based on spaces and randomize each array that way...

MagicThemeParks
08-08-2010, 10:22 PM
That would be great! :up:

y2krazy
08-11-2010, 05:53 PM
THIS IS WHAT I WANT = hsit si hwta i ntaw

....instead of doing the entire phrase, it would give folks an actual clue to "solve the game" with only the actual letters of each word scrambled.

Can this be done?
I would love to have this be the case, but how many queries would this add per post on showthread? if it was a paragraph with, let's say 200 words, would it add 200 queries for that one post?

Tagging this Mod, but curious how it will be handled with the potential for so many queries. :)

BirdOPrey5
08-11-2010, 07:04 PM
JavaScript doesn't run queries... it's all handled by the user's browser, not the server, there are no performance issues.

MagicThemeParks
08-12-2010, 01:12 AM
Well anything is possible... let me work on this for a bit and see if I can figure it out... I'm thinking I can split the strings based on spaces and randomize each array that way...

Were you able to figure it out?

BirdOPrey5
08-12-2010, 01:24 AM
Not yet... ran into some issues... will try and look at it again soon. Will let you know as soon as I have something.

MagicThemeParks
08-12-2010, 02:06 AM
Sounds great! Thanks :up: