Programma
Create-program()->self
Execute-step(robot)->errormessage
Load(fromport)->self
Save(outport)->self
Print(printfunc)->self
User-input(??)->self
Robot
Create-robot(unieke-name)->self
Draw()->self
User-input(??)->self
Command(bericht)->error-message
Load, save & print
Componenten
Create-component(name, parent)->self
Draw()->self
Command(bericht)->graph-set
Load, save & print
De
nuggets
Legende
og
open of
gesloten?
go
grafisch
object
Points
constructor
Make-point
fields
X,
Y
methods
Draw-point, Point?, Save-point, Load-point
intersect
Intersect-p-p
Lines
constructor Make-line
fields
From, To, X1,
X2, Y1, Y2, fromc, toc, from-og, to-og
methods
Save-line, load-line,
Draw-Line, Line?
intersect
Intersect-p-l,
intersect-l-l
Circles
constructor
Make-circle
fields
from-angle, to-angle, from-of, to-og, radius, center
methods
Circle?, Draw-circle, Save-Circle, Load-circle
intersect
Intersect-p-c, intersect-l-c, intersect-c-c
Graph-set
constructor
Make-graph-set,
methods
foreach, delete, add, draw-set, save, load, print
intersect
intersect-p-s, intersect-l-s, intersect-c-s,
intersect-s-s, go-in-set?
Algemene ongetypeerde
procs
Draw, Save, Load, Print, Intersect
-
User-interface
zorgt dat de gebruiker 2 programma's laadt.
- De
user-interface werkt deze twee programma's stap per stap af.
- Het
Programma
zorgt dat bij elke stap de robot wordt verplaatst, indien mogelijk.
- De
robot
probeert zichzelf te verplaatsen door aan de juiste component het
juiste
bericht te sturen
- De
component
geeft een bewegins-pad weer. (zie figuur)
- De
robot
controleert nu of dit sleeppad nergens tegenaan botst.
-
Indien dit het
geval is wordt er gewoon niets verplaatst. Indien dit niet het geval is
wordt
de robot verplaatst en wordt de wereld aangepast.
- Hop,
controle
weer naar de user-interface.