![]() |
.. (לתיקייה המכילה) | |
Why do the balls blink in the supplied test1.avi video? | |
Because the TA-in-charge doesn't really know how to capture video. The balls shouldn't blink (too much) in the actual application. |
Is there a good IDE to use for C#? | |
Microsoft's Visual Studio is a decent C# IDE. The assignment will be tested using Visual Studio 2008. |
Where can I get a copy of Visual Studio 2008? | |
1. Visual Studio 2008 is installed in the computer farm. 2. Visual Studio 2008 can be obtained via the MSDNAA program all CS students are eligible for (see the faculty page about MSDNAA program at http://system.cs.technion.ac.il/msdnAA.htm ). 3. Visual Studio 2008 Express can be freely downloaded from Microsoft at www.microsoft.com/express/Downloads/#Visual_Studio_2008_Express_Downloads |
We're getting an error in VectorD.cs: | |
Our mistake - the file is missing the using directive for the System namespace. Add the following line as the first line of VectorD.cs: using System; And it should be okay. |
Why does the fps field in Simulator of type double? Shouldn't it be int? | |
Yes, it should, feel free to change it. In any case, ISimulator should not be changed. |
What's with the SingleStep() method call in the partial Simulator implementation? Are we supposed to write it ourselves? | |
Yes, you're supposed to implement SingleStep(). |
When we draw the balls, they keep on blinking when they move! What are we doing wrong? | |
It's okay if the balls blink a bit. Finding a solution to the problem might lead to getting some of the bonus :) hint: search for "double buffering". |
When we close the application, we get some exception thrown because of some issue with the timer! | |
Don't worry about it. |
Does the Location of a Ball represent its top-level corner or its center? | |
Its center. |
Is a ball name unique? i.e. can there be two balls with the same name? | |
It is not necessarily unique. It is possible for two balls to have the same name. |
AddEntity and RemoveEntity are listed as having the constraint that they cannot be invoked while a simulator step is running, except during OnStepFinished. Is it something we have to verify when we implement these methods, or is it something the method caller must verify? | |
You do not have to check the constraint when implementing these methods, it is the caller's responsibility to not call them outside of OnStepFinished. |
Clicking "stop" when the simulator isn't running throws an exception, is that okay? | |
It's okay if it throws an exception in that case. |
We don't understand how much time do we need to pass to Advance(). | |
You need to pass the amount of time which passes between updates, in seconds. |
We get errors for the "using System.Windows" line:
| |
When you create a new project in Visual Studio 2008, make sure it's a "Windows Forms Application" project, from under the "Visual C#" category. Also make sure ".NET Framework 3.5" is selected. |
When trying to use double buffering, we found out we can't find any way to do so without changing code in classes other than the classes we're supposed to submit. Can we submit other classes as well? | |
Yes, you may submit other classes - as long as you explain in your readme.txt exactly what classes I need to replace with what, and why. |
Are we supposed to give initial values to a ball's velocity and location? | |
You don't have to, but if you want the provided tester to work you should give them default values (PointD.DEFAULT, VectorD.DEFAULT). |
If we change the FPS value, we get different results. Is that okay? | |
The FPS does not change the essence of the simulation, but it definitely has an impact on its precision (and the smoothness of the animation, in case you draw it). So in the provided test, it can change the angle after a collision, or the distance a ball passes; but it should not change those drastically. A very low FPS can have a greater impact - the balls might even miss each other. If halving the FPS value makes you balls go twice as far / half the distance, you have a problem. |