120 likes | 133 Views
Object Oriented Design. Goals. Pacman Project Reflections The Sims Project: additional pointers. Classes. Pacman Ghost Dot Power pill Maze Fruit Score. On state diagrams. Naming of states: much better! Transitions Need labels! Labels = Event [Guard] / Action
E N D
Goals • Pacman Project Reflections • The Sims Project: additional pointers
Classes • Pacman • Ghost • Dot • Power pill • Maze • Fruit • Score
On state diagrams • Naming of states: much better! • Transitions • Need labels! • Labels = Event [Guard] / Action • If multiple objects are involved: event needs to describe • who is involved • what happens to whom • Describe Event not Method Ghost states: attacking Not clear who is involved eat fleeing
fleeing Ghost state diagram attacking Power Pill effect is gone (2 secs) Ghost reaches home Pacman eats power pill Returning to ghost home Pacman eats ghost Pacman eats ghost Power Pill effect fades away (10 secs) fleeing blinking
Sequence diagrams • Keep general flow left to right • What makes the ghost go right? :Pacman :Ghost :Ghost :Pacman kill kill Ok, but not recommended Good
Collaborative Diffusion Search • Can be used to build simulations including object interactions even more complex than that found in the Sims
Getting started • Look at existing AgentSheets projects • “Ultimate Pacman” • “World Cup”
Diffusion Difference Equations • Simple (k=0.25) • u := 0.25 * (u[left] + u[right] + u[up] + u[down]) • General • u := @k * (u[left] + u[right] + u[up] + u[down] - 4 * u) + u • Where k is • The diffusion coefficient • Should be < 0.45
Debugging diffusion • 3D Plot is only available in research prototype • Use colorization
Wanted • We need one person who would help building an infrastructure (counts as final project). • Who knows • Java and OpenGL • Java • OpenGL