Presentation is loading. Please wait.

Presentation is loading. Please wait.

CompSci 4 12.1 Video Game Package Design Design of the Video Game Package.

Similar presentations


Presentation on theme: "CompSci 4 12.1 Video Game Package Design Design of the Video Game Package."— Presentation transcript:

1 CompSci 4 12.1 Video Game Package Design Design of the Video Game Package

2 CompSci 4 12.2 Video Game Package Design Design of Video Game Package Animation Canvas Keyboard Mouse GameLoop JFrame Or Applet Tracker Sprite Tracker Sprite Tracker Sprite

3 CompSci 4 12.3 Video Game Package Design The Plan  Basic principles of design  Motivate why MVC is needed  Model/View/Controller (MVC) overview  Model (today)  View (when we get to Graphical User Interfaces)  Controller (when we get to Event Handling)

4 CompSci 4 12.4 Video Game Package Design Basic Principles of Design We want our programs to be  simple  functional  fast (to code and to execute)  correct  easy to modify  easy to extend  capable of reuse

5 CompSci 4 12.5 Video Game Package Design Why Simple?  Simple is easy to understand and therefore easier to reuse, modify, and extend.  Simple has less likelihood for program errors and is therefore more likely to be correct.  Simple may be faster than complex, certain to code and perhaps in execution time.

6 CompSci 4 12.6 Video Game Package Design Why functional?  It has to work.  How well it works is negotiable considering:  speed to release  cost to release  lifetime of code

7 CompSci 4 12.7 Video Game Package Design Why fast?  Who wants to wait?  Works better on slower, more out-of-date machines.  Sometimes crucial to application’s purpose  air control  nuclear plant facilities  weather prediction  stock prediction

8 CompSci 4 12.8 Video Game Package Design Why correct?  In some cases, incorrect execution is unacceptable  access control  online sales  In some cases, incorrect execution can be remedied by re-execution  operating system locks up, so just reboot  database goes down, just restart  impacts time coding

9 CompSci 4 12.9 Video Game Package Design Why easy to modify?  Users rarely can tell you exactly what they want  Even if they could tell you, what users want changes  Changes in hardware and software mandate code modification (think Y2K)

10 CompSci 4 12.10 Video Game Package Design Why easy to extend?  Why not make a good thing better?  Enables multiple releases of functional programs  Windows 3.1, 95, 98, 2000, NT, etc.  Java 1.0, 1.1, 1.2, 1.3, 1.4 and now 1.5 (5.0)  Keep up with increasing competition and demand

11 CompSci 4 12.11 Video Game Package Design Capable of Reuse  No need to reinvent the wheel  Easier to build with tools than starting from scratch  C was used to make C++ compiler, C++ used to  make Java, Java used to make Java compiler!  Reduce, reuse, recycle is good for coding too!

12 CompSci 4 12.12 Video Game Package Design Why we need MVC? MVC assists in achieving design principles:  simple idea  fast to code with a clear ready-made design  structure makes reuse, modification and extension simple  MVC design easy to test for correctness

13 CompSci 4 12.13 Video Game Package Design What is MVC?  Model  representation of the data  has no visual component  View  visual display of the data  Controller  specifies ways in which the model can be changed  between model and view

14 CompSci 4 12.14 Video Game Package Design Simplified 1D Model  Recall collision detection simulation.  We’re going to apply MVC to solve the problem more generally.  Were going to use Object Oriented Programming  what are the objects?  what value do they have?  how do the values change?  how are the values accessible?

15 CompSci 4 12.15 Video Game Package Design What are our objects? We’re going to model 1D particles and segments.  Particle (similar to the Sprite class)  Segment (similar to extending the Sprite class)  Tracker1D (similar to Tracker)  VelocityTracker (similar to ProjectileTracker)  ModelTest (similar to our JFrame)

16 CompSci 4 12.16 Video Game Package Design class Particle Attributes  double position  Tracker1D Behavior  double getPosition()  void setPosition(double)  Tracker1D getTracker()  void setTracker(Tracker1D)

17 CompSci 4 12.17 Video Game Package Design class Segment extends Particle Attributes  double position  double width  Tracker1D Behavior  double getPosition()  void setPosition(double)  double getWidth()  void setWidth(double)  Tracker1D getTracker()  void setTracker(Tracker1D)

18 CompSci 4 12.18 Video Game Package Design interface Tracker1D Attributes  none Behavior  double getPosition()  void advanceTime(double)

19 CompSci 4 12.19 Video Game Package Design class VelocityTracker Attributes  double velocity  double position Behavior  double getPosition()  void advanceTime(double)

20 CompSci 4 12.20 Video Game Package Design class ModelTest Attributes  none Behavior  public static void main(String[] args)

21 CompSci 4 12.21 Video Game Package Design More to come….


Download ppt "CompSci 4 12.1 Video Game Package Design Design of the Video Game Package."

Similar presentations


Ads by Google