Browse Source

Add Readme

master
Antoine Bartuccio 2 years ago
parent
commit
30d45b7d62
4 changed files with 49 additions and 2 deletions
  1. BIN
      Fractal_en.png
  2. BIN
      MVC_en.png
  3. +49
    -2
      README.md
  4. BIN
      sierpinski_screenshot.png

BIN
Fractal_en.png View File

Before After
Width: 579  |  Height: 660  |  Size: 47KB

BIN
MVC_en.png View File

Before After
Width: 903  |  Height: 721  |  Size: 87KB

+ 49
- 2
README.md View File

@@ -1,2 +1,49 @@
# Explanation of demo + structure
file -> packages
# MVC pattern

This application follows a MVC (Model-View-Controller) pattern for the GUI communication.

![MVC pattern applied on this project](MVC_en.png)

# Sierpinski's fractals demo

This demo is about Sierpinski's fractals. Those are 3 triangles inside a triangle.

![Agents organization in the fractal demo](Fractal_en.png)

To create this demo, only one agent was required. The idea is to create a main agent and then create 3 other agents in the inner context of the main agent. Then the main agent becomes an event broadcaster and so on and so forth for each fractals newly created.


```Scala
agent Fractal {
...

on Initialize {
if (occurrence.parameters.size >= 2){
// If initialized with arguments

screenSurface = occurrence.parameters.get(0) as Square
positions = occurrence.parameters.get(1) as Positions

if (occurrence.parameters.size.equals(3)){
// If initialized by the GUI
var ctrl = occurrence.parameters.get(2) as FXMLViewerController
guiSpace = defaultContext.createSpace(
OpenEventSpaceSpecification, UUID.randomUUID)
ctrl.setGUISpace(guiSpace)
guiSpace.register(asEventListener)
}
} else {
// If initialized without argument
screenSurface = new Square
positions = new Positions
}
screenWidth = screenSurface.width
this.generatePoints
}

...

}
```

![Application with the GUI](sierpinski_screenshot.png)

BIN
sierpinski_screenshot.png View File

Before After
Width: 615  |  Height: 675  |  Size: 41KB

Loading…
Cancel
Save