From c94eb0f036d4f2a01a2289076f53b824737d8f57 Mon Sep 17 00:00:00 2001 From: Mykola Fesenko Date: Tue, 30 Sep 2025 09:05:36 +0200 Subject: [PATCH] update 30.09 --- Chip.class | Bin 0 -> 237 bytes Chip.java | 47 +++++++++++++++++++++++++++++++++++ Chip.uml | 24 ++++++++++++++++++ Chip.~ava | 45 ++++++++++++++++++++++++++++++++++ Game.class | Bin 0 -> 777 bytes Game.java | 26 ++++++++++++++++++++ Game.uml | 24 ++++++++++++++++++ Game.~ava | 25 +++++++++++++++++++ Muehle$1.class | Bin 0 -> 1011 bytes Muehle.class | Bin 3773 -> 5038 bytes Muehle.java | 47 +++++++++++++++++++++++++++++++++-- Muehle.~ava | 48 +++++++++++++++++++++++++++++++++--- MuehleButton$1.class | Bin 0 -> 1104 bytes MuehleButton.class | Bin 0 -> 1877 bytes MuehleButton.java | 57 +++++++++++++++++++++++++++++++++++++++++++ MuehleButton.uml | 24 ++++++++++++++++++ MuehleButton.~ava | 57 +++++++++++++++++++++++++++++++++++++++++++ 17 files changed, 419 insertions(+), 5 deletions(-) create mode 100644 Chip.class create mode 100644 Chip.java create mode 100644 Chip.uml create mode 100644 Chip.~ava create mode 100644 Game.class create mode 100644 Game.java create mode 100644 Game.uml create mode 100644 Game.~ava create mode 100644 Muehle$1.class create mode 100644 MuehleButton$1.class create mode 100644 MuehleButton.class create mode 100644 MuehleButton.java create mode 100644 MuehleButton.uml create mode 100644 MuehleButton.~ava diff --git a/Chip.class b/Chip.class new file mode 100644 index 0000000000000000000000000000000000000000..9099b766b61430ec54a7bad81ff4e759b4bad545 GIT binary patch literal 237 zcmXX=%MQU%5Ixf;^=RV{?6A-eAQF*SH7rQ?w{^p9s+DT}mzBiA2lyy4SIi`5=A3!H zKhGC{B?1oyOcz!cHXK5biJJ&>Q5?fXW+iwnz`p2;Q!2s#LC(o@i@vs&8WmmtWFG?EDmC in_2kdfIWGD?kpJa7ndLW literal 0 HcmV?d00001 diff --git a/Chip.java b/Chip.java new file mode 100644 index 0000000..878ec49 --- /dev/null +++ b/Chip.java @@ -0,0 +1,47 @@ +import javafx.scene.paint.Color; +import javafx.scene.shape.Shape; +import javafx.scene.shape.Circle; +/** + * + * Beschreibung + * + * @version 1.0 vom 30.09.2025 + * @author + */ + +public class Chip { + + public Color color; + + public int relativeX; + public int relativeY; + + public double absoluteX; + public double absoluteY; + + public double radius; + + + public Circle circle; + + public Chip(relX,relY,absX,absY, Color color) { + relativeX = relX; + relativeY = relY; + + absoluteX = absX; + absoluteY = absY; + + this.color = color; + + radius = 20; + + this.color = color; + circle = new Circle(absoluteX, absoluteY, radius); + circle.setFill(this.color); + + } + public Shape getShape() { + return circle; + + } +} // end of Chip diff --git a/Chip.uml b/Chip.uml new file mode 100644 index 0000000..cdcab31 --- /dev/null +++ b/Chip.uml @@ -0,0 +1,24 @@ +[Files] +File0=Chip.java + +[Box: - Chip] +X=20 +Y=40 +MinVis=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 + +[Diagram] +Comments=0 +OffsetX=0 +OffsetY=0 +Visibility=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 +ShowConnections=0 +Fontname=Segoe UI +Fontsize=12 +ShowObjectDiagram=0 + diff --git a/Chip.~ava b/Chip.~ava new file mode 100644 index 0000000..c960522 --- /dev/null +++ b/Chip.~ava @@ -0,0 +1,45 @@ +import javafx.scene.paint.Color; +import javafx.scene.shape.Shape; +import javafx.scene.shape.Circle; +/** + * + * Beschreibung + * + * @version 1.0 vom 30.09.2025 + * @author + */ + +public class Chip { + + public Color color; + + public int relativeX; + public int relativeY; + + public double absoluteX; + public double absoluteY; + + public double radius; + + + public Circle circle; + + public Chip(relX,relY,absX,absY, Color color) { + relativeX = relX; + relativeY = relY; + + absoluteX = absX; + absoluteY = absY; + + this.color = color; + + radius = 20; + + circle = new Circle(absoluteX,absoluteY,radius); + + } + public Shape getShape() { + return circle; + + } +} // end of Chip diff --git a/Game.class b/Game.class new file mode 100644 index 0000000000000000000000000000000000000000..e9f485a2367afe3fe560ca62a0e36c507fbaa163 GIT binary patch literal 777 zcmY*X+iuf95IvKmah)t}>NG8PDA!z|;r14U1g$_wDO5@oc#GEVs@c}DD`ySrXMwm# zJn#X06k^tn8uBvhnb|q#%vt~W`|CG=mv~k|0YwKTfhCj)wPX27c0(B*b>I8PDlmld za~)~(f>3O>hRawcEPWVjqg+%_bsz*TV1-b6BPWWm7Nkj{B6E-?(S9h;R6_9jbJT%J zbad3S!!?05c!cU_3pWbJ`gBU5x3;$~(8zjzD1(!{=VB8V9b6K)j4KOL2WL~GCaf?{ zS#Tq#({Xp7xePNZIbp_YxbEPFz)frs#9pe#p?Z}X6GsGB`qMZ}jrzz6b}P7zI}Yv& z+{1lBJ(ItPM{rIpddS12=5A}q$4-364y^Wdq~4_yUnK|954qy?<3NT(nP{8OiX}7F zyl%N~ee1EQQzH{rU$;Jt{7ly<2z79x4%yab|9`VZ=E$XGMJ70>I{a5@Cc6?i136V3V8YtGPaMR literal 0 HcmV?d00001 diff --git a/Game.java b/Game.java new file mode 100644 index 0000000..e9b3b2d --- /dev/null +++ b/Game.java @@ -0,0 +1,26 @@ +import javafx.scene.shape.Shape; +/** + * + * Beschreibung + * + * @version 1.0 vom 30.09.2025 + * @author + */ + +public class Game { + + public String currentTurnPlayer = "White"; + public int white_chips = 7; + public int black_chips = 7; + + public void addShape(Shape shape); + + public void start() { + + } + + public void chip_button_clicked(MuehleButton button) { + System.out.println(button.absoluteX); + } + +} \ No newline at end of file diff --git a/Game.uml b/Game.uml new file mode 100644 index 0000000..ee862a6 --- /dev/null +++ b/Game.uml @@ -0,0 +1,24 @@ +[Files] +File0=Game.java + +[Box: - Game] +X=20 +Y=40 +MinVis=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 + +[Diagram] +Comments=0 +OffsetX=0 +OffsetY=0 +Visibility=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 +ShowConnections=0 +Fontname=Segoe UI +Fontsize=12 +ShowObjectDiagram=0 + diff --git a/Game.~ava b/Game.~ava new file mode 100644 index 0000000..d373e68 --- /dev/null +++ b/Game.~ava @@ -0,0 +1,25 @@ +/** + * + * Beschreibung + * + * @version 1.0 vom 30.09.2025 + * @author + */ + +public class Game { + + public String currentTurnPlayer = "White"; + public int white_chips = 7; + public int black_chips = 7; + + public void addShape; + + public void start() { + + } + + public void chip_button_clicked(MuehleButton button) { + System.out.println(button.absoluteX); + } + +} \ No newline at end of file diff --git a/Muehle$1.class b/Muehle$1.class new file mode 100644 index 0000000000000000000000000000000000000000..e2fb59792d24c419154f87456dc3d92c1465f5d3 GIT binary patch literal 1011 zcmZ{jOK;Oa5Xb+UmlMa3kkS{grX@g&jkNaN~p! z-v$mv;($2wp%Aln+y<$&yWYA6&#t}rWM(9u@acwba)&?3@81Aaj zcOOiD#058PaS}+g>jpkQIORg>Si`!8TLy094nwvZ@TtQqyOiP75@UxmY(?xV5#dJn z7}n<-am6)5`eBIh81mIlL?&m3RNEaBxX`f$?*+3V_ug7VwN` zeFl9_sO&aLoU&CKBsk_$*}Gg$-SLs-Su-xVM=|M83&TcOovSloSUpd2L4GJU*S9Ca zl7UD1dJ9#KZbCCAFNDpr-iwzmuY7Z#^3eNk;EnhzTVyOl!+&&d)LKlVFGMQTBu86ts&`Q_NP`IF~7X*Bv zhw*iRoI5AyP(=-_*dkn=d=>6ljH_?|#_}0fFK~+@jZkomilr5m+HImF@EA|Reg`J? UDKw~k8d@5(2cQ#Rje7e20kS3Fb^rhX literal 0 HcmV?d00001 diff --git a/Muehle.class b/Muehle.class index f950644333dd98226c1f00a25f9f32f99e2e6090..1ac5c902818524403643f88f226687345769f3f2 100644 GIT binary patch literal 5038 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 delta 1864 zcmZXU`F9gl6vsa=$z;;W&@2s*ly1@@ZQ4@VT3QOWP_)%;j``+)p?|a{;lTQ~K z=dPam8ffOyKI58)dyPQ6J3v#oCDqQW}nn%v4%g(n$LE$K`3#|`ReHkrqK z>x^^q^g0%p+=g4>O0G$4HPC4_S!gfO?IrPTDT6lJbvjHsS)>SCO|Gyt)fEl2(PeTc z-3sTO3tE(98Ph`6E?2<2jJtJuOzvU1b~fX$Z|tjTjcZ_UYJzkg*SHn95G z6i=D5j^x~H^%(0z{&|T+Dw!IHZS07r)+AOZ{hYD>H3~}j#@@bfO$IsP=Y-GA4+cN- zlg`g3zi{qYnK!63ep5`cE_w@dlV$CR#JbHJbuKE3Y?rm$%u6dAX8G?YAU8TZN8 zT%2NoKRSqt4x#r9l5-s6bMZOYFQXxE2;pKpmRRQSd|u#1`BJ>Z%OhClMGTtwmJZ<; zm|#aVLtbZ9hVfeZG!uH9(JwK&dtBAsCn3jHst}VxOdh17!4(b4+$oi(m*GL|^4K$#9Hl_@G$MEYRz`A^9r1WkzyqmN|AEa_k(0&F!OXh6_|KU=`VD zevo~zoqaDT{@n>QDBQX9OVEq4w z*(oq-S)0Y#mBrbW#R)_LS)9NKPT&TdfQ{p<4UP@kDtP1&MG;Np6mg9WW_au@6Hc;M zgtRB9-oN%|L^~=QUB;xu*R$QS|+GdgRuvmrZQYCV%RkK9R zlXok3XN7P8pDGm@zRjUDL3^`DG~rcE9F~wuCN%PnSPsUinY_z;BEVu*#ru39nUu@& zBO*$TYE{ICd?aln`~`N`Nn=Ja#7!2RkmoGUBPhaZO_Sbi6uk*?XDJ3LU>wE}h=%w System.exit(0)); primaryStage.setTitle("Muehle"); @@ -80,6 +92,30 @@ public class Muehle extends Application { circle3.setFill(new Color(0.0,0.0,0.0,0.0)); shapes.add(circle3); + Line line1 = new Line((topLeftX+topRightX) /2 + topLeftX/2,topLeftY,(topLeftX+topRightX) /2 + topLeftX/2,250); + line1.setStroke(stroke_color); + line1.setStrokeWidth(10); + shapes.add(line1); + + Line line2 = new Line((topLeftX+topRightX) /2 + topLeftX/2,topRightY+50,(topLeftX+topRightX) /2 + topLeftX/2,520); + line2.setStroke(stroke_color); + line2.setStrokeWidth(10); + shapes.add(line2); + + Line line3 = new Line(topLeftX,topRightY/2+50,topLeftX+200,topRightY/2+50); + line3.setStroke(stroke_color); + line3.setStrokeWidth(10); + shapes.add(line3); + + Line line4 = new Line(topLeftX+550,topRightY/2+50,topLeftX+200+540,topRightY/2+50); + line4.setStroke(stroke_color); + line4.setStrokeWidth(10); + shapes.add(line4); + + + MuehleButton button1 = new MuehleButton(0,0,100,100,Color.BLUE,game); + shapes.add(button1.getShape()); + for (int i = 0; i < shapes.size() ;i++ ) { board.getChildren().add(shapes.get(i)); } // end of for @@ -88,6 +124,13 @@ public class Muehle extends Application { return board; } + + + public void addShape(Shape newShape) { + game_board.getChildren().add(newShape); + + } + // end methods } // end of class Muehle diff --git a/Muehle.~ava b/Muehle.~ava index e4a5a14..2fc464c 100644 --- a/Muehle.~ava +++ b/Muehle.~ava @@ -8,7 +8,10 @@ import javafx.stage.Window; import javafx.scene.shape.Shape; import java.util.ArrayList; import javafx.scene.control.Label; - +import javafx.scene.shape.Line; +import javafx.event.Event; +import javafx.event.EventHandler; +import javafx.scene.input.MouseEvent; /** * * Beschreibung @@ -21,15 +24,23 @@ public class Muehle extends Application { // start attributes // end attributes private Label lTop = new Label(); + private Pane game_board; + private Game game; public void start(Stage primaryStage) { + + game = new Game(); + game.start(); Pane root = new Pane(); - Pane game_board = draw_game_board(); + game_board = draw_game_board(); root.getChildren().addAll(lTop,game_board); Scene scene = new Scene(root, 1080, 820); + + //lTop.setAlignment(); setTopLabel("Test Label"); + primaryStage.setOnCloseRequest(e -> System.exit(0)); primaryStage.setTitle("Muehle"); @@ -74,12 +85,36 @@ public class Muehle extends Application { circle2.setFill(new Color(0.0,0.0,0.0,0.0)); shapes.add(circle2); - Rectangle circle3 = new Rectangle(topLeftX + 200,topLeftY + 200,topRightX - 500,topRightY - 500); + Rectangle circle3 = new Rectangle(topLeftX + 200,topLeftY + 200,topRightX - 400,topRightY - 400); circle3.setStroke(stroke_color); circle3.setStrokeWidth(10); circle3.setFill(new Color(0.0,0.0,0.0,0.0)); shapes.add(circle3); + Line line1 = new Line((topLeftX+topRightX) /2 + topLeftX/2,topLeftY,(topLeftX+topRightX) /2 + topLeftX/2,250); + line1.setStroke(stroke_color); + line1.setStrokeWidth(10); + shapes.add(line1); + + Line line2 = new Line((topLeftX+topRightX) /2 + topLeftX/2,topRightY+50,(topLeftX+topRightX) /2 + topLeftX/2,520); + line2.setStroke(stroke_color); + line2.setStrokeWidth(10); + shapes.add(line2); + + Line line3 = new Line(topLeftX,topRightY/2+50,topLeftX+200,topRightY/2+50); + line3.setStroke(stroke_color); + line3.setStrokeWidth(10); + shapes.add(line3); + + Line line4 = new Line(topLeftX+550,topRightY/2+50,topLeftX+200+540,topRightY/2+50); + line4.setStroke(stroke_color); + line4.setStrokeWidth(10); + shapes.add(line4); + + + MuehleButton button1 = new MuehleButton(0,0,100,100,Color.BLUE,game); + shapes.add(button1.getShape()); + for (int i = 0; i < shapes.size() ;i++ ) { board.getChildren().add(shapes.get(i)); } // end of for @@ -88,6 +123,13 @@ public class Muehle extends Application { return board; } + + + public void addShape(Shape newShape) { + game_board.getChildren().add(newShape); + + } + // end methods } // end of class Muehle diff --git a/MuehleButton$1.class b/MuehleButton$1.class new file mode 100644 index 0000000000000000000000000000000000000000..19b239dc5b80f371856b6116cc050f37d817a564 GIT binary patch literal 1104 zcmZ{jT~8B16o%g^g>9FWE+8NZQm|@Ul%;-~5)y16n6yYz)BB|z>Ed>l?9LLs^Dk)> z6EBR{{wU*_X$#u~Hre?+=Q-~=GxPV~uipT6@H&eW#tft_jAMdfsuA<9&)>vS2BJ`5 zn2=pBDs0kDJ-JmikwMmgX<-r;gMH$jxsLCOW9Qw`32#gC-13Acw;9HYrB)VG$QiIL zOk-xmy!knjyhm0+Oipuk4e|o#F!Y3M%8c`O*XWnmGw z8D_6=WH3$@#ur2`_R(4+aXoQdEwxN6VcEc43o9xOE14sM*$Co@>wpGU8J1Oy51*W< z%>{QnaT-fUo9v!(Ax$dfJqrcgr{ue?==hvrtsnMUC(>ZxA;aPT%@xVfynT%b8K#S) zwJ)_8(zT#N_*~r+{2=Zf@$kKSqyo;=gSP9p+|X0=!D3pSB9(oFQ>avFsljD8=p4GC z+vAdlWHqieFs$f;U9X&B;Uc+&Y|4ls+w_iwE8~z99V80hzZ}&eIpH?Qc5AqGb&adr zq}gl+aoFa2p2~MRd1M=^id2oqliby)1hU+ z@BqxV)f=E^F-HF+inLRr(Khud>do@{53ur27+-0YLYdkL@&q1Zo!a@n6&}%CeWs={ zY|wa|%)Z!UOqYXNg{=>;_BY&^nLWo``8(J-?p(sBv=E2nZ6b$CB8Ytv#D+t=%-$h# zg@}s$bU@CQ*Z&}Yj`8X9uXEN}I&u2~kqSd8Yg4ctL%dUJCG1uPose^(FyS HVd(o0lb`n& literal 0 HcmV?d00001 diff --git a/MuehleButton.class b/MuehleButton.class new file mode 100644 index 0000000000000000000000000000000000000000..47119e079af7babd55b1f18611f7c9e081bd16e6 GIT binary patch literal 1877 zcmah~4O3HB5Iq+NkHl9IMC42A7n;1Psn%jO6vZS8Hh?vlntstoa!a0lyfDcN)BdZr zLvW^@=@00SYJ2v+fQitS8M2$*y?f7|-M#tquiyRvumm@OKJ;4{uo1(c!kO3Zo}2dF zU^~6O^;%a#g~0_c@WMrf{$#3TVMyWhYD?FA{kRo|_2BC51S}-v{3(TzWTD%cNtNPw z52q~*+c<*}1-sj=FuGH3HT7o2_bNYZhHhh9^Tz3dp!ojBwBFM}n9j@RvKv%=-N;C~ zvo^+XP9fgVz8iXb`jvuO5zl!W6Fr`?Sf^}EV}|kWR?q<#1 z)#g)_V+E_J!zZ5aD_lsP z1nRj!>onw^jZbi2VPMfSEXI1AuXrW$l{gT`8ppdQ0#{4CJ&H=l<% zrRThXa(;(ZrV?+%cBb1Hb!OTacT#OkIuo%rE;wVj*v4gN(rROl(W$btPv1U0`?&lD zAGC3cn*7fl;Eppn)W*CRe#HX{`v8xAF)&v7InNS-^8|F05T&R|O!0k_a^^6L8`SRL zB7tAR2Cm>sT5Gt5HJ)1LOHI&N$8$>2KIeI5v=`KbIuAu=>Nna3wV2U_r0A^BI>a+C zQRcA}@Vs+?+}ld!r%CD^VvwMZ zlEjaayh51~lB7($5<7gHw0?snN_8Kn@xY`SkHU|L7$!~9?XQlm5z8}LqW*u)3%;SR T58q;wQl`PechnL_qXPT`P{W*P literal 0 HcmV?d00001 diff --git a/MuehleButton.java b/MuehleButton.java new file mode 100644 index 0000000..010db75 --- /dev/null +++ b/MuehleButton.java @@ -0,0 +1,57 @@ +import javafx.scene.paint.Color; +import javafx.scene.shape.Circle; +import javafx.scene.shape.Shape; +import javafx.event.Event; +import javafx.event.EventHandler; +import javafx.scene.input.MouseEvent; +public class MuehleButton { + + public Game game; + + public int relativeX; + public int relativeY; + + public double absoluteX; + public double absoluteY; + + public Color color; + + public double radius; + + public Circle circle; + + public MuehleButton(int relX, int relY, double absX, double absY, Color color, Game game) { + relativeX = relX; + relativeY = relY; + + absoluteX = absX; + absoluteY = absY; + + radius = 20; + this.color = color; + circle = new Circle(absoluteX, absoluteY, radius); + circle.setFill(this.color); + + this.game = game; + + circle.addEventHandler(MouseEvent.MOUSE_RELEASED, mouse_click_target); + } + + public Shape getShape() { + return circle; + + } + + EventHandler mouse_click_target = new EventHandler() { + public void handle(MouseEvent event) { + System.out.println("Button Clicked!"); + MouseClick(); + } + }; + + + public void MouseClick() { + game.chip_button_clicked(this); + } + +} // end of MuehleButton diff --git a/MuehleButton.uml b/MuehleButton.uml new file mode 100644 index 0000000..08d516e --- /dev/null +++ b/MuehleButton.uml @@ -0,0 +1,24 @@ +[Files] +File0=MuehleButton.java + +[Box: - MuehleButton] +X=20 +Y=40 +MinVis=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 + +[Diagram] +Comments=0 +OffsetX=0 +OffsetY=0 +Visibility=0 +ShowParameter=4 +SortOrder=0 +ShowIcons=1 +ShowConnections=0 +Fontname=Segoe UI +Fontsize=12 +ShowObjectDiagram=0 + diff --git a/MuehleButton.~ava b/MuehleButton.~ava new file mode 100644 index 0000000..1c050de --- /dev/null +++ b/MuehleButton.~ava @@ -0,0 +1,57 @@ +import javafx.scene.paint.Color; +import javafx.scene.shape.Circle; +import javafx.scene.shape.Shape; +import javafx.event.Event; +import javafx.event.EventHandler; +import javafx.scene.input.MouseEvent; +public class MuehleButton { + + public Game game; + + public int relativeX; + public int relativeY; + + public double absoluteX; + public double absoluteY; + + public Color color; + + public double radius; + + public Circle circle; + + public MuehleButton(int relX, int relY, double absX, double absY, Color color, Game game) { + relativeX = relX; + relativeY = relY; + + absoluteX = absX; + absoluteY = absY; + + radius = 20; + this.color = color; + circle = new Circle(absoluteX, absoluteY, radius); + circle.setFill(this.color); + + this.game = game; + + circle.addEventHandler(MouseEvent.MOUSE_RELEASED, mouse_click_target); + } + + public Shape getShape() { + return circle; + + } + + EventHandler mouse_click_target = new EventHandler() { + public void handle(MouseEvent event) { + System.out.println("Button Clicked!"); + MouseClick(); + } + }; + + + public void MouseClick() { + game.chip_button_clicked(this); + } + +} // end of MuehleButton