Prevent Repeating In A Random (Math.random) Array?
Aug 6, 2009
I've looked for a solution to this issue, but it seems like a little different scenario than other situations. I made a system for generating friend requests on Facebook. I have a grid that is 6 x 3, for a total of 18 cells. Each cell has a picture in it, and the picture is linked to the Facebook friend request page. My problem is that since each cell is populated at random from the array, I'm getting lots of repeats. For example, some picutures are in 5 cells, and some are in none. I'm trying to figure out how to make it so that once a picture is used once in the grid, it does not get used again in the same grid.I still want every cell filled at random on each page load, I just want to prevent the repeating.
Here's my current code:
<script type="text/javascript">
var vip_list=new Array(
new Array('http://profile.ak.fbcdn.net/v225/1616/88/s1220771654_2158.jpg','http://www.facebook.com/addfriend.php?id=1220771654'),
new Array('http://profile.ak.fbcdn.net/v223/1233/29/s904885342_9055.jpg','http://www.facebook.com/addfriend.php?id=904885342'),
I am new to javascript but have been using java for quite a while. I am looking to make a random quote (out of ten possible quotes) appear in my h2 tag in a page i am working on. In java, i would make a random number generator, in javascript it looks like this:
Code: var randomnumber=Math.floor(Math.random()*11) Then make an if statement: Code: if randomnumber=1 { var quote="Live long and prosper" }
document.write(var quote); Could someone more experienced than me tell me if my code looks good and how would a go about getting "var quote" in my h2 tag?
I want to display 4 random images and I would like to get them to NOT repeat themselves. So if image one is randomly selected as "aceclubs.png" I don't want image two to be the same and so on for the other images. This currently the code I'm using right now. I've been duplicating this function with different names for each of the 4 images. However it sometimes produces two of the same image and I don't want that.
function random_ace(){ var cardace = new Array(4) cardace[0] = "aceclubs.png"; cardace[1] = "acediamonds.png"; cardace[2] = "acehearts.png"; cardace[3] = "acespades.png";
var randomace = Math.floor(Math.random()*cardace.length); var ace = cardace[randomace]; card1.src=ace }
I've found this code elsewhere and am currently using it to load 5 random pages that automatically refresh to another in the array after 10 seconds. This works great. But is there a way of altering this code so it doesn't repeat any of the pages - atleast until it's displayed each page once?
At the moment it can display 'page5' 3 or 4 times before I even see 'page2' for example - which is annoying!. [code]...
I remember there is a programming language where you can initialize the random number generator, so that it can - if you want - give you the exactly same sequence of random numbers every time you initialize it with the same parameter. Can this be done with JavaScript? I couldn't find anything in the documentation. Basically, what I want to achieve is to obtain always the same sequence of random numbers for the same given initialization value (but of course different sequences for different init values).
Random non-repeating images script. You can see an example at [URL]. Refresh and you'll see the PS3 boxarts on the top left will show randomly, with no repeats.
In your html page in head tag <style> img.boxart{ margin:0; border: none; display:block; float:left}</style> <script type="text/javascript" src="ps3boxart.js"></script>
In body tag (place whereever in the body you want the pictures to show) <script type="text/javascript"> randomorder(ps3ba, '') </script> .....
function randomorder(targetarray) { var randomorder=new Array() var the_one var z=0 for (i=0;i<targetarray.length;i++) randomorder[i]=i
while (z<targetarray.length) { the_one=Math.floor(Math.random()*targetarray.length) if (targetarray[the_one]!="_selected!"){ document.write(targetarray[the_one]) targetarray[the_one]="_selected!" z++ }}}
Then obviously, you would use this as a baseline and change your .js file name to whatever your pictures are for, like ads.js or whichever. Change the links in ahref to whereever you want each page to link. Change the image locations in img src to whereever your images are saved. Remember, where it says var z=0... this is where you hide extra random images. For example, my 200px cell only fits 9 22px wide images (they equal 198px). I only have 9 in my ps3 boxart image folder. If I want 50 in there... I would upload the pics to the folder with the other ones, add them to the list in the .js file. Such as ps3ba[9]=, ps3ba[10]=, etc. up to [49] (49 + 1 for [0] = 50). Then since I can only fit 9 in my cell, I would have to change the variable to var z=41 (to hide 41 of them and only show 9).
I have a web page that contains a bunch of advertisements. What I need to do it randomly shuffle these images each time the page is refreshed. I cannot have any repeating ads.
I have 3 divs. I want distribution them random (when refresh the windows, three divs' position will be changed) I think Math random() can solve this problem, but how to do that? code...
I'm using the script below in a custom HTML to generate a random line of text (not with the text shown here). This works fine BUT; I want it to go randomly through the WHOLE list without repeating lines that already have been printed. As it is now, a line of text might be printed several times in a row, which is a little annoying. I'm using a refresh button for generating a new line of text.
How can I just make it display in the order shown and just re-arrange the content so it seems random to the user? Random would the best though...
<script language="JavaScript"> <!-- var r_text = new Array (); r_text[0] = "All the leaves are brown";
I am trying to get a function to draw 5 randomly sized and colored rectangles nested within each other. Meaning each rectangle should not go outside the boundaries of the rectangle it is in. The color thing I've got down in a randomColor() function. It's the nesting rectangles inside rectangles that is confusing me (hense me being up for the past 4 hours trying to understand it) I started out with very simple code just making 5 rectangles of reducing sizes nested in each other, then added the Math.random to randomize all the sizes. Now I'm at this point and have lost my way. I added a bunch of comments in my code so maybe you'll understand what I'm trying to do.
I've got my code, and the task is to generate two random numbers, the user then inputs an answer for them added together, then the program checks the answer and displays either "correct" or "wrong". Here's some of my code:
Code: <HTML> <TITLE>Assessment Task 3 : Rohan Gardiner</TITLE> <HEAD> <SCRIPT LANGUAGE ="JavaScript"> function maths(){ var response; var answer; answer = document.questions.answer.value; if (answer==document.adding){ response = "correct"; } else { response = "wrong"; } document.questions.result.value = response ; } function randoms() { rndNum = Math.random(); Num = rndNum*20; Num1=rndNum*10 document.write(Math.round(Num)+"+"+ Math.round(Num1)); } function adding() { document.write(Math.round(Num) + Math.round(Num1)); } </SCRIPT></HEAD><BODY> <h1 align="center">Rohan Gardiner Assessment Task 3</h1> <FORM NAME = "questions"> <SCRIPT Language=JavaScript> randoms(); </script> = <INPUT TYPE = "textbox" NAME = "answer" > <BR> <INPUT NAME = "dobutton" TYPE = "button" Value = "check" onClick= "maths()"> <INPUT TYPE = "textbox" NAME = "result" > </BODY></HTML>
Trying to develop a small app for my site. What is the code to generate a random # of lines (1 min - 5 max) and a random phrase for each line sourced from a multidimensional array? These also need to be unduplicated (so I won't have quote 1 be on lines 1 and 4). How do I prevent random duplication with the generated lines of text?
I'm trying to use Javascript to have an array of images that load randomly AND work in a slideshow manner so change every 3 seconds (in a logical order). The code I have below presents a random image but how do I get them to continue from the random image and change to the next every 3 seconds?
For my website I would like to create a famous last words generator (randomized), and random page generator (within my site). What is the code for random quotes and random links?
I'd like to reorganize the third, fourth, fifth and sixth, as well as any elements thereafter in an array in random order:
var a = new Array('first','second','third','fourth','fifth','s ixth','etc')
In other words, the first, second and third element should remain in position 0, 1 and 2, while the fourth, fifth and sixth, etc. should appear in random order.
In http:www.dreaminco...wtopic51264.htm a code was proposed for generating a random number within an array and then printing it into the html document using document.write.Is it possible to go one step ahead and feeding the result into an html href function? [code]is the random array member generated by the javascript.
I am trying to write a function that will take a random array as a var and split it into two arrays. My problem is I don't know how to show the split. I need to cut the array at the mid index. How do i write that so no matter what the length is the middle of the index is selected. I have wrote some code but the if isnt working and the var to set the two array lengths is not right Code:
I have some image URLs stored in an array. I then want to be able to print out one of those image URLs randomly on page load. What would be the best method to do this in jQuery?
I am learning Javascript from this book I got, and I am trying to do one of the "challenges" in the Hangman example, and that is to add on more 8 letter words to it and have it select by random. I am assuming that it's asking me to do this with arrays, but I have no idea how to implement that on this while having it select randomly.
I have an array containing 100 different values. How would I randomly pick 25 of them for display? For now I do: for (var i=0; i<markers.length && i<25; i++) {
html += markers[i].name + '<br />'; }
Which of course returns 25 values but always in the same order which is not what I want. PS. My array could also contain only 20 values, in which case I would like the function to display the 20 values randomly sorted.
So, I am attempting to select a random entry from an array, and then make it so that particular entry will not be selected again until every entry has been selected. Basically, I don't want to see any of the same entries, until all of the entries in the array have been selected.
So if this were my array....
keywords = [ "ppc", "games",
[Code]....
since meta was selected a second time before everything had been selected once.
I would like to see something more like
meta, advertise, gaming,ppc, welcome, home, games, advertise, ppc, since this did not select any entry multiple times before every entry had been randomly selected.( the second loop started at the second "advertise" in case you didn't catch the differences.
But as you can see from the code that I have posted above, I do not know how to do this. I have seen examples where the entries that were randomly selected, were actually deleted from the array entirely but this is not what I want to do. I just want every entry to be selected once, and then for the process to be restarted.
does anyone know how to scramble the "box#" in the codes below? Ultimately, I want the checkboxes to be in different order each time I access the web page?
<script lanugage="javascript"> function countChoices(obj) { max = 3; // max. number allowed at a time
box1 = obj.form.box1.checked; // your checkboxes here box2 = obj.form.box2.checked; box3 = obj.form.box3.checked; // add more if necessary box4 = obj.form.box4.checked; box5 = obj.form.box5.checked;
I'm creating a tool which will who a random image every time I press a button, when the image is clicked it will open a new tab which will show a website. I can tell you I've succeeded in all this, but I was wondering if there is any way in which I can let my "generator" show 1 standard image at first, and if this is even possible never show that image after it has been showed. The image will explain that the you have to press the button to go to the next image.The Code:
I have a quick question with multiple array and random numbers. If i generate my random numbers in one array, how would i take a selection of those numbers and put them in another array?
Ex: array 1: 25, 34, 38, 40, 22, 49
Want to move numbers between 30 and 50 to another array.
array 2: 34, 38, 40, 49
Is it as simple as for loops and if statements setting the conditions? do i use a sorting method? (selection? bubble?)