Cate wants to make a computer program be to be like the Magic 8 ball, in my last post, I couldn’t remember how to generate a random number. But found it here
Math is a class (not an object ), it has 2 class member functions.
random()
which will give me a random decimal between 0 and 1, like 0.11, 0.34. If we take this and multiply by 6, then we will get a number between 0 and 6, but less than 6
floor()
will round off the decimal number to an integer.
Math.floor( Math.random() * 6)
So here is the program, which will magically give you an answer to any question you have in the word
<body> <script type="text/javascript"> var question = window.prompt("Ask a question! :)"); /* RFE: time thing change question after 5 secs, to ask the user to hurry up */ var magicAnswers = [ "Duh", "Hazy, try again", "No way", "Awoooga", "We'll see", "Of course!", "Yawn...", "Yep."]; /* Math.random() the computer makes a random number between 0 and 1, gives you answer to your question multiply by 5 would give you a number between 0 and 4 Math.floor makes the number a round number */ var randAnswer = Math.floor( Math.random() *8) window.alert("Q: " + question + "\n\n" + "A: "+ magicAnswers[randAnswer]); </script> </body> /* the engine of the Magic 8 ball game is simple and complete, some ideas for the UI 1) have a wizard stand behind a crystal ball, ask a question, zoom in to the crystal ball and show the answer 2) have a bouncing black eight ball, ask a question and the eight ball shakes a bit and shows the answer, it prompts you every 3-5 seconds. As another enhacement, we can keep a history of all the previous questions and answers. display the question a bubble next an avatar of the person asking follow by the answer almost like a comic strip This will allow us to see the previous history of all the funny question and answers */
—-
This is a series that documents my daughter’s curiosity to learn about computer programming
—-
Leave a Reply