From 5446859dee2d38faecc2b83c054e8f011f6e5a06 Mon Sep 17 00:00:00 2001 From: loic Date: Thu, 22 Sep 2016 20:00:51 +0200 Subject: Begin javafx --- src/main/java/adapter/IModelAdapter.java | 12 +++++ src/main/java/adapter/ModelAdapter.java | 80 ++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 src/main/java/adapter/IModelAdapter.java create mode 100644 src/main/java/adapter/ModelAdapter.java (limited to 'src/main/java/adapter') diff --git a/src/main/java/adapter/IModelAdapter.java b/src/main/java/adapter/IModelAdapter.java new file mode 100644 index 0000000..86139ee --- /dev/null +++ b/src/main/java/adapter/IModelAdapter.java @@ -0,0 +1,12 @@ +package adapter; + +/** + * Created by loic on 21/09/16. + */ +public interface IModelAdapter { + void goUp(); + void goDown(); + void goLeft(); + void goRight(); + boolean isLoosed(); +} diff --git a/src/main/java/adapter/ModelAdapter.java b/src/main/java/adapter/ModelAdapter.java new file mode 100644 index 0000000..1eac58a --- /dev/null +++ b/src/main/java/adapter/ModelAdapter.java @@ -0,0 +1,80 @@ +package adapter; + +import model.Board; +import observer.IObservable; +import observer.IObserver; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Iterator; + +/** + * Created by loic on 21/09/16. + */ +public class ModelAdapter implements IModelAdapter, IObservable{ + + private Board model; + private Collection observers; + + public ModelAdapter(Board model){ + this.model=model; + observers = new ArrayList(); + } + + @Override + public void goUp() { + model.goUp(); + model.addRandomNumber(); + this.notifyObservers(); + } + + @Override + public void goDown() { + model.goDown(); + model.addRandomNumber(); + this.notifyObservers(); + } + + @Override + public void goLeft() { + model.goLeft(); + model.addRandomNumber(); + this.notifyObservers(); + } + + @Override + public void goRight() { + model.goRight(); + model.addRandomNumber(); + this.notifyObservers(); + } + + + @Override + public boolean isLoosed() { + return this.model.isLoosed(); + } + + public void addRandomNumber() { + this.model.addRandomNumber(); + this.notifyObservers(); + } + + @Override + public void addObserver(IObserver observer) { + this.observers.add(observer); + } + + @Override + public void removeObserver(IObserver observer) { + this.observers.remove(observer); + } + + @Override + public void notifyObservers() { + Iterator i=this.observers.iterator(); + while(i.hasNext()){ + i.next().update(); + } + } +} -- cgit v1.2.3