From 228c410a1aff6f256ed1aa034a4082680446a587 Mon Sep 17 00:00:00 2001 From: L3o15 Date: Wed, 14 May 2025 19:38:38 +0200 Subject: [PATCH] Game loop and fight --- .../unibs/tamagolem/ElementGraph.class | Bin 3608 -> 3888 bytes .../it/arnaldo/unibs/tamagolem/Game.class | Bin 2741 -> 8009 bytes .../it/arnaldo/unibs/tamagolem/Player.class | Bin 845 -> 1790 bytes .../arnaldo/unibs/tamagolem/TamaGolem.class | Bin 1391 -> 2250 bytes src/ElementGraph.java | 14 ++++++++++++++ src/FightEsit.java | 5 +++++ src/Game.java | 1 + src/GameLoop.java | 2 +- src/TamaGolem.java | 14 +++++++++++++- 9 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/FightEsit.java diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/ElementGraph.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/ElementGraph.class index 7e9db6fce3608a310400c703209264ba53e95e22..bd899602dab28d44a1421d990bfe7c1a4f3aec43 100644 GIT binary patch delta 411 zcmXYsO-~b16o#KWo#{*`!otMr0BH;vAa-=6iAfU`kPw?7uwcQ;q``q0b*3>xsBWqo zH+}&F()zU}CS5=vP0E6>VAWsX#y{Z>g5sH`i+kVa-t(NCoZ7%n&TjuZI0WwTeb@G^ z?4>0?Dh84NqO=e_34?JzTJilLzG>a=UA0+b-6X!i7#nfLI#!?KJDGmHt{94cTbJV> z8MDWo3d5(%Ws|RpT=&;g)?Pa^qE{8~SVr+oCjLRglw8d3W4FjErf;<9Q`DIgxT-k9 zE$EKkWY}wxuTx04*ij3HV{~OVp^p8qkap5dX0CVaOv1B`?ekyT=RZ>onUt#XTw)MQ z?z`k<={%!M$vX3l^N0ybO!Alq1Y+F6klICF^M%907KP?3cadMTvw uO85%K8MaCPUpy06VB`etlxrF(-ix5|fsc}ww0@Ga$(Foqp&DQKhVvg51CM83UTTqZPGWI!YB4**jLC(ZT8y(M&*5}sWZ(RVQ=LVfnV}nKCKE#s dLobl#U|?kE1L7$R(||lKAZt3qOorJEk^pUhAcp_| diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Game.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Game.class index 50c6d8baab3eec1a7c1471a395b09c5ec4d16a42..5ba526b61f30b76367c792b731355c2298409695 100644 GIT binary patch literal 8009 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 CVqpIO diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Player.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Player.class index d7be542c418bbef8348e29acc9f5da375a12a5fb..4363d65375d73097f2bdf527f099f786a868615e 100644 GIT binary patch literal 1790 zcmb7ET~iZD6g`~}2Erf_2%zXHf|^Ox+0|WF4Wjss2DB=QrEd+4u{D`klL;kH`#XHu z*M0H9ty;0vDr=wp9sUZ-Qcw2`5D^t$X1Z_Rd+t5w-tM;_U%dfv2G=u4AZa0GBaIG$ z>;t(Z-J0~P?)CWx-a;tQF`;}FP6{OR&RiEd(PbfHqZ_uss0v*f__DUxa9h5bZ@QtZ z%W9+M)!iF4x$Ff3DPPt-fxhxObR`UwUoBbKCeUxptx(n6sUVQcWz`Hb=s{Aa+HRu{ z{Q?;cds)La1#%J6mmwt`le001ApuJ@FV-K0%ckbL`ecWVofzT1>XA||Kkc-Y6ES5u zy9LI-!|3K}5gKuijlCEpqFh|mh+pG5Ci9q$aqZU;c=g7Tr$Z0eIEcJJrwYA5h7F1| zn2!rGtfpgosT&0pEgZ6OSo7*z*J{;;Wbe!7toJz7zOId5@tfA127!T9)V79Fs9iW_ z<9GZa&_g-O>YjI_q5P22vc=N^T@_XJW!MVXw$q!5JyG6@N~Out24Uj9J9Dh?d}ERD zy=CQlv#t8P7u=NdH8UrT1zDSufztcfmo1gpy|Ew;C%~;DPkSFMt^kb!!P%b>2k&j{>Yz|u+l9S&WkQQ8U9u92H zoo$JRwJjB|)KpC^u|a8by?G}qjaIPWT~fMh-I4l7^nhZNH#foOCBe(fXM(FfeT^Y- z+*tpF#dR7d_&rI>EhLS9uJ8h)P<#%n@ESdLUZD3mvj3WpQwAi(Zx>R?@Y{_6LYHV6 zjDj(N)7$|$la!1x$rmn4;qotdmM;7U>lqgbXvhv@>@_fUKR&k^uEF7T^CDg@IN46}ml3I?7aEuQIhas|WxW0%HFnxeMx4-ApzFd6P_!yk@| zyJ&ocuJ{rz#|h3cfmS`EL5nN+<@UOC`jrRvP`15ol4aH;%is#8i6e0Jn|S-a!W$#r z_z&=|kw_%KU;JxgP9(toa`7b`fhX9(#SsB&Fmq@HNB>4T_4J=l?~+dqOWmeH4h#5Z qjv$YHaG12n-Ql&=BP^s$0-B`Lrjd>02XtB}jJ)TWzzok5nEebb6ny&t delta 226 zcmeyzdzOvs)W2Q(7#JAr8I&h-o!l(L diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/TamaGolem.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/TamaGolem.class index acce0351e69549c3aefac02e1dab7ad518a22e08..fb88db6707a155ff1efe9d381b2eb7a15754dec5 100644 GIT binary patch literal 2250 zcma)7TT|Oc6#mv11hyRRP?wSdx@G*D>2_y}qOr+7l z(DQ&Fam(TEzIAu+fv8D_js@Gb8=mdTfPs|_TwoZ`ky_GrtQ)@1k5|O^Es;SENfo2lL?8MY zx&;9US8}H+Jy(!>Z{>xf_9>RCSF6HTu!|w;=EpG7%YUIvE)j#yUKaQ#2Xl8 zFzjHp(UiwJRsH5o6Jr=>$oit;9f>vD4@i-L!t7Zn18*@*oTJBTn28EFWnvmL44u-e zO5b+(Ph*Csr9P_BtcfD#7=|1CP%L|HjmvFY9?&X~Tnjo=D97kTu5pIZQ5W9EWdoLp zcW~uIsjJ6gSbiZ7Q9i)P*tWfcpo1a_|U{ve8kYNr9Np$GB%Z) zb;9Yc*si$KYU~Mr zlkYin(pT|n+}Yy3t@hDjN*>tMMbqa6X?HFK>80L@Di`%2!%X2k@5s8OxTOQtwKONM z;y}S#fjAv(nwsqu1Yt149b3kDje(N)LR+TGstu^2ZhD>!q|ck{LLPYapt}Q`8QjB` zfo;{rUyu;GWAq5x?vZyWtgtP@#$Mw!>G?E&Kg4G>G7Ld)bGPn@V6x(QhplGmY~#mH zPB?BJH^ocL@5k)J8?O`}od{x?J5JS>qSOgeC|}u_A7hus+NB!PWe(;URiW&i$l91?U((me@=YkD_NCv-8>x|7b*DA99) zcK49f_JhSIV8xL~Fp7U7xAO$ukI?g*cD+u|KBVZGp=TCd1T#R_@gkiJh0gT7SfU;1 z22(-kD#s1nj6$rCjiO{0|3J^&Qw$`q{Q_BiW`G{@>y06rZA25xSkZ{9Sc?!_5n@3h zKE>+{KVmdoUu5_j6O~w~xrgi_MMy&BF+{0@*qg*OPrFGB(}kOFN6u4Tw{$$95OKJz zz1cJcFXNMlf~6?|X^Le0N)`!?-$BQ~sK!$|kU@mP@F^;h^KK;iaB+vcN9sy-TKohf z^$Su-1sBo{#Th5zC)yN2l%LBzjCC!yqL@Zva7ihDhvJ9DRTWSiati(DGw31N=@{8u zEM>yWE-8QdAkkAb%XP|9;q@y#`jPgN49`d@D2d||%*9aq+Y;P`im9NkMNrw_ajEzi s?>@$Rr+dPpw6DZqvJp%Y8#>r$_?-S#J6GwqgZs40(CSNkjc<|v4?So2PXGV_ delta 523 zcmYk2y-osA5QWbyEaS)Jea4**r{JX-}ZgV!zB^>(HDa&Oed`wAQ# zS|_dBn~TQ&rP~k;ojOhDpyf82Y1KPMK?>D z)fKGvOuD9kNpSdy9froKzd&an#_Ul9Ygkue?>tM ftf@6Ok=2k+I9E}Su3_G181;=!SwzdW^n}}g$v!g8 diff --git a/src/ElementGraph.java b/src/ElementGraph.java index 9e47145..58b587e 100644 --- a/src/ElementGraph.java +++ b/src/ElementGraph.java @@ -58,5 +58,19 @@ public class ElementGraph { return elements; } + public int getInteractionBetween(Element fromElement, Element toElement) { + for (GraphElement el : elements) { + if (el.getElement().equals(fromElement)){ + for (ElementLink link : el.getLinks()) { + if (link.getElement().equals(toElement)){ + return link.getValue(); + } + } + } + } + + return 0; + } + } diff --git a/src/FightEsit.java b/src/FightEsit.java new file mode 100644 index 0000000..77ed26e --- /dev/null +++ b/src/FightEsit.java @@ -0,0 +1,5 @@ +package it.arnaldo.unibs.tamagolem; + +public enum FightEsit { + GOLEM1, GOLEM2 +} diff --git a/src/Game.java b/src/Game.java index 4b00357..8347bc6 100644 --- a/src/Game.java +++ b/src/Game.java @@ -14,6 +14,7 @@ public class Game { this.player1 = player1; this.player2 = player2; this.worldBalance = worldBalance; + this.stonesPerElement = new HashMap<>(); } public Player getPlayer1() { diff --git a/src/GameLoop.java b/src/GameLoop.java index 0619953..b96cd95 100644 --- a/src/GameLoop.java +++ b/src/GameLoop.java @@ -29,7 +29,7 @@ public class GameLoop { Player p2 = new Player(InputData.readNonEmptyString(""" \s - Player 1: + Player 2: \tChoose your name:\s""", true)); int difficultyChoise = difficultyMenu.choose(); diff --git a/src/TamaGolem.java b/src/TamaGolem.java index 5f9e961..144d17f 100644 --- a/src/TamaGolem.java +++ b/src/TamaGolem.java @@ -18,7 +18,9 @@ public class TamaGolem { public Element useElementalStone() { if (!elementalStones.isEmpty()) { - return elementalStones.poll(); + Element removedStone = elementalStones.removeFirst(); + elementalStones.add(removedStone); + return removedStone; } return null; } @@ -35,4 +37,14 @@ public class TamaGolem { public boolean isAlive() { return lifePoints > 0; } + + @Override + public String toString() { + return "LP: " + lifePoints + ", Elemental stones:" + elementalStones.toString(); + } + + public void print() { + System.out.println(toString()); + + } }