W3101: Scripting Languages, Javascript: Possible Term Projects Here are a couple of ideas for term projects: 1. Simulate a moving "meteor" in a box: In this you should show a meteor moving a box back and forth in a straight line (A) You can show a meteor as a fading ray of light from head to tail -- something that has a dark bright color at the head that gradually fades to the tail before disappearing. That is, assume the head is bright red. The color of the meteor should decrease gradually becoming medium red in the middle, then fading to light red at the tail before disappearing (i.e., colorless). (B) Have a rectangular box of a reasonably big size. (C) Move the meteor in the box in a random straight line, to start with. Whenever it hits the edges of the wall, it should reflect off and go back in another straight line. Keep doing this indefinitely, until the user decides to stop it. (D) Have two buttons -- one to start the program (which initiates the meteor to start moving) and another button to stop the meteor. (E) You can have another drop down menu to control the speed of the meteor -- something like "slow", "medium" and "fast". 2. There is a game called "Jezzball" that used to come with old version of Windows (Win-95) Operating systems. In fact, you can find the C/C++ source code at http://www.allegro.cc/depot/Jezzball. Download the code, play the game and understand how the game works. Then, implement a stripped down version of Jezzball in Javascript. That is, (A) This program should have a rectangular box. (B) Generate "n" balls, where n is in the range [1-4]. Note "n" should be a variable -- it should work with any value of n in the range [1-4]. Each ball should should move in a straight line bouncing off the wall (as in the "moving meteor" project). (C) Implement the case when the mouse button click cuts the rectangle into a smaller piece. (D) Try to handle the case when the ball hit against each other. That is, they should bounce back of each other. If not, just ignore the case and let them go through in their original path, as though they did not hit each other. (E) You DO NOT have to worrry about scoring, etc. Just show the balls moving back and forth.