From c0daed351897646cc2d44a65dee085675ef13a9b Mon Sep 17 00:00:00 2001 From: Nimrod Abramovich <grumpydormin@gmail.com> Date: Sun, 15 Mar 2020 21:27:26 +0000 Subject: [PATCH] animation completed --- bin/coursework/Animation.class | Bin 5755 -> 8298 bytes bin/coursework/Cage.class | Bin 5207 -> 5207 bytes bin/coursework/ConstraintsHandler.class | Bin 5376 -> 5376 bytes bin/coursework/GameState.class | Bin 871 -> 871 bytes bin/coursework/Main.class | Bin 24444 -> 24331 bytes src/coursework/Animation.java | 109 +++++++++++++++++------- src/coursework/Main.java | 38 +++++++-- 7 files changed, 113 insertions(+), 34 deletions(-) diff --git a/bin/coursework/Animation.class b/bin/coursework/Animation.class index ea9fd11221e9b362801b9cf1f759bb0931b3b95c..c2bb568060dfc33acfe2ac65225322cbbea49b6d 100644 GIT binary patch delta 4341 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 delta 1781 zcmaFm@LPxL)W2Q(7#J8#818Q5n#0Iu>}Fu#=C*ka<9@cu2RWOW*%^*bzQZNUcxdu3 zE@QUS3}@LH&P+DuR%brPaDH+u_XEaLlkIq9R4#HcFfv@>VOYqph@YL|vH-&(Mg|_w zyu8#R=bXgi;?!bxhMSY?c(hn<Gcw3cZsd{UWMp9T$<NO&Etq_t=Yp&V0}BH$gDnF; zg9n2EgD-<1LlA=yLpXydLmY$H<TJc+Mj{E@7_zmuG30M#U|?WkaAaU$kYiwHU|^7B zU}2DA;9-zvP+^E+&}WEcux5y3uxCh^9K&a<u!n(}fti7UF^bt{IfFa1?Q#Z7Y1V>S z43b(~7!0Ka*e0*%6OU!fU`dfl*}+h@lc9!*A-si&QAU7m;s4_;jEvGC#!fAe>g^2m z+ZdV!*a~Jb<bX_5)?(q<&d{#K!m^#ATZ;+AmS&yLzzGom>1A8^{~pI=HGW&&a*zf& zs0Jp41}!ifs`fENo@4S9{*wA+23Cd?1}=tF1_6dN24#kH1~rCE23v*{1~-Oe27iV; zh6IKJhE#?^hHQo+hC+s7hH{1yh8l)ah9-srhAxImh8~70hDi+73^N#N80In5GAv}M zXIR3}z_5y;kzoTv6T@bPW`>;%Ee!h^S{V*8)H57oXlFRd(8X|$p_}1K5<?HeErwo( z2Mm1-<KG-Z4yI_`)!W;TywbhCd8b7?~KRGIB6XXXIv>!N|ujlTn0W7NZoyY(`mz zIgH8-a~U-mrZeg>%x5%YSioq`u#nM~VF_a-!%_w(1_lNXP`oilO@1jL>#4yook4(s zk)emdia`*}I?bRA75m2E4i%fhz`&ryAoz!YmGKV)3!}6c(=P@NX&ELt*<TE7AQ36W z$^L@Qj4LKj7K~(MoBUQ#g?B9jE5kYlC5E*OS_~T|%L#SyZed_$*vcT!u!TXLVf*B* zLY`c#z6`7kybKJ?2Pbm~TQRCkb{5{N%yg2?R)!_TPF8>|LpH&T1w_jvn6b)0_-rx) zY?Dnzl*F{QFzD=C#Na8(5oyJ<&y1VdjB7cA$>e+y`N<PRB<fFVZDBBHNtwr_3Sxj2 zvm`8H64%<oU@ywTl47)*VR59;((Me(L2@89EGb6Y7*+|b+s3eJ8^eZe3|k;d1=vVZ z3pH7l2%}k9CL2l!yJNSPl>~c1YQbi?U^j~m>L?=I#3sN7a+Dhmg9O+Th&PKJ>?TR< zMzKRIlEx{U0M=cPDIW=n*o3VN=Afd88C(?2V^C*cV31+pVUT4IWRPQ!VvuLBV^Cno zV~}O2Vo+gdVNhe3$)L_Kk3oas8iP8+a|SJjj|@5tzZmox{xBFYGB6l1axfS(3NV;3 zN-&r*DlnKaS~6HLx-!&TGDb02F*Y(-GIlfAGA?4UV?4`X&-jzUfk~agi7AM|nW>J! zg=r0g8`E_LcV=b=4`xFKFXk8qZ{`jLALeZg5zGe|qQUvDih&1|)ES%^To@R@tep(I z7#JD&7;?Zlj)`G5gAc<r1_1^phCfWZ7<PkL^^6Qm+ZgsR2rw`+axkr9*vlZmz``iN zw2WaNg8&07qXg4DhW!iz3~Y=FOw$++FbFWPGg>m$G8|+$#K6HA#h}h`m_dMnlL3^4 z!x(t}FbFdKW{6?>#US*DL6Xtx7lZhJhC~Klb_Pavh9it%z|L@tfsqkJG8p{#XJBLC zM3-gw&!ok`1QBIm;ACKCI1a8APB5HgU|`^3U}U(!z|3%o;VQ#5hU*Lr44~TS2E#3e HI}DNlhUd2A diff --git a/bin/coursework/Cage.class b/bin/coursework/Cage.class index f93cf6cd92afb4721aa5581143ec6bcac4afbf0f..052d4186f6d4b83626024f7aaf7222bdaceaa13a 100644 GIT binary patch delta 43 tcmcbvab07BwICzMWE(+sMvloTV6q29Zr&ou#l*&uV<RQNG5Lt_WB~u>3l#tW delta 43 tcmcbvab07BwICzgWE(+sMz+Z*V6q29Zr&ou#l*&zV<RQNHu;F~WB~s73kd)K diff --git a/bin/coursework/ConstraintsHandler.class b/bin/coursework/ConstraintsHandler.class index 0a68b66c3ee4a187021e0e0b1082d8babf7d6818..bade47a38ad4369566460ba344b569c3d12da6f3 100644 GIT binary patch delta 161 zcmZqBYS7xy%PHrumqBbRgM^lV!(Ildtqd|+yBXvnw=*bgWl+=-aM-+>Q;~_0WAa&U zeMXMWf4R#TnK?3~Ctu*!VdU7nm{*;Vkz?~|zB)!ejtrRuBWC817A8g+0glPx0wsJL j8PW+xEO4QlU?Gqy7MQANL6|DI&|Sfej1HUog$kJf3#%uG delta 161 zcmZqBYS7xy%PFU_mqBbRgM^lV%3cPktqd|+yBXvnw=*bgWl+=-P}#hiQ;~_0ZSq-e zeMYv;f4R#Tnb|U=Ctu*!VPxC9m{*;Vk!|y7zB)!ewhWmBBWC817A8g+0k+BE0wsKG j8PW+xEO4QlU?Gqy7MQANL6|DI&|Sfej4GS^g$kJf)$S(! diff --git a/bin/coursework/GameState.class b/bin/coursework/GameState.class index 05a8e904dce51e954e51bf717fb058b235294275..8027a7087fee2b670d9c16a28a14d56c83fb11eb 100644 GIT binary patch delta 13 UcmaFP_MC0QOD0B#$*-7d0V<FMvj6}9 delta 13 UcmaFP_MC0QOD0B@$*-7d0V)IqmjD0& diff --git a/bin/coursework/Main.class b/bin/coursework/Main.class index 0bac322ce29c478d59d85bef452194620b73f727..5b83beb2a97814918f935971184bb5dd7dce3c19 100644 GIT binary patch delta 4643 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 O4w6g}OhGKJ43YpgdGKBU delta 4752 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 Zlf|1sl1Y_GiN(i3k|}~Ih{cyd5&$763NHWv diff --git a/src/coursework/Animation.java b/src/coursework/Animation.java index cdf17e1..f3e9c9b 100644 --- a/src/coursework/Animation.java +++ b/src/coursework/Animation.java @@ -4,13 +4,15 @@ import javafx.animation.Timeline; import java.util.ArrayList; import java.util.List; import javafx.animation.KeyFrame; +import javafx.scene.control.Alert; +import javafx.scene.control.Alert.AlertType; import javafx.scene.layout.VBox; import javafx.util.Duration; public class Animation { private VBox[] gridBoxes; - private String[] colors = {"#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#3F00FF", "#7F00FF", "rgba(255,0,0,0)"}; + private String[] colors = {"#FF0000", "#FF7F00", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#462370", "#7F00FF", "rgba(255,0,0,0)"}; private Integer[] indexArray; private List<Integer> indexList = new ArrayList<Integer>(); private int index = 0; @@ -42,7 +44,7 @@ public class Animation { count++; } if (count == 9) { - if (Main.N % 2 == 0) { + if (Main.N % 2 == 0 && colorIndex % 2 == 0 && colorIndex < 23 ) { //even int maxCentre = Main.N / 2; int minCentre = maxCentre - 1; @@ -53,48 +55,97 @@ public class Animation { int botRight = (maxCentre * Main.N + maxCentre); int[] gridIndicies = { topLeft, topRight, botLeft, botRight }; - if (colorIndex < colors.length) { + if (colorIndex/2 < colors.length) { for (int gridIndex : gridIndicies) { - gridBoxes[gridIndex].setStyle("-fx-background-color:"+colors[colorIndex]+";"); + gridBoxes[gridIndex].setStyle("-fx-background-color:"+colors[colorIndex/2]+";"); } } - if (colorIndex - 1 > 0 && colorIndex < colors.length + 1) { - gridBoxes[topLeft - 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[topLeft - Main.N].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[topLeft - Main.N - 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - - gridBoxes[topRight + 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[topRight - Main.N].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[topRight - Main.N + 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - - gridBoxes[botLeft - 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[botLeft + Main.N].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[botLeft + Main.N - 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - - gridBoxes[botRight + 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[botRight + Main.N].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); - gridBoxes[botRight + Main.N + 1].setStyle("-fx-background-color:"+colors[colorIndex - 1]+";"); + if (colorIndex/2 - 1 > 0 && colorIndex/2 < colors.length + 1 && Main.N > 2) { + int[] ringCombinations1 = {1, Main.N + 1, Main.N}; + for (int ringVal : ringCombinations1) { + gridBoxes[botRight + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 1]+";"); + gridBoxes[topLeft - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 1]+";"); + } + int[] ringCombinations2 = {- 1, Main.N - 1, Main.N}; + for (int ringVal : ringCombinations2) { + gridBoxes[botLeft + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 1]+";"); + gridBoxes[topRight - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 1]+";"); + } + } + if (colorIndex/2 - 2 > 0 && colorIndex/2 < colors.length + 2 && Main.N > 4) { + int[] ringCombinations1 = {2, Main.N + 2, 2*Main.N + 2, 2*Main.N + 1, 2*Main.N}; + for (int ringVal : ringCombinations1) { + gridBoxes[botRight + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 2]+";"); + gridBoxes[topLeft - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 2]+";"); + } + int[] ringCombinations2 = {- 2, Main.N - 2, 2*Main.N - 2, 2*Main.N - 1, 2*Main.N}; + for (int ringVal : ringCombinations2) { + gridBoxes[botLeft + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 2]+";"); + gridBoxes[topRight - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 2]+";"); + } + } + if (colorIndex/2 - 3 > 0 && colorIndex/2 < colors.length + 3 && Main.N > 6) { + int[] ringCombinations1 = {3, Main.N + 3, 2*Main.N + 3, 3*Main.N + 3, 3*Main.N + 2, 3*Main.N + 1, 3*Main.N}; + for (int ringVal : ringCombinations1) { + gridBoxes[botRight + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 3]+";"); + gridBoxes[topLeft - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 3]+";"); + } + int[] ringCombinations2 = {- 3, Main.N - 3, 2*Main.N - 3, 3*Main.N - 3, 3*Main.N - 2, 3*Main.N - 1, 3*Main.N}; + for (int ringVal : ringCombinations2) { + gridBoxes[botLeft + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 3]+";"); + gridBoxes[topRight - ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 3]+";"); + } } + colorIndex++; + } + else if (colorIndex % 2 == 0) { + //odd + int centrePoint = (Main.N - 1) / 2; + int centre = (centrePoint * Main.N) + centrePoint; - + if (colorIndex/2 < colors.length) { + gridBoxes[centre].setStyle("-fx-background-color:"+colors[colorIndex/2]+";"); + } + if (colorIndex/2 - 1 > 0 && colorIndex/2 < colors.length + 1) { + int[] firstRing = {- 1 - Main.N, - Main.N, 1 - Main.N, - 1, + 1, - 1 + Main.N, Main.N, 1 + Main.N }; + for (int ringVal : firstRing) { + gridBoxes[centre + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 1]+";"); + } + } + if (colorIndex/2 - 2 > 0 && colorIndex/2 < colors.length + 2 && Main.N > 3) { + int[] secondRing = { -2*Main.N - 2, - 2*Main.N - 1, - 2*Main.N, - 2*Main.N + 1, - 2*Main.N + 2, - Main.N - 2, - Main.N + 2, 2, -2, Main.N - 2, Main.N + 2, + 2*Main.N - 2, 2*Main.N - 1, 2*Main.N, 2*Main.N + 1, 2*Main.N + 2 }; + for (int ringVal : secondRing) { + gridBoxes[centre + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 2]+";"); + } + } + if (colorIndex/2 - 3 > 0 && colorIndex/2 < colors.length + 3 && Main.N > 5) { + int[] thirdRing = { -3*Main.N - 3, - 3*Main.N - 2, -3*Main.N - 1, - 3*Main.N, - 3*Main.N + 1, - 3*Main.N + 2, - 3*Main.N + 3, - Main.N - 3, - Main.N + 3, 3, -3, Main.N - 3, + Main.N + 3, 2*Main.N - 3, 2*Main.N + 3, -2*Main.N + 3, -2*Main.N - 3, 3*Main.N - 3, 3*Main.N - 2, 3*Main.N - 1, 3*Main.N, 3*Main.N + 1, 3*Main.N + 2, 3*Main.N + 3}; + for (int ringVal : thirdRing) { + gridBoxes[centre + ringVal].setStyle("-fx-background-color:"+colors[colorIndex/2 - 3]+";"); + } + } + colorIndex++; } else { - //odd - int centre = Main.N - 1 / 2; - - gridBoxes[centre * Main.N + centre].setStyle("-fx-background-color:"+colors[colorIndex]+";"); + colorIndex++; } - colorIndex++; + } + if (colorIndex == 23) { + Alert alert = new Alert(AlertType.INFORMATION); + alert.setContentText("Congratulations! You have completed this Mathdoku puzzel."); + alert.setTitle("Puzzel Complete"); + alert.show(); } }); timeline.getKeyFrames().add(keyframe); - timeline.setCycleCount(indexArray.length + 20); + timeline.setCycleCount(indexArray.length + 30); timeline.play(); - } - + private void initialiseIndex() { for (int i = 0; i < Main.N; i++) { for (int j = 0; j < Main.N; j++) { diff --git a/src/coursework/Main.java b/src/coursework/Main.java index 9c8ff2f..70ac3b2 100644 --- a/src/coursework/Main.java +++ b/src/coursework/Main.java @@ -36,7 +36,7 @@ import javafx.stage.Stage; public class Main extends Application { - final static public int N = 6; + final static public int N = 8; private Scene scene; private Stage stage; @@ -119,7 +119,7 @@ public class Main extends Application { gridPane.add(vbox, j, i); textField.textProperty().addListener((observable, oldValue, newValue) -> { - textFieldClickEvent(i, j); + textFieldDataChange(i, j); }); square.getRectangle().toFront(); @@ -384,8 +384,6 @@ public class Main extends Application { } showMistakes = showMistakesCheck.isSelected(); constraints.highlightCells(showMistakes); - Animation animation = new Animation(); - animation.go(); } private void undoButtonClickEvent() { @@ -514,7 +512,7 @@ public class Main extends Application { }); } - private void textFieldClickEvent(int i, int j) { + private void textFieldDataChange(int i, int j) { if (!clearing && !undoing) { undoStack.push(new GameState(GameState.getCurrentGameState(gridNumbers))); if (undoButton.isDisabled()) { @@ -567,6 +565,36 @@ public class Main extends Application { HBox bottomHBox = setupBottomHBox(); + ///// +// Button tempButton = new Button("SHOW ANSWER"); +// int[] answers = {5,6,3,4,1,2,6,1,4,5,2,3,4,5,2,3,6,1,3,4,1,2,5,6,2,3,6,1,4,5,1,2,5,6,3,4}; +// tempButton.setOnAction(e -> { +// if (N != 6) { +// Animation animation = new Animation(); +// animation.go(); +// } +// else { +// BufferedReader file; +// try { +// file = new BufferedReader(new FileReader(new File("C:\\Java Eclipse Workspace\\Programming II Coursework\\mathdokuCage.txt"))); +// +// String line; +// while ((line = file.readLine()) != null) { +// createNewCage(line); +// } +// file.close(); +// +// for (int i = 0; i < gridNumbers.length; i++) { +// gridNumbers[i].setText(answers[i] + ""); +// } +// } +// catch (IOException ex) { +// System.err.println(ex); +// } +// } +// }); + ///// + vBox.getChildren().addAll(topHBox, gridHBox, bottomHBox); stageWidthResizeEvent(stage, gridPane); -- GitLab