# Magic Eight Ball engine in JavaScript: Teaching Computer Programming To Kids : Lesson #4

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 */

"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,
multiply by 5 would give you a number between 0 and 4
Math.floor makes the number a round number
*/
Math.random()
*8)

</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