From 3222df425660bcb6d99af3c4f9edf7bd47048c72 Mon Sep 17 00:00:00 2001 From: philippe lhardy Date: Sat, 2 Dec 2017 18:22:30 +0100 Subject: [PATCH] left button : open a path right button : open only this path ( close other ways ). --- java/org/artisanlogiciel/games/Display.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/java/org/artisanlogiciel/games/Display.java b/java/org/artisanlogiciel/games/Display.java index 1b3587f..3945da5 100644 --- a/java/org/artisanlogiciel/games/Display.java +++ b/java/org/artisanlogiciel/games/Display.java @@ -12,6 +12,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; +import java.awt.event.InputEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.io.File; @@ -703,10 +704,18 @@ public class Display extends JFrame } path=LabyModel.getDirection(last.getPosition(),newPosition); last.setDirection(path); - map.addDirection(last.getPosition().getX(),last.getPosition().getY(),path); + // button 1 : add direction; button 2 : replace with direction. + if ( ( e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK ) != 0 ) + { + map.addDirection(last.getPosition().getX(),last.getPosition().getY(),path); + } + else + { + map.setDirection(last.getPosition().getX(),last.getPosition().getY(),path); + } } last = new DirectionPosition((short) 0,newPosition); - System.out.println("Mouse dragged Cell " + newPosition); + System.out.println("Mouse dragged Cell " + newPosition + " Button " + e.getModifiersEx() + " " + InputEvent.BUTTON1_DOWN_MASK); drawingPath.addLast(last); // map.noWalls(pX,pY); changed(null,null,map); @@ -811,6 +820,7 @@ public class Display extends JFrame public void resetWallsProvider(LabyModel map) { this.map = map; + solvedPath=null; } public void setWallSize(int size)