diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cefb93771a0d7f1e6ab8443aa16f38ba8025dcdb
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager">
+    <output url="file://$PROJECT_DIR$/classes" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2eabb5da148991ba8a094287a743b677449c96dd
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/acl-project.iml" filepath="$PROJECT_DIR$/acl-project.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.project b/.project
deleted file mode 100644
index a4877dbb300151913544ff1db8998950a990c1eb..0000000000000000000000000000000000000000
--- a/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>acl-project</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/Cyberpac2077JavaProject/.classpath b/Cyberpac2077JavaProject/.classpath
deleted file mode 100644
index fb5011632c0ab8d6649a148c6fb5845a1b34c747..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/Cyberpac2077JavaProject/.gitignore b/Cyberpac2077JavaProject/.gitignore
deleted file mode 100644
index ae3c1726048cd06b9a143e0376ed46dd9b9a8d53..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin/
diff --git a/Cyberpac2077JavaProject/.project b/Cyberpac2077JavaProject/.project
deleted file mode 100644
index 12779fb2d73c166f11b901674b97d6b41e7c4596..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>Cyberpac2077JavaProject</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/Cyberpac2077JavaProject/src/engine/Cmd.java b/Cyberpac2077JavaProject/src/engine/Cmd.java
deleted file mode 100644
index 5dac240f1f1bba481bded682140b348cfaf65ba6..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/Cmd.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package engine;
-
-/**
- * @author Horatiu Cirstea
- *
- */
-public enum Cmd {
-	 LEFT,RIGHT,UP,DOWN,IDLE; 
-}
diff --git a/Cyberpac2077JavaProject/src/engine/DrawingPanel.java b/Cyberpac2077JavaProject/src/engine/DrawingPanel.java
deleted file mode 100644
index 9586bce41c8b8c519d0a4c541a0f1df1d3f2950c..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/DrawingPanel.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package engine;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- */
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.image.BufferedImage;
-
-import javax.swing.JPanel;
-
-public class DrawingPanel extends JPanel {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * la clase chargee de Dessiner
-	 */
-	private GamePainter painter;
-
-	/**
-	 * image suivante est l'image cachee sur laquelle dessiner
-	 */
-	private BufferedImage nextImage;
-
-	/**
-	 * image en cours est l'image entrain d'etre affichee
-	 */
-	private BufferedImage currentImage;
-
-	/**
-	 * la taille des images
-	 */
-	private int width, height;
-
-	/**
-	 * constructeur Il construit les images pour doublebuffering ainsi que le
-	 * Panel associe. Les images stockent le painter et on demande au panel la
-	 * mise a jour quand le painter est fini
-	 * 
-	 * @param width
-	 *            largeur de l'image
-	 * @param height
-	 *            hauteur de l'image
-	 */
-	public DrawingPanel(GamePainter painter) {
-		super();
-		this.width = painter.getWidth();
-		this.height = painter.getHeight();
-		this.setPreferredSize(new Dimension(this.width, this.height));
-		this.painter=painter;
-
-		// cree l'image buffer et son graphics
-		this.nextImage = new BufferedImage(width, height,
-				BufferedImage.TYPE_INT_RGB);
-		this.currentImage = new BufferedImage(width, height,
-				BufferedImage.TYPE_INT_RGB);
-	}
-
-	/**
-	 * demande de mettre a jour le rendu de l'image sur le Panel. Creer une
-	 * nouvelle image vide sur laquelle dessiner
-	 */
-	public void drawGame() {
-		// generer la nouvelle image
-		this.painter.draw(this.nextImage);
-
-		// inverses les images doublebuffereing
-		BufferedImage temp = this.currentImage;
-		// l'image a dessiner est celle qu'on a construite
-		this.currentImage = this.nextImage;
-		// l'ancienne image est videe
-		this.nextImage = temp;
-		this.nextImage.getGraphics()
-				.fillRect(0, 0, this.width, this.height);
-		// met a jour l'image a afficher sur le panel
-		this.repaint();
-	}
-
-	/**
-	 * redefinit la methode paint consiste a dessiner l'image en cours
-	 * 
-	 * @param g
-	 *            graphics pour dessiner
-	 */
-	public void paint(Graphics g) {
-		super.paint(g);
-		g.drawImage(this.currentImage, 0, 0, getWidth(), getHeight(), 0, 0,
-				getWidth(), getHeight(), null);
-	}
-
-}
diff --git a/Cyberpac2077JavaProject/src/engine/Game.java b/Cyberpac2077JavaProject/src/engine/Game.java
deleted file mode 100644
index 12005596b711bcf72fcc217fd91a57fe0b3998db..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/Game.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package engine;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- *         un jeu qui peut evoluer (avant de se terminer) sur un plateau width x
- *         height
- */
-public interface Game {
-
-	/**
-	 * methode qui contient l'evolution du jeu en fonction de la commande
-	 * 
-	 * @param userCmd
-	 *            commande utilisateur
-	 */
-	public void evolve(Cmd userCmd);
-
-	/**
-	 * @return true si et seulement si le jeu est fini
-	 */
-	public boolean isFinished();
-
-}
diff --git a/Cyberpac2077JavaProject/src/engine/GameController.java b/Cyberpac2077JavaProject/src/engine/GameController.java
deleted file mode 100644
index 461a610c19b38db3408f0f2de88470771e19a300..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/GameController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package engine;
-
-import java.awt.event.KeyListener;
-
-/**
- * @author Horatiu Cirstea
- * 
- * controleur qui envoie des commandes au jeu 
- * 
- */
-public interface GameController extends KeyListener {
-
-	/**
-	 * quand on demande les commandes, le controleur retourne la commande en
-	 * cours
-	 * 
-	 * @return commande faite par le joueur
-	 */
-	public Cmd getCommand();
-
-}
diff --git a/Cyberpac2077JavaProject/src/engine/GameEngineGraphical.java b/Cyberpac2077JavaProject/src/engine/GameEngineGraphical.java
deleted file mode 100644
index c2d643da69e7822bd42e23e094fd9bf83454cfd9..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/GameEngineGraphical.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package engine;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- * moteur de game generique.
- * On lui passe un game et un afficheur et il permet d'executer un game.
- */
-public class GameEngineGraphical {
-
-	/**
-	 * le game a executer
-	 */
-	private Game game;
-
-	/**
-	 * l'afficheur a utiliser pour le rendu
-	 */
-	private GamePainter gamePainter;
-
-	/**
-	 * le controlleur a utiliser pour recuperer les commandes
-	 */
-	private GameController gameController;
-
-	/**
-	 * l'interface graphique
-	 */
-	private GraphicalInterface gui;
-
-	/**
-	 * construit un moteur
-	 * 
-	 * @param game
-	 *            game a lancer
-	 * @param gamePainter
-	 *            afficheur a utiliser
-	 * @param gameController
-	 *            controlleur a utiliser
-	 *            
-	 */
-	public GameEngineGraphical(Game game, GamePainter gamePainter, GameController gameController) {
-		// creation du game
-		this.game = game;
-		this.gamePainter = gamePainter;
-		this.gameController = gameController;
-	}
-
-	/**
-	 * permet de lancer le game
-	 */
-	public void run() throws InterruptedException {
-
-		// creation de l'interface graphique
-		this.gui = new GraphicalInterface(this.gamePainter,this.gameController);
-
-		// boucle de game
-		while (!this.game.isFinished()) {
-			// demande controle utilisateur
-			Cmd c = this.gameController.getCommand();
-			// fait evoluer le game
-			this.game.evolve(c);
-			// affiche le game
-			this.gui.paint();
-			// met en attente
-			Thread.sleep(100);
-		}
-	}
-
-}
diff --git a/Cyberpac2077JavaProject/src/engine/GamePainter.java b/Cyberpac2077JavaProject/src/engine/GamePainter.java
deleted file mode 100644
index 790d64fa73c1108a3f7535bad11f49392c32ab46..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/GamePainter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package engine;
-
-import java.awt.image.BufferedImage;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- * 
- * represente la maniere de dessiner sur un JPanel
- * 
- */
-public interface GamePainter {
-
-	/**
-	 * methode dessiner a completer. Elle construit une image correspondant au
-	 * jeu. Game est un attribut de l'afficheur
-	 * 
-	 * @param image
-	 *            image sur laquelle dessiner
-	 */
-	public abstract void draw(BufferedImage image);
-
-	public abstract int getWidth();
-
-	public abstract int getHeight();
-	
-}
diff --git a/Cyberpac2077JavaProject/src/engine/GraphicalInterface.java b/Cyberpac2077JavaProject/src/engine/GraphicalInterface.java
deleted file mode 100644
index 19d20bdbefba47579a4f99e24eb200d5cc426b43..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/engine/GraphicalInterface.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package engine;
-
-import javax.swing.JFrame;
-
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- * interface graphique avec son controller et son afficheur
- *
- */
-public class GraphicalInterface  {
-
-	/**
-	 * le Panel pour l'afficheur
-	 */
-	private DrawingPanel panel;
-	
-	/**
-	 * la construction de l'interface graphique: JFrame avec panel pour le game
-	 * 
-	 * @param gamePainter l'afficheur a utiliser dans le moteur
-	 * @param gameController l'afficheur a utiliser dans le moteur
-	 * 
-	 */
-	public GraphicalInterface(GamePainter gamePainter, GameController gameController){
-		JFrame f=new JFrame();
-		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-		
-		// attacher le panel contenant l'afficheur du game
-		this.panel=new DrawingPanel(gamePainter);
-		f.setContentPane(this.panel);
-		
-		// attacher controller au panel du game
-		this.panel.addKeyListener(gameController);	
-		
-		f.pack();
-		f.setVisible(true);
-		f.getContentPane().setFocusable(true);
-		f.getContentPane().requestFocus();
-	}
-	
-	/**
-	 * mise a jour du dessin
-	 */
-	public void paint() {
-		this.panel.drawGame();	
-	}
-	
-}
diff --git a/Cyberpac2077JavaProject/src/model/PacmanController.java b/Cyberpac2077JavaProject/src/model/PacmanController.java
deleted file mode 100644
index a69318e28e39f08f0f0fa7730dcd2dbdd2dca681..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/model/PacmanController.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package model;
-
-import java.awt.event.KeyEvent;
-
-import engine.Cmd;
-import engine.GameController;
-
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- * controleur de type KeyListener
- * 
- */
-public class PacmanController implements GameController {
-
-	/**
-	 * commande en cours
-	 */
-	private Cmd commandeEnCours;
-	
-	/**
-	 * construction du controleur par defaut le controleur n'a pas de commande
-	 */
-	public PacmanController() {
-		this.commandeEnCours = Cmd.IDLE;
-	}
-
-	/**
-	 * quand on demande les commandes, le controleur retourne la commande en
-	 * cours
-	 * 
-	 * @return commande faite par le joueur
-	 */
-	public Cmd getCommand() {
-		return this.commandeEnCours;
-	}
-
-	@Override
-	/**
-	 * met a jour les commandes en fonctions des touches appuyees
-	 */
-	public void keyPressed(KeyEvent e) {
-
-		switch (e.getKeyChar()) {
-		// si on appuie sur 'q',commande joueur est gauche
-		case 'l':
-		case 'L':
-			this.commandeEnCours = Cmd.LEFT;
-			break;
-		}
-
-	}
-
-	@Override
-	/**
-	 * met a jour les commandes quand le joueur relache une touche
-	 */
-	public void keyReleased(KeyEvent e) {
-		this.commandeEnCours = Cmd.IDLE;
-	}
-
-	@Override
-	/**
-	 * ne fait rien
-	 */
-	public void keyTyped(KeyEvent e) {
-
-	}
-
-}
diff --git a/Cyberpac2077JavaProject/src/model/PacmanGame.java b/Cyberpac2077JavaProject/src/model/PacmanGame.java
deleted file mode 100644
index ba44c56d53467fd7cc9931bb3b62785dab1ba7fc..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/model/PacmanGame.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package model;
-
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-
-import engine.Cmd;
-import engine.Game;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- *         Version avec personnage qui peut se deplacer. A completer dans les
- *         versions suivantes.
- * 
- */
-public class PacmanGame implements Game {
-
-	/**
-	 * constructeur avec fichier source pour le help
-	 * 
-	 */
-	public PacmanGame(String source) {
-		BufferedReader helpReader;
-		try {
-			helpReader = new BufferedReader(new FileReader(source));
-			String ligne;
-			while ((ligne = helpReader.readLine()) != null) {
-				System.out.println(ligne);
-			}
-			helpReader.close();
-		} catch (IOException e) {
-			System.out.println("Help not available");
-		}
-	}
-
-	/**
-	 * faire evoluer le jeu suite a une commande
-	 * 
-	 * @param commande
-	 */
-	@Override
-	public void evolve(Cmd commande) {
-		System.out.println("Execute "+commande);
-	}
-
-	/**
-	 * verifier si le jeu est fini
-	 */
-	@Override
-	public boolean isFinished() {
-		// le jeu n'est jamais fini
-		return false;
-	}
-
-}
diff --git a/Cyberpac2077JavaProject/src/model/PacmanPainter.java b/Cyberpac2077JavaProject/src/model/PacmanPainter.java
deleted file mode 100644
index 9f33ee42e6954c893e3971105e18bc59c52e7870..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/model/PacmanPainter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package model;
-
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.image.BufferedImage;
-
-import engine.GamePainter;
-
-/**
- * @author Horatiu Cirstea, Vincent Thomas
- *
- * afficheur graphique pour le game
- * 
- */
-public class PacmanPainter implements GamePainter {
-
-	/**
-	 * la taille des cases
-	 */
-	protected static final int WIDTH = 100;
-	protected static final int HEIGHT = 100;
-
-	/**
-	 * appelle constructeur parent
-	 * 
-	 * @param game
-	 *            le jeutest a afficher
-	 */
-	public PacmanPainter() {
-	}
-
-	/**
-	 * methode  redefinie de Afficheur retourne une image du jeu
-	 */
-	@Override
-	public void draw(BufferedImage im) {
-		Graphics2D crayon = (Graphics2D) im.getGraphics();
-		crayon.setColor(Color.blue);
-		crayon.fillOval(0,0,10,10);
-	}
-
-	@Override
-	public int getWidth() {
-		return WIDTH;
-	}
-
-	@Override
-	public int getHeight() {
-		return HEIGHT;
-	}
-
-}
diff --git a/Cyberpac2077JavaProject/src/start/Main.java b/Cyberpac2077JavaProject/src/start/Main.java
deleted file mode 100644
index f75076d011d5a8c067277ccf675dc1be66fd5e64..0000000000000000000000000000000000000000
--- a/Cyberpac2077JavaProject/src/start/Main.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package start;
-
-import model.PacmanPainter;
-import engine.GameEngineGraphical;
-import model.PacmanController;
-import model.PacmanGame;
-
-/**
- * lancement du moteur avec le jeu
- */
-public class Main {
-
-	public static void main(String[] args) throws InterruptedException {
-
-		// creation du jeu particulier et de son afficheur
-		PacmanGame game = new PacmanGame("helpFilePacman.txt");
-		PacmanPainter painter = new PacmanPainter();
-		PacmanController controller = new PacmanController();
-
-		// classe qui lance le moteur de jeu generique
-		GameEngineGraphical engine = new GameEngineGraphical(game, painter, controller);
-		engine.run();
-	}
-
-}
diff --git a/acl-project.iml b/acl-project.iml
new file mode 100644
index 0000000000000000000000000000000000000000..48426fcce918b28a721230cc9a22a71d40ba14f5
--- /dev/null
+++ b/acl-project.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <output url="file://$MODULE_DIR$/bin" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file