mirror of
https://github.com/klmp200/sarl-fireworks.git
synced 2024-12-26 17:51:11 +00:00
reformatting all classes
This commit is contained in:
parent
9890daffc8
commit
9316a74f07
Binary file not shown.
@ -7,7 +7,7 @@ import io.sarl.demos.fireworks.gui.FXMLViewerController
|
||||
import static io.janusproject.Boot.*
|
||||
|
||||
class Firework {
|
||||
static def main(controller: FXMLViewerController) {
|
||||
static def main(controller : FXMLViewerController) {
|
||||
Boot::offline = true
|
||||
Boot::startJanus(typeof(LaunchingArea), controller)
|
||||
}
|
||||
|
@ -14,8 +14,8 @@ class FireworksFXApplication extends Application {
|
||||
private var loader : FXMLLoader
|
||||
|
||||
@Override
|
||||
public def start(stage: Stage) throws Exception {
|
||||
var location : URL = getClass().getResource("FireworksFXApplication.fxml");
|
||||
public def start(stage : Stage) throws Exception {
|
||||
var location : URL = getClass().getResource("FireworksFXApplication.fxml");
|
||||
loader = new FXMLLoader();
|
||||
loader.setLocation(location);
|
||||
loader.setBuilderFactory(new JavaFXBuilderFactory());
|
||||
@ -26,14 +26,14 @@ class FireworksFXApplication extends Application {
|
||||
stage.show();
|
||||
}
|
||||
|
||||
public static def main(args: String[]) {
|
||||
public static def main(args : String[]) {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public def stop() throws Exception {
|
||||
public def stop() throws Exception {
|
||||
super.stop();
|
||||
(loader.getController() as FXMLViewerController).cleanExit();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -8,54 +8,54 @@ import java.util.Vector
|
||||
import javafx.scene.paint.Color
|
||||
|
||||
class RocketsPos {
|
||||
public val ROCKETREFRESHDELAY = 100
|
||||
var position = new Vector<Double>()
|
||||
var color: Color
|
||||
var hidden = false
|
||||
|
||||
public def getPosition(){
|
||||
return position
|
||||
}
|
||||
|
||||
public def setPosition(position: Vector<Double>){
|
||||
this.position = position
|
||||
}
|
||||
|
||||
public def getColor(){
|
||||
return color
|
||||
}
|
||||
|
||||
public def setColor(color: Color){
|
||||
this.color = color
|
||||
}
|
||||
|
||||
public def setHidden(hidden: boolean){
|
||||
this.hidden = hidden
|
||||
}
|
||||
|
||||
public def getHidden(){
|
||||
return this.hidden
|
||||
}
|
||||
public val ROCKETREFRESHDELAY = 100
|
||||
var position = new Vector<Double>()
|
||||
var color : Color
|
||||
var hidden = false
|
||||
|
||||
public def getPosition() {
|
||||
return position
|
||||
}
|
||||
|
||||
public def setPosition(position : Vector<Double>) {
|
||||
this.position = position
|
||||
}
|
||||
|
||||
public def getColor() {
|
||||
return color
|
||||
}
|
||||
|
||||
public def setColor(color : Color) {
|
||||
this.color = color
|
||||
}
|
||||
|
||||
public def setHidden(hidden : boolean) {
|
||||
this.hidden = hidden
|
||||
}
|
||||
|
||||
public def getHidden() {
|
||||
return this.hidden
|
||||
}
|
||||
}
|
||||
|
||||
class FirePos {
|
||||
public val FIREREFRESHDELAY = 100
|
||||
var positions: List<Vector<Double>>
|
||||
var color: Color
|
||||
|
||||
public def getPositions(){
|
||||
var positions : List<Vector<Double>>
|
||||
var color : Color
|
||||
|
||||
public def getPositions() {
|
||||
return positions
|
||||
}
|
||||
|
||||
public def setPositions(positions: List<Vector<Double>>){
|
||||
|
||||
public def setPositions(positions : List<Vector<Double>>) {
|
||||
this.positions = positions
|
||||
}
|
||||
|
||||
public def getColor(){
|
||||
|
||||
public def getColor() {
|
||||
return color
|
||||
}
|
||||
|
||||
public def setColor(color: Color){
|
||||
|
||||
public def setColor(color : Color) {
|
||||
this.color = color
|
||||
}
|
||||
}
|
||||
@ -63,20 +63,19 @@ class FirePos {
|
||||
class Positions {
|
||||
var rockets = new HashMap<UUID, RocketsPos>()
|
||||
var fire = new HashMap<UUID, FirePos>()
|
||||
|
||||
|
||||
|
||||
public def getRockets() : Map<UUID, RocketsPos> {
|
||||
return rockets.unmodifiableView
|
||||
}
|
||||
|
||||
|
||||
public def getFire() : Map<UUID, FirePos> {
|
||||
return fire.unmodifiableView
|
||||
}
|
||||
|
||||
public def setRocketPosition(id: UUID, position: Vector<Double>){
|
||||
|
||||
public def setRocketPosition(id : UUID, position : Vector<Double>) {
|
||||
var pos = new RocketsPos()
|
||||
pos.setPosition(position)
|
||||
if (rockets.containsKey(id)){
|
||||
if (rockets.containsKey(id)) {
|
||||
pos.setColor(rockets.get(id).getColor)
|
||||
rockets.replace(id, pos)
|
||||
} else {
|
||||
@ -84,19 +83,19 @@ class Positions {
|
||||
rockets.put(id, pos)
|
||||
}
|
||||
}
|
||||
|
||||
public def removeRocketPosition(id: UUID){
|
||||
|
||||
public def removeRocketPosition(id : UUID) {
|
||||
rockets.remove(id)
|
||||
}
|
||||
|
||||
public def hideHocketPosition(id: UUID){
|
||||
|
||||
public def hideHocketPosition(id : UUID) {
|
||||
rockets.get(id).setHidden(true)
|
||||
}
|
||||
|
||||
public def setFirePosition(id: UUID, rocketID: UUID, positions: List<Vector<Double>>){
|
||||
|
||||
public def setFirePosition(id : UUID, rocketID : UUID, positions : List<Vector<Double>>) {
|
||||
var pos = new FirePos()
|
||||
pos.setPositions(positions)
|
||||
if (fire.containsKey(id)){
|
||||
if (fire.containsKey(id)) {
|
||||
pos.setColor(fire.get(id).getColor)
|
||||
fire.replace(id, pos)
|
||||
} else {
|
||||
@ -107,10 +106,9 @@ class Positions {
|
||||
fire.put(id, pos)
|
||||
}
|
||||
}
|
||||
|
||||
public def removeFirePosition(id: UUID){
|
||||
|
||||
public def removeFirePosition(id : UUID) {
|
||||
fire.remove(id)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,23 +18,23 @@ import java.util.List
|
||||
import java.util.UUID
|
||||
import java.util.Vector
|
||||
|
||||
agent Fire {
|
||||
agent Fire {
|
||||
uses Lifecycle, Logging, Behaviors, DefaultContextInteractions, Schedules
|
||||
|
||||
var x: List<Double>
|
||||
var y: List<Double>
|
||||
|
||||
var x : List<Double>
|
||||
var y : List<Double>
|
||||
var lifetime = 300
|
||||
var frozen = false
|
||||
var destroyed = false
|
||||
var exited = false
|
||||
var grid: Positions
|
||||
var xf: Double
|
||||
var yf: Double
|
||||
var grid : Positions
|
||||
var xf : Double
|
||||
var yf : Double
|
||||
var id = UUID.randomUUID
|
||||
var parentID: UUID
|
||||
var move: AgentTask
|
||||
var parentAgent: UUID
|
||||
|
||||
var parentID : UUID
|
||||
var move : AgentTask
|
||||
var parentAgent : UUID
|
||||
|
||||
on Freeze {
|
||||
this.frozen = occurrence.value
|
||||
if (frozen)
|
||||
@ -42,11 +42,11 @@ agent Fire {
|
||||
else
|
||||
wake(new UpdateFirePosition)
|
||||
}
|
||||
|
||||
|
||||
on Initialize {
|
||||
x = new ArrayList()
|
||||
y = new ArrayList()
|
||||
if (occurrence.parameters.size.equals(4)){
|
||||
if (occurrence.parameters.size.equals(4)) {
|
||||
x.add(occurrence.parameters.get(0) as Double)
|
||||
y.add(occurrence.parameters.get(1) as Double)
|
||||
grid = occurrence.parameters.get(2) as Positions
|
||||
@ -55,60 +55,67 @@ agent Fire {
|
||||
info("Error in fire Initialize : bad parameter number")
|
||||
}
|
||||
parentAgent = occurrence.spawner
|
||||
|
||||
|
||||
xf = Math.random() * 10.0 - Math.random() * 5
|
||||
yf = Math.random() * 10.0 + 1.0
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
on FireReady {
|
||||
move = atFixedDelay(30)[try{
|
||||
wake(new UpdateFirePosition);}
|
||||
catch(e: Exception) {e.printStackTrace}]
|
||||
move = atFixedDelay(30) [
|
||||
try {
|
||||
wake(new UpdateFirePosition);
|
||||
} catch (e : Exception) {
|
||||
e.printStackTrace
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
on UpdateFirePosition [isFromMe(occurrence) && !frozen && !destroyed]{
|
||||
|
||||
on UpdateFirePosition [isFromMe(occurrence) && !frozen && !destroyed] {
|
||||
var newx = x.last + xf
|
||||
var newy = y.last + yf
|
||||
x.add(newx)
|
||||
y.add(newy)
|
||||
|
||||
if (grid !== null){
|
||||
|
||||
if (grid !== null) {
|
||||
var list = new ArrayList<Vector<Double>>
|
||||
x.forEach[pos | {
|
||||
var nvect = new Vector(2)
|
||||
nvect.add(pos)
|
||||
list.add(nvect)
|
||||
}]
|
||||
y.forEach[pos, i | {
|
||||
var nvect = list.get(i)
|
||||
nvect.add(pos)
|
||||
list.set(i, nvect)
|
||||
}]
|
||||
x.forEach [pos |
|
||||
{
|
||||
var nvect = new Vector(2)
|
||||
nvect.add(pos)
|
||||
list.add(nvect)
|
||||
}
|
||||
]
|
||||
y.forEach [pos, i |
|
||||
{
|
||||
var nvect = list.get(i)
|
||||
nvect.add(pos)
|
||||
list.set(i, nvect)
|
||||
}
|
||||
]
|
||||
grid.setFirePosition(id, parentID, list)
|
||||
}
|
||||
|
||||
|
||||
lifetime = lifetime - 10
|
||||
|
||||
if (lifetime <= 0){
|
||||
|
||||
if (lifetime <= 0) {
|
||||
grid.removeFirePosition(id)
|
||||
this.cleanBeforeExit
|
||||
in(1000)[killMe]
|
||||
}
|
||||
}
|
||||
|
||||
def cleanBeforeExit(){
|
||||
|
||||
def cleanBeforeExit() {
|
||||
cancel(move, true)
|
||||
exited = true
|
||||
destroyed = true
|
||||
}
|
||||
|
||||
|
||||
on Exit [!exited && isFrom(getParentID)] {
|
||||
frozen = true
|
||||
this.cleanBeforeExit
|
||||
emit(new Exit, Scopes.addresses(defaultSpace.getAddress(parentAgent)))
|
||||
killMe
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -21,68 +21,68 @@ import java.util.UUID
|
||||
agent LaunchingArea {
|
||||
uses DefaultContextInteractions, Lifecycle, Behaviors, Logging, InnerContextAccess
|
||||
|
||||
var rocketsQuantity: Integer
|
||||
var fireQuantity: Integer
|
||||
var gravity: Double
|
||||
var grid: Positions = new Positions
|
||||
var rocketsQuantity : Integer
|
||||
var fireQuantity : Integer
|
||||
var gravity : Double
|
||||
var grid : Positions = new Positions
|
||||
var maxWidth = 10.0
|
||||
var exited = false
|
||||
|
||||
|
||||
on SetupSettings {
|
||||
this.rocketsQuantity = occurrence.rocketsQuantity
|
||||
this.fireQuantity = occurrence.fireQuatity
|
||||
this.gravity = occurrence.gravity
|
||||
this.maxWidth = occurrence.maxWidth
|
||||
}
|
||||
|
||||
on Exit [!hasMemberAgent]{
|
||||
|
||||
on Exit [!hasMemberAgent] {
|
||||
killMe
|
||||
}
|
||||
|
||||
|
||||
on Exit [hasMemberAgent && !exited] {
|
||||
exited = true
|
||||
innerContext.defaultSpace.emit(new Exit)
|
||||
}
|
||||
|
||||
on Initialize [ occurrence.parameters.empty ] {
|
||||
|
||||
on Initialize [occurrence.parameters.empty] {
|
||||
rocketsQuantity = 20
|
||||
fireQuantity = 30
|
||||
gravity = 0.5
|
||||
|
||||
|
||||
info("Setup Area")
|
||||
|
||||
|
||||
}
|
||||
|
||||
on Initialize [ !occurrence.parameters.empty ]{
|
||||
|
||||
on Initialize [!occurrence.parameters.empty] {
|
||||
var ctrl = occurrence.parameters.get(0) as FXMLViewerController
|
||||
var ^space = defaultContext.createSpace(OpenEventSpaceSpecification, UUID.randomUUID)
|
||||
ctrl.setGUISpace(^space)
|
||||
^space.register(asEventListener)
|
||||
|
||||
|
||||
ctrl.listenAndDraw(grid)
|
||||
|
||||
|
||||
info("Setup Area")
|
||||
|
||||
}
|
||||
|
||||
|
||||
on CreateArea {
|
||||
var x: Double
|
||||
var i=0
|
||||
var x : Double
|
||||
var i = 0
|
||||
var rnd = new Random()
|
||||
while (i<rocketsQuantity){
|
||||
while (i < rocketsQuantity) {
|
||||
x = rnd.nextDouble() * maxWidth
|
||||
spawnInContext(RocketLauncher, getInnerContext, x, 0.0, fireQuantity, gravity, grid)
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
on Freeze[!isFromMe(occurrence)] {
|
||||
|
||||
on Freeze [!isFromMe(occurrence)] {
|
||||
innerContext.defaultSpace.emit(occurrence)
|
||||
}
|
||||
|
||||
on MemberJoined [ occurrence.inInnerDefaultSpace && memberAgentCount == rocketsQuantity]{
|
||||
on MemberJoined [occurrence.inInnerDefaultSpace && memberAgentCount == rocketsQuantity] {
|
||||
info("Area Ready")
|
||||
innerContext.defaultSpace.emit(new Launch)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -21,8 +21,9 @@ import java.util.UUID
|
||||
import java.util.Vector
|
||||
|
||||
agent Rocket {
|
||||
|
||||
|
||||
uses Lifecycle, Logging, Schedules, Behaviors, DefaultContextInteractions, InnerContextAccess
|
||||
|
||||
var x : Double
|
||||
var y : Double
|
||||
var gravity : Double
|
||||
@ -31,26 +32,26 @@ agent Rocket {
|
||||
var fireQuantity : Integer
|
||||
var lifetime : Integer
|
||||
var frozen = false
|
||||
var exploded = false
|
||||
var exploded = false
|
||||
var exited = false
|
||||
var grid: Positions
|
||||
var id: UUID
|
||||
var move: AgentTask
|
||||
|
||||
on Exit [!hasMemberAgent]{
|
||||
var grid : Positions
|
||||
var id : UUID
|
||||
var move : AgentTask
|
||||
|
||||
on Exit [!hasMemberAgent] {
|
||||
emit(new Exit)
|
||||
killMe
|
||||
}
|
||||
|
||||
on Exit [hasMemberAgent && !exited]{
|
||||
|
||||
on Exit [hasMemberAgent && !exited] {
|
||||
exploded = true
|
||||
frozen = true
|
||||
exited = true
|
||||
cancel(move, true)
|
||||
|
||||
|
||||
innerContext.defaultSpace.emit(new Exit)
|
||||
}
|
||||
|
||||
|
||||
on Freeze {
|
||||
this.frozen = occurrence.value
|
||||
if (frozen)
|
||||
@ -58,11 +59,11 @@ agent Rocket {
|
||||
if (!frozen)
|
||||
wake(new UpdateRocketPosition)
|
||||
}
|
||||
|
||||
|
||||
on Initialize {
|
||||
info("New rocket launched")
|
||||
var rnd = new Random()
|
||||
if (occurrence.parameters.size.equals(7)){
|
||||
if (occurrence.parameters.size.equals(7)) {
|
||||
x = occurrence.parameters.get(0) as Double
|
||||
y = occurrence.parameters.get(1) as Double
|
||||
speedx = occurrence.parameters.get(2) as Double
|
||||
@ -75,12 +76,16 @@ agent Rocket {
|
||||
}
|
||||
lifetime = rnd.nextInt(5) * 300 + 300
|
||||
id = UUID.randomUUID
|
||||
|
||||
move = atFixedDelay(30)[try{
|
||||
wake(new UpdateRocketPosition);}
|
||||
catch(e: Exception) {e.printStackTrace}]
|
||||
|
||||
move = atFixedDelay(30) [
|
||||
try {
|
||||
wake(new UpdateRocketPosition);
|
||||
} catch (e : Exception) {
|
||||
e.printStackTrace
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
on UpdateRocketPosition [isFromMe(occurrence) && !frozen && !exploded] {
|
||||
var vect = new Vector(2)
|
||||
x = x + speedx
|
||||
@ -89,32 +94,32 @@ agent Rocket {
|
||||
vect.add(x)
|
||||
vect.add(y)
|
||||
lifetime = lifetime - 10
|
||||
if (grid!==null)
|
||||
if (grid !== null)
|
||||
grid.setRocketPosition(id, vect)
|
||||
if (lifetime <= 0){
|
||||
if (lifetime <= 0) {
|
||||
exploded = true
|
||||
cancel(move, true)
|
||||
grid.hideHocketPosition(id)
|
||||
wake(new Explode)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
on Explode {
|
||||
for (var i=0; i < fireQuantity; i++){
|
||||
for (var i = 0; i < fireQuantity; i++) {
|
||||
spawnInContext(Fire, innerContext, x, y, grid, id)
|
||||
}
|
||||
// emit(new Launch)
|
||||
// emit(new Launch)
|
||||
}
|
||||
|
||||
on MemberLeft [!isFromMe(occurrence) && !frozen && !hasMemberAgent] {
|
||||
exited = true
|
||||
grid.removeRocketPosition(id)
|
||||
// emit(new Launch)
|
||||
// emit(new Launch)
|
||||
killMe
|
||||
}
|
||||
|
||||
on MemberJoined [!isFromMe(occurrence) && hasMemberAgent && memberAgentCount == fireQuantity]{
|
||||
|
||||
on MemberJoined [!isFromMe(occurrence) && hasMemberAgent && memberAgentCount == fireQuantity] {
|
||||
innerContext.defaultSpace.emit(new FireReady)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -14,21 +14,21 @@ import io.sarl.demos.fireworks.events.Launch
|
||||
import io.sarl.demos.fireworks.events.RocketReady
|
||||
|
||||
agent RocketLauncher {
|
||||
|
||||
|
||||
uses Logging, Behaviors, DefaultContextInteractions, InnerContextAccess, Lifecycle
|
||||
|
||||
var x: Double
|
||||
var y: Double
|
||||
|
||||
var x : Double
|
||||
var y : Double
|
||||
var fireQuantity : Integer
|
||||
var gravity : Double
|
||||
var grid: Positions
|
||||
var grid : Positions
|
||||
var exited = false
|
||||
|
||||
|
||||
on Exit [!hasMemberAgent] {
|
||||
emit(new Exit)
|
||||
killMe
|
||||
}
|
||||
|
||||
|
||||
on Exit [hasMemberAgent && !exited] {
|
||||
exited = true
|
||||
innerContext.defaultSpace.emit(new Exit)
|
||||
@ -40,11 +40,11 @@ agent RocketLauncher {
|
||||
fireQuantity = occurrence.parameters.get(2) as Integer
|
||||
gravity = occurrence.parameters.get(3) as Double
|
||||
grid = occurrence.parameters.get(4) as Positions
|
||||
|
||||
|
||||
info("New rocket launcher created")
|
||||
}
|
||||
|
||||
on Initialize [occurrence.parameters.empty]{
|
||||
|
||||
on Initialize [occurrence.parameters.empty] {
|
||||
x = 0.0
|
||||
y = 0.0
|
||||
fireQuantity = 30
|
||||
@ -54,19 +54,19 @@ agent RocketLauncher {
|
||||
info("New rocket launcher created")
|
||||
emit(new RocketReady)
|
||||
}
|
||||
|
||||
|
||||
on Launch {
|
||||
var vx = Math.random() * 2.0
|
||||
var vy = Math.random() * 5.5 + 2.0
|
||||
spawnInContext(Rocket, getInnerContext, x, y, vx, vy, gravity, fireQuantity, grid)
|
||||
}
|
||||
|
||||
on Freeze[!isFromMe(occurrence)] {
|
||||
|
||||
on Freeze [!isFromMe(occurrence)] {
|
||||
innerContext.defaultSpace.emit(occurrence)
|
||||
}
|
||||
|
||||
on MemberLeft [!isFromMe(occurrence) && !exited]{
|
||||
|
||||
on MemberLeft [!isFromMe(occurrence) && !exited] {
|
||||
wake(new Launch)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ event SetupSettings {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
event Freeze {
|
||||
var value : boolean
|
||||
|
||||
@ -44,6 +43,3 @@ event Freeze {
|
||||
this.value = value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -23,29 +23,26 @@ import javafx.util.Duration
|
||||
|
||||
class FXMLViewerController implements EventListener {
|
||||
|
||||
private var ispace : OpenEventSpace;
|
||||
private val id : UUID = UUID.randomUUID();
|
||||
|
||||
private var ispace : OpenEventSpace;
|
||||
private var launched : boolean = false;
|
||||
private var areaCreated : boolean = false;
|
||||
|
||||
@FXML
|
||||
private var draw_zone : Canvas;
|
||||
|
||||
@FXML
|
||||
private var gravity_display : Label;
|
||||
@FXML
|
||||
private var rocket_quantity_display : Label;
|
||||
@FXML
|
||||
private var fire_quantity_display : Label;
|
||||
|
||||
@FXML
|
||||
private var gravity_input : ScrollBar;
|
||||
@FXML
|
||||
private var rocket_quantity_input : ScrollBar;
|
||||
@FXML
|
||||
private var fire_quantity_input : ScrollBar;
|
||||
|
||||
@FXML
|
||||
private var setup_button : Button;
|
||||
@FXML
|
||||
|
Loading…
Reference in New Issue
Block a user