From 9aa926644a82509289500e02b09d8adf67370895 Mon Sep 17 00:00:00 2001 From: LeonardoBizzoni Date: Thu, 17 Jun 2021 18:19:09 +0200 Subject: [PATCH] Changed UI and added ability to delete nodes --- src/main/java/Main/App.java | 2 +- src/main/java/Main/Map.java | 106 +++++++++++++----- src/main/java/Main/PathfinderUtils.java | 22 ++++ target/PathVisualizer-1.0-SNAPSHOT.jar | Bin 5001 -> 6161 bytes target/classes/Main/Map.class | Bin 4174 -> 4841 bytes target/classes/Main/PathfinderUtils.class | Bin 0 -> 975 bytes .../compile/default-compile/createdFiles.lst | 1 + .../compile/default-compile/inputFiles.lst | 1 + target/surefire-reports/Main.AppTest.txt | 2 +- target/surefire-reports/TEST-Main.AppTest.xml | 8 +- 10 files changed, 107 insertions(+), 35 deletions(-) create mode 100644 src/main/java/Main/PathfinderUtils.java create mode 100644 target/classes/Main/PathfinderUtils.class diff --git a/src/main/java/Main/App.java b/src/main/java/Main/App.java index 5e562da..5d955ba 100644 --- a/src/main/java/Main/App.java +++ b/src/main/java/Main/App.java @@ -5,5 +5,5 @@ public class App { public static void main(String[] args) { new Map(); } - + } diff --git a/src/main/java/Main/Map.java b/src/main/java/Main/Map.java index 4c24ad5..912cf19 100644 --- a/src/main/java/Main/Map.java +++ b/src/main/java/Main/Map.java @@ -15,6 +15,7 @@ package Main; import javax.swing.JFrame; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.SwingUtilities; @@ -23,8 +24,6 @@ import java.awt.Graphics; import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; -import java.util.ArrayList; -import java.util.List; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; @@ -33,16 +32,14 @@ class Map extends JPanel implements MouseListener, MouseMotionListener, KeyListe private int size = 30; private char key = (char) 0; - private Node startNode, endNode; - private List barriers = new ArrayList<>(); - public Map() { + this.setBackground(new Color(40, 40, 40)); addMouseListener(this); addKeyListener(this); setFocusable(true); addMouseMotionListener(this); - // Settings up the window + // Setting up the window window = new JFrame(); window.setContentPane(this); window.setTitle("Pathfinding Algorithm Visualizer"); @@ -58,7 +55,7 @@ class Map extends JPanel implements MouseListener, MouseMotionListener, KeyListe super.paintComponent(g); // Draws the grid - g.setColor(Color.lightGray); + g.setColor(new Color(50, 48, 47)); for (int i = 0; i < this.getWidth(); i += size) { for (int j = 0; j < this.getHeight(); j += size) { g.drawRect(i, j, size, size); @@ -66,65 +63,116 @@ class Map extends JPanel implements MouseListener, MouseMotionListener, KeyListe } // Draws start node - if (startNode != null) { + if (PathfinderUtils.startNode != null) { g.setColor(new Color(117, 110, 202)); - g.fillRect(startNode.getX() + 1, startNode.getY() + 1, size - 1, size - 1); + g.fillRect(PathfinderUtils.startNode.getX() + 1, PathfinderUtils.startNode.getY() + 1, size - 1, size - 1); } // Draws end node - if (endNode != null) { + if (PathfinderUtils.endNode != null) { g.setColor(new Color(204, 36, 29)); - g.fillRect(endNode.getX() + 1, endNode.getY() + 1, size - 1, size - 1); + g.fillRect(PathfinderUtils.endNode.getX() + 1, PathfinderUtils.endNode.getY() + 1, size - 1, size - 1); } // Draws barrier nodes - g.setColor(new Color(40, 40, 40)); - for (Node node : barriers) { + g.setColor(new Color(235, 219, 178)); + for (Node node : PathfinderUtils.barriers) { g.fillRect(node.getX() + 1, node.getY() + 1, size - 1, size - 1); } } // Drawing on the grid public void mapDrawing(MouseEvent e) { + // Creating nodes if (SwingUtilities.isLeftMouseButton(e)) { if (key == 's') { - int posX = e.getX() % size; - int posY = e.getY() % size; + int posX = e.getX() - (e.getX() % size); + int posY = e.getY() - (e.getY() % size); + + // TODO fa cagare + // Checks if start node and end node are the same + if (PathfinderUtils.endNode != null) { + if (PathfinderUtils.endNode.getX() == posX && PathfinderUtils.endNode.getY() == posY) { + JOptionPane.showMessageDialog(null, "End node and start node can't be the same node", "Same node error", JOptionPane.ERROR_MESSAGE); + return; + } + } - if (startNode == null) { - startNode = new Node(e.getX() - posX, e.getY() - posY); + if (PathfinderUtils.startNode == null) { + PathfinderUtils.startNode = new Node(posX, posY); } else { - startNode.setX(e.getX() - posX); - startNode.setY(e.getY() - posY); + PathfinderUtils.startNode.setX(posX); + PathfinderUtils.startNode.setY(posY); } repaint(); } else if (key == 'e') { - int posX = e.getX() % size; - int posY = e.getY() % size; + int posX = e.getX() - (e.getX() % size); + int posY = e.getY() - (e.getY() % size); + + // TODO fa cagare + // Checks if end node and start node are the same + if (PathfinderUtils.startNode != null) { + if (PathfinderUtils.startNode.getX() == posX && PathfinderUtils.startNode.getY() == posY) { + JOptionPane.showMessageDialog(null, "End node and start node can't be the same node!", "SAME NODE ERROR", JOptionPane.ERROR_MESSAGE); + return; + } + } - if (endNode == null) { - endNode = new Node(e.getX() - posX, e.getY() - posY); + if (PathfinderUtils.endNode == null) { + PathfinderUtils.endNode = new Node(posX, posY); } else { - endNode.setX(e.getX() - posX); - endNode.setY(e.getY() - posY); + PathfinderUtils.endNode.setX(posX); + PathfinderUtils.endNode.setY(posY); } repaint(); } else { - int posX = e.getX() % size; - int posY = e.getY() % size; + int posX = e.getX() - (e.getX() % size); + int posY = e.getY() - (e.getY() % size); + Node barrierNode = new Node(posX, posY); + + // TODO controlla se si sta creando una barriera su start o end + + + PathfinderUtils.barriers.add(barrierNode); + + repaint(); + } + } - barriers.add(new Node(e.getX() - posX, e.getY() - posY)); + // Deleting nodes + else if (SwingUtilities.isRightMouseButton(e)) { + int posX = e.getX() - (e.getX() % size); + int posY = e.getY() - (e.getY() % size); + if (key == 's' && PathfinderUtils.startNode != null) { + if (PathfinderUtils.startNode.getX() == posX && PathfinderUtils.startNode.getY() == posY) { + PathfinderUtils.startNode = null; + repaint(); + } + } + + else if (key == 'e' && PathfinderUtils.endNode != null) { + if (PathfinderUtils.endNode.getX() == posX && PathfinderUtils.endNode.getY() == posY) { + PathfinderUtils.endNode = null; + repaint(); + } + } + + else { + int nodeID = PathfinderUtils.locate(posX, posY); + + if (nodeID != -1) { + PathfinderUtils.remove(nodeID); + } repaint(); } } - // TODO cancellare le barriere col tasto destro del mouse } @Override diff --git a/src/main/java/Main/PathfinderUtils.java b/src/main/java/Main/PathfinderUtils.java new file mode 100644 index 0000000..5604538 --- /dev/null +++ b/src/main/java/Main/PathfinderUtils.java @@ -0,0 +1,22 @@ +package Main; + +import java.util.ArrayList; +import java.util.List; + +public class PathfinderUtils { + static List barriers = new ArrayList<>(); + static Node startNode, endNode; + + static int locate(int x, int y) { + for (int i = 0; i < barriers.size(); i++) { + if(barriers.get(i).getX() == x && barriers.get(i).getY() == y) + return i; + } + + return -1; + } + + static void remove(int id) { + barriers.remove(id); + } +} diff --git a/target/PathVisualizer-1.0-SNAPSHOT.jar b/target/PathVisualizer-1.0-SNAPSHOT.jar index 406f8f9e75a312c81d28476fbb9aec14cf315f67..bf40587b1fa9d81903156ac14c690018aa04c22a 100644 GIT binary patch delta 3489 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 D0J2)P delta 2344 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 I22|YgAN9^<-2eap diff --git a/target/classes/Main/Map.class b/target/classes/Main/Map.class index 34b60c569609036a36cd3e93f5622594ea220224..d1fe5a22435903ecc65abdb02597ee593dc34156 100644 GIT binary patch literal 4841 zcmb7`d303u6~{j}Gh`-{2U%n%kpZD36G*I}wgj+{1PCMq0tSLsd1QV}UNV^p^Ij4H zxK(Y%w${29vB2~*)nlTmikt>vFdX?Gd zRHt*uIsdco7F`UR;Ga_3nw%UK|J%F0^=Z%sU`0(cl>P(*Pa!Z?GGjMA$K z1_c!Qm?VtK8d4LF#uEW1QmQ4+7IMq#>+8!~0ti8aDNGec+R9mEwsl4l@t#;%IIGOH z&<%+zU!6KX&0soT6AI06__QDiQwE8gA&O~$GJ|qL!YDHwJ}owrKPNtjofe*HFpEmT zu$8ko-qvHA8>33_maR`&cdo(LIZqgyvF`K)2{S&Y#C78IW7Xv?KIRN97B@!$W-~?y z`a*+z488rP!Cb0^QMPhw;xR|X99>t!xIwx!!?a>bWBZve1Xr3)`z9+EwqlXs!e}I( zu$=a;V2fq!+aJyEA78n;zbw@R40Om&>xtj}hN!BUC^Z@1ajsWmM#Sgr#bu$9wd+1AFW($&#u zutJ{;Bvh{%wZf+3l2;n6(qvykb(>bq5egctm|D@(wNWM3q;gW+5N|W1EoQ>f`!vz( zv|F|iXvj3Bj++Zn6YuJd$CSnzJ1A~T5@vV1)n>asdT2FhVQqj*__mKrg`#YYXAT-% zrpsAJEM4}Ou))A&qu>uG%)VyT<_JFB0qGV98z?pjc@gC-RaT_kaa*lk2cX@+(ma1e zIcu%3)1F5sT|T11XxE2K8dc(A$BNnpG2%j=?U)H?MLev8{FJkLQypM4wvU96=Spj$ zful8eBg$E)`Mm~x8A7XewclW?YyKuH8r9}&8@3xe|5J7!yFquHGbm?N({( z)@`qck-^V-R4B6B<9&_Fw#|sDwajQdBFq~UtZWljr*bejZG$N3vE#PSW`3zJmB)k; zWvPbR%z(juJ&C+_x}*;pBr}9oKZk{?|Ih6yevWFt7dF-fS2Weu1?!rdo0@ekKVk4B zPYE6~93CoIZZzIzIx6i=y=Fac@Palz zH=(-Xz4~@m!lYA0IyATX8t;zV>r$^)AwS)Ysd132lU-jc1Ugm!%7n6Q6&6YcWg!K) zT=kzS*f)90$8Xd59rT%!Ib`rQ?+Ag2a+a(9nszhcj<6bG!capqBGp2Er|NH3QDwR& z7+w0CCvB0QeIFS7gq@OR)F#YGM4RgGRQ+rEyY(_9QWLe>I`wv>i!cOc23?hY|S5!$Xd~bAcTFx#PYICq7MAJXAxe@=4uz7OqyJ`vyh$qbsw#Ah z*{z2-{~#BH4sbyz$v5=7cwUkPdXbxCk$xvxtY6+F^`RsUp(IU@yB0MAizx!m!Ap<; zQz&2>L8j|3Cqm4iiZbR4bFuu^ZvE)6 zcZcU!B-yK<)OLZJgDC@Uz)N;B&RzAC?q;ME|E%}{&tV>Xe1MMUDL%&L){@dg{9->H z`zRWqqa=yul_oi$Yk8k6bCs&EptR$JR;sHbrL-fNQF^HONLuN()0J*>m2OKZ-Ii6# z+h6Wr*6g|70j`|jJ;JdZ*1GnxtKu+E@8s4mN6197%&qgOS+g%qm38TEnq@y7Daa+6 z5R|!*otlkoWj3R$L*6S+yIbF-9li_GM9nav%th&yE!J7ojA#NjU4 z!rii+d*mv1%T4T&`?yaYV6QyP{qiUe$^jmhqdX!{^Qb(_V{UhB)pJ>nXS?G#FY*%N z`uMWj9hEHS6}LNXV||*oH$xLBPtl}+iK%lkkpf;Nj#n0OO`5xkM4Eem0$yVj-gJ+R z{ETLi(Ifvu?q@7ZujabMS)WoQ|Hgyx8(vS}5(~*82gnOmBzfZ?<4=w6fXg_5pQP*D z*wn#{bL8T@lh_{A;_{;DR?+yd;k(-CV{tvXUgp~jQ literal 4174 zcma)-{c}{+8OJ{-yV*@P7YrcCOCljf47*4`QIU`!hJb+tF#$Aam7DCz=910b?Y%dI zP;G6sw$)Z`>uYVTTH5rz#U>k(YOSqWtu51;{^GCgjDLbNMXjCZ+|4EgXgWLloadb9 zIp62?JonxIyz&}w4QCQ;q`#64WP}XFaS}wslOqW>FeoG|WJrh`CzqfqRLBeWxe7d4 zeIbF6VIfCFdql`FF)><6Eyojlo_pl%ULjwQ?H9%DeQ~~&pq4KuSi}879uV1AMD}16 zU*&66+{)L5JQU~Q1mEDB2_6yEM?`fEj|zEA$hSoQ+X=qI<6`8AI8VlTD$dh!o{95a zMQp@z)437Fr5#7?qxP{zf5dS!jk|Yx_Kt# zNfF!XxK7Zbh%~G{sED>2yO(r0uHHL5)T_Pyc5hZI7Ix(N?Ce3?b7WsUj0OXauSkTL zop!!SF+XoRZqS+=%I93|28tyOp$qm%(74O9^8-$w-z2uw5ruLTQPo#GHrD#6q->%HkqflD0V%pGo zHx!9MJ-W}+zOU1Yn)A^2=+SBHWwVh=QbpCE9_`XuZ5tqKNW3cHhT9#Uoymxqia|ZP ze>5*_C~3_)eS@-{XYS3$X>$YZiMYy$+m1Pb>=I_znLBDW-ML|}Pw#Z3f)$;1e!aAz z#Z9zYT+e2U8`z>)B&T5qZTCETRNBa*g>4q!rP+pB)VJJ8s%>Gj-dunVjbY14DHO9e>!)I>)tV@ngm;e!@>JekPv$T%dm;+%JW+ zv)kfV{5sBWEKc&0#cvt6m=IE6(xQp2iuuNAX{y#-Hs?uDFI$`vrB{TU7R_e1#`&Ga ztGs6MdtSHr18*oQORp-MV>xHA_xId@uV`7EV9+SDUNFsTnK)gEZi4sxEN+D@lU z!%u^(I!j^KE8?Cub4*d0but6N zF3%n<&Dv7aH7OR9$~86HlyT8CrDD-Jab$DF7&1Dz%}ECXX6&{rDlMcT7R zx^!Qlh&Qyiw;P9J!WqvqI*?J8(Ls-*qTk78L*4K_ls*HB3a8W|OB&XOQ_6^^I!C@J z1Gc|c9}A2hhh!9+&81WNCbPHn9?^aBT`{dW^%3iq*?S;xvQFS=U$MaPJ9K|wDtyy$ z5J zQlMIxSb+ty7FZ}tw7{ZdflHGG7N0bJv;jL=09;9wRV1kA60Tr54Xk7>t4Xq!6zf^f z4K%Wy4eVwkU0h8M*I;ukn(J`5o}GXdM!_y_29yltFhcbzF`}Si$8tfqSL+KGxEh*k zkY9KuIZo^ppHXzKJH=|nGpt*8iYpYavu1DVDg$=ag^Y^H^qXrrB-+`%sHWe*R~!IO0IGPm*$U3@^dDr3JY=YXleCdye#9edbJ zg!ycugUyuj0X1~8m59`!SRdi`atn%mzzQlpX1@BEN_Cc%XQ|w>~0772ajN7JO zPguWRmI6J*IYc#gu$((t&0VCpn>K8^=;dxSee~1M0682+Il}#9d59rSkmDqIUc=`N z0^VeVGaTc6j`Jb+aF+W_UAw4YIqmE>)m+Us4wwp$md@@kot+_7)O(**MLqavs_J~i zL2fHneKGM*Xj5w0zlnW9bI5E$aXUT5;k2DH%7Dsbs=)dQBGa=YVFV9Q!Gp%jC81); zQY8mDghFvg39h9G7c&!XHr7Lw^Y9F;Qm+y#Vcj{^iZifM1sZ2#JxV!`T@*_)p!n?n ziS;<;JTV8>U8NYWHPaQ;v`aBF8lRp4p-O2|rO@s!xpPs7XD?i09^ju;+$& YVGfAixgk!>0ns-%#Mm4VX;TONU*^A@mH+?% diff --git a/target/classes/Main/PathfinderUtils.class b/target/classes/Main/PathfinderUtils.class new file mode 100644 index 0000000000000000000000000000000000000000..78aa867d1893dc7d532b3d361f62e6ce5190d8ca GIT binary patch literal 975 zcmZ9J%}*0y5XOJA+mCH`feHl?3i9Dci%LZhg;o+{V$!6b35s&uwrg1|t=Vpgc=pfm zK)iV2A|?_vF<$jgGDgk2ZJ@G;nY_=;GxN-|KmUCB2F#O-W08(wk};X#nhMvW+=vrq zR)wrWZbq4l6C)kvR+M?cDA}IpI$l#q6u0eNJKOTzTDIsm{hSb6cdK>VZ+VU|cBY&! zuG(%ryVj^UxfRvh^li^qPr>Y}2~nqBY2%T+TX+2xK~HBkgwTVayRYchowe3Z$?=}p zrJ5u37aL`}wqbj&dUwE(zvVWCq4w;@w!ihltydiHsqfaBIU!POlx^P;!s$XGQxL=z zMCI3l>4K7@xfQ|4munr7@%2W_D?1NeB`JAk;jA*t zBFUgd54}+qEN-)CafiD??8F<3C50}lFr`WZr!L?3JbO=BEhGcNnH@qRXs+4yYW7iS z+bR1(?|2PGD(4(5sFw45ka2_V4PV=7dny@t?QTCX<+0fR3RqK{PWUsCk$r~$hoYnVgi{A^HTm%OhjtLiR$GS%117y#EYQOuCV3KpiV1Wy zmKkFlP3`0&%&){YkBEOlQ)8sdvnaxqz{jiq00&O7jsO4v literal 0 HcmV?d00001 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 37eadb9..0fc7d35 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,3 +1,4 @@ Main/Node.class Main/Map.class Main/App.class +Main/PathfinderUtils.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index 35be478..c09b5f3 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,3 +1,4 @@ /home/leo/Docs/Proj/PathVisualizer/src/main/java/Main/Map.java /home/leo/Docs/Proj/PathVisualizer/src/main/java/Main/Node.java /home/leo/Docs/Proj/PathVisualizer/src/main/java/Main/App.java +/home/leo/Docs/Proj/PathVisualizer/src/main/java/Main/PathfinderUtils.java diff --git a/target/surefire-reports/Main.AppTest.txt b/target/surefire-reports/Main.AppTest.txt index 9c021fa..815c74a 100644 --- a/target/surefire-reports/Main.AppTest.txt +++ b/target/surefire-reports/Main.AppTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: Main.AppTest ------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 s - in Main.AppTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 s - in Main.AppTest diff --git a/target/surefire-reports/TEST-Main.AppTest.xml b/target/surefire-reports/TEST-Main.AppTest.xml index afe46ad..50af648 100644 --- a/target/surefire-reports/TEST-Main.AppTest.xml +++ b/target/surefire-reports/TEST-Main.AppTest.xml @@ -1,5 +1,5 @@ - + @@ -16,7 +16,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -59,5 +59,5 @@ - + \ No newline at end of file -- 2.52.0