From a7e636265804d368a858bb7aaa2b5fbdf04f5af2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 25 Nov 2022 11:49:17 +0200 Subject: [PATCH] Initial commit --- Main/Battlefield.class | Bin 0 -> 3463 bytes Main/Battlefield.java | 73 +++++++++++++++++++ Main/Black.class | Bin 0 -> 887 bytes Main/Black.java | 7 ++ Main/Green.class | Bin 0 -> 887 bytes Main/Green.java | 7 ++ Main/Home.class | Bin 0 -> 1219 bytes Main/Home.java | 28 ++++++++ Main/Lutemon.class | Bin 0 -> 2890 bytes Main/Lutemon.java | 88 +++++++++++++++++++++++ Main/Main.class | Bin 0 -> 1459 bytes Main/Main.java | 59 +++++++++++++++ Main/Orange.class | Bin 0 -> 889 bytes Main/Orange.java | 8 +++ Main/Pink.class | Bin 0 -> 885 bytes Main/Pink.java | 7 ++ Main/Storage.class | Bin 0 -> 4533 bytes Main/Storage.java | 155 ++++++++++++++++++++++++++++++++++++++++ Main/TrainingArea.class | Bin 0 -> 2204 bytes Main/TrainingArea.java | 30 ++++++++ Main/White.class | Bin 0 -> 886 bytes Main/White.java | 8 +++ 22 files changed, 470 insertions(+) create mode 100644 Main/Battlefield.class create mode 100644 Main/Battlefield.java create mode 100644 Main/Black.class create mode 100644 Main/Black.java create mode 100644 Main/Green.class create mode 100644 Main/Green.java create mode 100644 Main/Home.class create mode 100644 Main/Home.java create mode 100644 Main/Lutemon.class create mode 100644 Main/Lutemon.java create mode 100644 Main/Main.class create mode 100644 Main/Main.java create mode 100644 Main/Orange.class create mode 100644 Main/Orange.java create mode 100644 Main/Pink.class create mode 100644 Main/Pink.java create mode 100644 Main/Storage.class create mode 100644 Main/Storage.java create mode 100644 Main/TrainingArea.class create mode 100644 Main/TrainingArea.java create mode 100644 Main/White.class create mode 100644 Main/White.java diff --git a/Main/Battlefield.class b/Main/Battlefield.class new file mode 100644 index 0000000000000000000000000000000000000000..988f4839f8d8147df3ede0d08979d5624d3c5fc7 GIT binary patch literal 3463 zcma)8TX!2*75^=Hi`bJRASh0!x}XJsi6SaZm7tl+Rf*HE^o zp+{gts8kOud-SB~S5BEV9U8iNu@;7gbp~!iA6=a?Eobzo83eYRx1?PbSUZ=T-8^xF zpPYsbZT<@-({ZHNi<_}g!zKfpv84@V;k+NnszAze1U5w;Eq65U)apSY@T6JI=~$0j zReZMz+%nWrC0kVBZ#OW2I|MX8T2&wkF@{2S8En_E!@!3y*a917?5OM7(j*RT$+YY8 z%)G$nq1kM-Vp1cgR@-IZP7Dd8bIPzRDVL6Ow<4_WRtgSZSw1G2th`Ke?^Cc7fK92K>5Fa;Cz$AmU z%6kPwUL~(+U`i#gYe5DYW?F2RsFU=rqpTh^@E9KF5_Tk`Y0QLJDc6Hf2<+&PAYYbT zr@WFO<;^rO7h@Px^RfY%^iD=C2y9#J5~u6cIq98ny{Z`;KUb2qz;YcO^RNt@RUM@- zOlcu7ON*19St5founknfBpY*4#S~S!Fvy|otd42a417{$SZ|pIz7qQe0@O()HW7LY z^_iq;JZ0b<&U5$5a$Y(sAw9Tb@K^^9Cdw}6*$0tyq~|og zY2XF54|=I0ON&Qr)=)nLUR21w{hqRa-_<(!R?PX1f$u8jq{-A;KTnw#dvK9;H^~}} zj)9EjXV?(D5!KYbZ{P>GL@3Nq-0M`W#LkmvO-`VES@yyY)W*qT#gk5`iJuErrDyvx~P?{D0PQThVqc+JP%u* zRw}~R@GF5kR_jLL^1OO2kmVI6RxYD&J24M*%D@MUPcOK2uOv@cDyH=buOkYD61i^R z2cB6wC4-7v_WRc0H6536MZ@cg0dEKlt^&54C3jJdMl^`%dcrL6@L}P-k|b)Z7&$#@ zI%Qk>gA=a1Sg$1yjT`yYW;l7iCOfDA^MjgHT*G9UiNGCU7&7$9_#_%F+xfBR#m@vgDrlnMKRCWqE`>E3YmjuAu)a zZfRiaaQYgyHL#P?EERS)u;((31b)KjZFB~LO!K(vgU)5wVkZpT9m4)8eikn^j4uAD zIs69nt=Dk(o+j>@TJ@uDqCh{^@!S{qInKv+S<2OybuGIl4&Gq4nG0^A!7m6Vr6Nm> zF-n?==dR%X{v%C{57T~Y6Zva6)xg7Qrt|+Wfi&^R+n8=(R;fPmUezaCs!t|VOUvk) z*xf{hE_ODtcu@?{n3LHiTzZHmrD#HNDf;9!v2+EW(wq3~iu&iHPtPl@Ce)0>^Vjhe zKtTzo-?)f-S6r^Dd@E8>4jOn#;VdxcHZa* zu$xrfN7)fx4vHA0<_^sA;`#)cRKYIPN#YBn@e4dDUdAw9r^TBb-@+dJ4R_(6ybS+~ z^!_(l_g{>OP1q*}cm%Viz4r`5(mXo$cYO$j90n(2CVrHW;D#F-@&DKFq6@- zOtGqmU-JKJT#A@Pc)X4AOSg*oHNHf=S0w}@jtcWPw{|_w=kBR^Q literal 0 HcmV?d00001 diff --git a/Main/Battlefield.java b/Main/Battlefield.java new file mode 100644 index 0000000..357f908 --- /dev/null +++ b/Main/Battlefield.java @@ -0,0 +1,73 @@ +package Main; + +import java.util.*; + +public class Battlefield { + protected HashMap battlefield = new HashMap(); + protected int id1, id2, deadLutemon; + protected Lutemon lutemon1, lutemon2, temp; + Scanner scanner; + private Boolean exit = true; + + public Battlefield(Scanner scanner) { + this.scanner = scanner; + } + + public void addLutemon(int id, Lutemon lutemon) { + battlefield.put(id, lutemon); + } + + public void removeLutemon(int id) { + battlefield.remove(id); + } + + public void fight() { + exit = true; + try { + System.out.println("Give the ID of the first fighter:"); + id1 = Integer.parseInt(scanner.nextLine()); + lutemon1 = battlefield.get(id1); + System.out.println("Give the ID of the second fighter:"); + id2 = Integer.parseInt(scanner.nextLine()); + lutemon2 = battlefield.get(id2); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + while (exit) { + System.out.println(lutemon1.printStats()); + System.out.println(lutemon2.printStats()); + lutemon2.defense(lutemon1.attack()); + System.out.println( + lutemon1.getColor() + "(" + lutemon1.getName() + ") attacks " + lutemon2.getColor() + "(" + + lutemon2.getName() + ")"); + if (lutemon2.checkAlive()) { + System.out + .println(lutemon2.getColor() + "(" + lutemon2.getName() + ") manages to escape death."); + temp = lutemon1; + lutemon1 = lutemon2; + lutemon2 = temp; + } else { + System.out.println(lutemon2.getColor() + "(" + lutemon2.getName() + ") gets killed."); + System.out.println("The battle is over."); + if (battlefield.get(id2) == lutemon2) { + battlefield.remove(id2); + lutemon1.train(); + deadLutemon = id2; + } else { + battlefield.remove(id1); + lutemon2.train(); + deadLutemon = id1; + } + exit = false; + } + } + } + + public HashMap getBattlefield() { + return battlefield; + } + + public int deadLutemon() { + return deadLutemon; + } +} diff --git a/Main/Black.class b/Main/Black.class new file mode 100644 index 0000000000000000000000000000000000000000..92002316e812ce5d998837599af696774e8a3f70 GIT binary patch literal 887 zcmZvb+iuf95QhJallV}lbsHKew1u8XY!G<>4iZOEDdi?rCGOZJ+tlFLm2prWiW{Ux zNL=s$JQU*JO(-ahEX~Z0zB%l_@~_`Negb%k$U_O1jk1plssjFzjMH{!RH$K=3RIuO zXrgN4WU+D7fLB~s`6ubnlR%IRPlVap4AEuxjHkirkimR53k1;)Q7>* z-(99<)4kYRZ^PAF;R&Y}IfZ1GZZ^t$>P@VNct(gvT1f2h9wk13gEBU7n^75eW}ecS zGvzU!k{HiR8&64$-!$F<$DvBQ#cUTAKVUC<@bEiC6u1-Eku^b0n;;5;3F^i+z7Z4H zrrm~3>#&K-mL695dJRUKs9_h&r0(M0Y`_-1AYF+rVSl}9q345zf;U@)*5=W5qPq*x zU>@Bdy0;Lm&!c*~{e@^_9^D~&fcvysw*$V0pm!tQt3JVh>gZoY1CD{4S0zmftxJ}o Y_m>FDA1LoXNvB02#f%8Gh?Nlj0mQ?5LjV8( literal 0 HcmV?d00001 diff --git a/Main/Black.java b/Main/Black.java new file mode 100644 index 0000000..66cc6d7 --- /dev/null +++ b/Main/Black.java @@ -0,0 +1,7 @@ +package Main; + +public class Black extends Lutemon { + public Black(String name, String color, int exp, int attack, int defense, int health) { + super(name, color, exp, attack, defense, health); + } +} diff --git a/Main/Green.class b/Main/Green.class new file mode 100644 index 0000000000000000000000000000000000000000..b2dc37586028a16c9d2b3aa0b3466d5a03af8bfa GIT binary patch literal 887 zcmZvb+iuf95QhJao%m3vbsHKew1u8Xydd%b93;fCQp!!LO5EWl+tiTQm2prWiW{Ux zNL=s$JQU*JO(-ahEY0kUzB%l_@~_`Negb$3>7xY8fgPZXia>A_CuyraD%3Db1u9RH zG%215G@9*?@t3$Yh|_+nQ{+k7e|$X?op^BJIq(B4ArSCQyEnN~x>;NlarcveIMmp3 zfECR+J$0ti&r0W31FY$srN$RJz7b$u$KEg=zg6*|IM>;m0dDDR<=mtM>@*%Kfwk)! z36#6pAj<_xNsr)*tVeLAouumBXn3mfjNmDU8I3~LkAjIDno zCa_Jr4Tsic6OS!@tn&5hJZ++iT`ZHji+i&HTl9i-Szf~VdeuVD2MYynwg|1xqw7R> z7oy=jx+IU(fT~PL-YXmX|-+#d<{YGN#2VZ{ilxpMKs_VxN%j|pwPNx ZNxr{CXn&x*|0JCjMHEvKY7#3U`U5fzdvO2& literal 0 HcmV?d00001 diff --git a/Main/Green.java b/Main/Green.java new file mode 100644 index 0000000..56ff67d --- /dev/null +++ b/Main/Green.java @@ -0,0 +1,7 @@ +package Main; + +public class Green extends Lutemon { + public Green(String name, String color, int exp, int attack, int defense, int health) { + super(name, color, exp, attack, defense, health); + } +} diff --git a/Main/Home.class b/Main/Home.class new file mode 100644 index 0000000000000000000000000000000000000000..1b075b3d699ac1f4aa341442ea4721bba8b4d55d GIT binary patch literal 1219 zcma)5!BW#u6g{tnhK2-MDu{p})z+jSMNvcw=qRHw7ICZt<1#=j!ICmH;a}Lf>sDv9 zI6C9#){k;LFHN;r7H;zL&b#-#bI-f?=dUl{04(EyiU^_#x-@hnCXhI=j;(yfa?AP6 zodbK<6NoK2uH&r;L=AIGL61N(2=YCrl3%ml?r&H}DilQH=!K?0*U*Q4f%t~yxcRl} zp)Jt0A1tY2M`l4q5(5fS8ZKb4#T^J(cRjmo*94SftK!?6uLXvTb+gIQ9zhNT7c~sy z5>+1g6un@yg*7WFbRz9sVUWrqMm3D#vQ%wb6-qLSK`BMwvk$9o!Q7JfO=!4+N!n8* zc+48J=UjQt1q!YTr~%>jzT?>{(#XgQV+yXfPM*|k+f|W8MnSG+<#WeK^m^i;inQ z^AC6I+DmJvLPWLp_Cj9-28{Kyspgh|-t^~BP#2$2!X=Ly**YPSQntNjuM8TYYwZn2 z4GZVt|0iE9RsGto{n(L`H zDMaoolvk&Se}eiU$i2gFA0vPs^2EraGI}0&!|XYp$R2U^ zZ35W_j5_8Bm`%WJV5*KZf$1hdnKN}H3FJ?pk|W>1O?i0)vhW#N2n@*q home = new HashMap(); + + public Home() { + + } + + public void addLutemon(int id, Lutemon lutemon) { + home.put(id, lutemon); + heal(lutemon); + } + + public void removeLutemon(int id) { + home.remove(id); + } + + public void heal(Lutemon lutemon) { + lutemon.heal(); + } + + public HashMap getHome() { + return home; + } +} diff --git a/Main/Lutemon.class b/Main/Lutemon.class new file mode 100644 index 0000000000000000000000000000000000000000..486086390e44753b576326f87602ebc868c142c8 GIT binary patch literal 2890 zcmaJ@T~iZh6nJRF`Chn6R5B3u?8tGyMU* z)y}lHT$Br21D&xmo%XivALtKgd)eOguG8o2hJc3Y?&Ll1Ip=vl&gbUme_#Iq;4D7% zqYBkt)M%)MN1^F~zNGhNb#tzFZ1#bXv=uyqX)|p{6sm(=lRnhJ=Y?NGJv0SvR8O0| ziACF3uuO#-Q(rI?niCtljNAFNITx07+cY%FqS~aDwelj_uAvz_6nyDa)LJxcBd?(1 zqG{Fej%cdVDKB;^_??4p&Zlj|PxWpMd$5;V%^7w)f@XjiDCJSwLsv;?~< zuOrxl8V(88OY9Zi+mAMMYB((W`Y1bZ+j=r1(x8Sek@_jUVB9y%f&=c>a8$$|iery* zg6z@IyS{$J(6jcuNc%LL5UEDssQ$=RG}Hg5G`x$`3T+E|#)w*GQnzoW?Rm}$wr<)5 zg-9@7dHYI9T%IlL^y19A?=I#I!}OycoiYSv=$4^JhCVOO(Q3!ZSJNh~jtDLyxQO5) zf{O@lSfSp*jpdmobVN*$F+s)z853kokfZBI4`m%kCIpxeU_yWi0VdE_hY1Dv=%+~y zHznwvdB=4kn$mDvMBbF^cONgyB<#nOkJsTWBD0vxVlqp}EP*M7Bf&~HRZ6-hnYB?X z#jI^iq)p?>;=-(vpU`Ksl=ySZU3=WtB@zv!$;_ypD=8(I@r|_IMb=$Bc0ZaoblXUk z%fh2Osl=0laXHYRoHvr0^V#$g4`Ef^X2K38v!ycgk6VlRq%oY9D`=%ndZeOQod^k+35NK z2iP;JShO{K+5DUt`%VMzm_@1R26tMG=7uA(9IEt*!* z!m;MwD>QvWgo43wH#{8cc#4m&AKSQJE6>@71|rz9O8f33W#OPURD}0sdAY|CHgRMp zI4PIEZmZTt^2iY9Eq+#1GUbID*d+#FzXmeT@)akuRbf-}8I) z3y$G8^x#i^i2fq~H;&^U^eHb+s8*a*hj2=DlRt{nnB(bQ)DDLEFxBSENg&A}PYttk zh15+X=N5$Yb4v0soA?5LYB_4JG6$cmc+!b;eMWmJWgND9k9 z2`j-7mcAEO{Jm1W!VO(-_OMQXAzBpW|BMU#{}7{3hv~PA^vMWLAx^JeqV_W1(RJ$^ zxAEbVTqo>I-!6=^@!)6S%bJEERm z#thZ8L!=R^XPik9ABcKp84;>!mq=q&-*qNM+!OWPW$dS#cJ8D)LA5UGL=m&1)}>c$ zw)q-uzRuhkXKqaJi+Dpmh?wEWG=*DuiYa_X^Pc0*y3P9ofxsSGo5e!O=HE#rHW{8v zo4510Hk$kuYHR3Y3Tdeb`)TNgkoJi%Li09+v`U0A8nq#$Eh3}|dP%q`a+Bs0Ss{DbY!36zK_*;?;pyXr!@TlYR>L`b$k^s_6$RS9NV^|mn$=<8F;_g{ zif4|s8vHv{bLnNnGTB`>nj()yZS@=N*UfSdTed}I6>>aC+OgtciU)i|&d=Ese9S`J F^&b{oY1;q* literal 0 HcmV?d00001 diff --git a/Main/Lutemon.java b/Main/Lutemon.java new file mode 100644 index 0000000..cecda3f --- /dev/null +++ b/Main/Lutemon.java @@ -0,0 +1,88 @@ +package Main; + +public class Lutemon { + protected String name, color; + protected int id, exp, attack, defense, health, maxHealth; + private static int idCounter = 0; + + public Lutemon(String name, String color, int exp, int attack, int defense, int health) { + this.name = name; + this.color = color; + this.exp = 0; + this.attack = attack; + this.defense = defense; + this.health = health; + this.maxHealth = health; + this.id = idCounter; + idCounter++; + } + + public String getName() { + return name; + } + + public String getColor() { + return color; + } + + public int getId() { + return id; + } + + public int getExp() { + return exp; + } + + public int getAttack() { + return attack; + } + + public int getDefense() { + return defense; + } + + public int getMaxHealth() { + return maxHealth; + } + + public int getHealth() { + return health; + } + + public void heal() { + this.health = this.maxHealth; + } + + public void train() { + this.exp++; + } + + public String printStats() { + return (getId() + ": " + getColor() + "(" + getName() + ") " + "att: " + + getAttack() + "; def: " + getDefense() + "; exp:" + + getExp() + "; health: " + getHealth() + "/" + + getMaxHealth()); + + } + + public static int getIdCounter() { + return idCounter; + } + + public int attack() { + return getAttack() + getExp(); + } + + public void defense(int attack) { + this.health -= attack - this.defense; + + } + + public boolean checkAlive() { + if (this.health > 0) { + return true; + } else { + return false; + } + } +} diff --git a/Main/Main.class b/Main/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..81f4b216275b6341d0194e75cec0fe964286d2f2 GIT binary patch literal 1459 zcmZ`(OK%%h7(LgoahwTxha}BoTnhE%Q726sXwsCnX#xQ|EjXkURulK)Oc~Eu3#SMs-a9>}s1NL_V(S6vf`=j?3*X@TCzsi9miUn)DkFT)OG z&}qOl(S?_u%ToHRu4Gjp=K2DIg(%Vu@*94wp-L*0PIWm013kKaufTBbg)a8CuF!8{ z0D}Y)G>Gdo*`3h!TglRRSs;5?dgY)hEfrX5S6YPzF$BI-nLfRo|2Z+ zsy}00w5@_$SC->>?ZE0Y)`D#ngNG+jskvlZTOo6|qN%#faH(`;)%wJ(?5Y`S&bHR} zT%|cYXW~`7M%cSfeN*m{BA(bs+LAM2V@e?HQ(bUE8lAr%W%7%f90+Xj>wArZc$Z$OftBzXRE6bX413!a#TrzQ4k6d@e za!EPmPuXud;_!77Z)jUrIim3R{4~2uCYH6u^vL6}zOD@`Cay(>DrsytTsLteGAPYv zTdGwPw<1GC<%z+-x{0^6AzAiedkl&*wuec4PVX;q7GL2UzTt)Y7U%IDa`+xo_yN=S5wm#2ia#^cFP!jAR?MUG r8O9A5!ob8KgHi@=AAeHy9{8G1*(v?}0}(@sK?%a&;@ajuhP(d)2&_y` literal 0 HcmV?d00001 diff --git a/Main/Main.java b/Main/Main.java new file mode 100644 index 0000000..3fac1d8 --- /dev/null +++ b/Main/Main.java @@ -0,0 +1,59 @@ +package Main; + +import java.util.Scanner; + +/** + * + * @author gessle + */ +public class Main { + + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + boolean exit = false; + + System.out.println("Welcome to the Lutemon simulator!"); + Storage storage = new Storage(sc); + while (!exit) { + System.out.println( + "1) Create a Lutemon, 2) List all the Lutemons, 3) Move Lutemons, 4) Train Lutemons, 5) Let them fight, 0) Exit"); + int i = 0; + String si = sc.nextLine(); + try { + i = Integer.parseInt(si); + } catch (NumberFormatException ex) { + ex.printStackTrace(); + } + switch (i) { + case 1: + storage.createLutemon(); + break; + case 2: + storage.listLutemons(); + break; + case 3: + storage.moveLutemons(); + break; + case 4: + storage.trainLutemon(); + break; + case 5: + storage.fightLutemon(); + break; + case 0: + exit = true; + System.out.println( + "The game has closed. In total " + Lutemon.getIdCounter() + + " Lutemons were created."); + break; + default: + System.out.println("Unknown option."); + break; + } + + } + sc.close(); + + } +} \ No newline at end of file diff --git a/Main/Orange.class b/Main/Orange.class new file mode 100644 index 0000000000000000000000000000000000000000..4dc31fd55d497e70856dbd16035315a53673d1f2 GIT binary patch literal 889 zcmZvb+iuf95QhJao!CyC)@f*<&=z_ku|ebkI7o9m{Cc?Wai?jUHdm_$Ll*I2NidYH$T=dAoNBs}#G*G?jx-0^(3} zD=t3=B|d@;6C1eAlZiWX zPx11Y`sALP&wsJDo25ZzmfHWyL7-TqRvwTSKzJ-~fht=j=#L(n?`@72ukpE~*{(SV)9?W>YD ch1Mmt;Qb{$^8@AmCuvdSQ_O%+hgb>zAHk!1MF0Q* literal 0 HcmV?d00001 diff --git a/Main/Orange.java b/Main/Orange.java new file mode 100644 index 0000000..da8fa87 --- /dev/null +++ b/Main/Orange.java @@ -0,0 +1,8 @@ +package Main; + +public class Orange extends Lutemon { + public Orange(String name, String color, int exp, int attack, int defense, int health) { + super(name, color, exp, attack, defense, health); + } + +} diff --git a/Main/Pink.class b/Main/Pink.class new file mode 100644 index 0000000000000000000000000000000000000000..2c4fb68cf53621042cc70c52010f1a067878abd9 GIT binary patch literal 885 zcmZvb+iuf95QhJao!CyD)=g-j&=%TK5-*5600#+i5S3Ddl&TVUxXF?l61y@E%0qF3 zR11j<9)O2J{JRMSrIDqX+0i$L{a60=`^QfJPavx(!E#{xD5E0aA4PG}=}vMrP7{I3 z<2Z@)rvj~Z_ha-W>Wrdf*y-h2oD3gb&4ec&TzC$uK33ohc&6RkIQhh0QJzPA2I5dt zt3K8=;tbRWm3&q@x9+2^bC#N(>+>}q8>Y=Tn!Z-iC_mHL>ppJiY~{?P1neXlD}nme zg#^m|bd+WSrFcN_c{(7t){PVOW->li*>Q9_V#XV){Mmdxs~sK+RGE1(+l-TVcsV_% zJPeNh?lLQz?Zw`D8?N3CPdGKts3W`d(n;1=uVOPq>+n#^h+STz#0PL;V-q(S*|;_L z6waKfj`38)c;4A~Dq{SW@h&(G720iPd$9Nc`||#S?+`L@3OKS{peC&Xfeh*e8pbxi z5fj*<-GM{vvWdr*Rjl*vnvAwk!yZ;i-Nv2yfNgp~x-2i?e7$U;=YxfUH(Q3*7SRo& zdrQ$^5#1!ZzZ7jOqI$c#OVQ>cx=Zu`_h_|l2Yd}d?@8XPQQ$vy^beu|*TAjIk`{&5 aB`fmX1p@m$<^3n=tSF?Il2Dsi3E>~t%X+T> literal 0 HcmV?d00001 diff --git a/Main/Pink.java b/Main/Pink.java new file mode 100644 index 0000000..0db03ce --- /dev/null +++ b/Main/Pink.java @@ -0,0 +1,7 @@ +package Main; + +public class Pink extends Lutemon { + public Pink(String name, String color, int exp, int attack, int defense, int health) { + super(name, color, exp, attack, defense, health); + } +} diff --git a/Main/Storage.class b/Main/Storage.class new file mode 100644 index 0000000000000000000000000000000000000000..26353e07a52af890e4ab4b8e8ba94ad615bff841 GIT binary patch literal 4533 zcmbVQd3aP;7609k@FtHJ_Psz}sfG+Bgs_Q(eIH0zOaO!0_GRWJc`%uYGj9TIp$l!L zu2t*C;@Ty)R$H){0MQl~s;zZjThZ#L{_9`<;ivu7-??wL1VrkW@4kEQx#ygF?(Z!3 zPG0`k#peO6#ve_TVU&S#3l$ixF#e#^=QPBfL|4PEj)QL0R~Ws@OL+bog;BNPeFj1b z6EsuC_u>uPoOE}K(`&-Os7j21WuVH!Sd3G!S{yIY(CQ~sPM51-r1PUm%~#1c8JI9k zZ)?;^B-~UbCSkIHDHf(;+A!-{?@0S@k3yN3P?!>E^pXvcL~q7#^;53X(_~^iX2`i_ zDon4vCQEpq7(L6vY|If8gIyI$P0X1>6K#b`eW-289@j*5aO7JoyajJnDDNg!VN7#@ zg(CBKDm`yY5e+ZVwVtM#s0l>pTUdZPg^-_Hm7T9*r<#R4yQXh&d_V4XdTu;sqCU{l zXkjsyaOaNVqQb;LQHem4pt;P#a=eYsOlIiYB5=D?ULp@%2ya(dx;_@O8^iYgZqIk? z?8RYwYsz&Kb@r05z1vG1soh)+{^pZIOPg$>w9WD@QXzu8L=*vYlwz=x&WCN^V>fvpy{A(D?E z%@9fWZkL;)ie4v`b~*ho`$Z%Kc35ae3xhq{o%EvIO+`Z3r7&)**XP=vZ##Cv>2X&I z?;Z>9Kr0#+ z>Jvf+O4K!QK*7`=*Z7Czn0F2QuC_)HZHHr_15s+}a{Wk5XLCf* zb1ihDi(ct-;u&{Wr^3|QNGZ}eAel}EJPQYLh{DV=g%zdS2j!xvWcwVYR9B89xzl4I zfh14q#A3}E=5mq&F|jrhgl&$(XfW{JJQO+rLrC)wdT62-x5~#ca5$fv5}P61LHEeW zM4zzq3Cl62h=w$X+7Rxczk{)fqr!Gn*zV77rz1Lq2f1A?xQ`3daX2BopFWEu2$>hN zgOFJm!Uq+?ZQX9lwH-FU+qFBB@p$qu!`jXrC~Z5wE#+gSVDMoJAHl=Ko<0$xL}(7K z((0?$w8@33St#&n16LI06t4lXG?mKq`fjYi#Be8~g;&ywVX2sVUESDe&DLZl6?M0G zazZPoaiQ#vn|W)M@x2#9xxCGw@Dt9;@KZKkdwR@x)IF~@_K+8m?)kRSJs&E%=Tn2d zK^=TB^7}K+lGLl%ubn>#HGc?3`yeU@U~)LV{TwC^V)_7X;;fnrHxFPghcz754j{~7 zJ%bTETIlycRxbS3$oZpzU@zOAE>eNVXI)fg>5(6F*aGfGKBVavhJSv zu0gz~nIn_Jx1UFhUH5*@=gOQd-jA1t&>JwP2I02|b6pl0GP4VqWzI(CGehVLn2!wN z&Yi+spT%8dW*0EaoQ=%MAsh{u?;gaxE6as@MtK(ZkzM+LUsL2miPb|m9!NYei1)3m z&=M6{oDd22ISHZ2loDeEtcM8JS&c@RE^lLqh)3?!;V_9IG#OJdg|n#$V+J{unY~HqWcuQ8}K?dF79YKUPq4Z!xPVg%Coz+QFDTmZSPNO{geS<{|L;GE+>?P^IE$~mDY>r&a*MKf z_J-vo&;wYPql)7u!n%rJtj02i_X@1VI{rnm9zA>p_hKWCU=#1w&3GJJcu8*6kj%#D zH!$76>3^X54NMy`AVR;+BUE;YIl=-^RwXC>x>!tz3OO<$)bk^$+pkI!s8?vLE=T zS7<`W;zf4XkzT;%;d`G_(?o<3AqoN;1ADZZEWRfqvc@*jp6~bLRgy>8gUdn_k-(no zNT0q+`V>x(_CM^=%E>m;o|pO&A$j--Phy$S*mCGzM|wn(*P)@1klIT-lCMD6U|A{@T^G)*o zH~DC0CE@QgvW5a2UM}7n^4|>LF5VtT$?+;B%Jc storage = new HashMap(); + private int choice, id; + private String name; + Scanner scanner; + private Home home = new Home(); + private TrainingArea training = new TrainingArea(); + private Battlefield battlefield; + + public Storage(Scanner scanner) { + this.scanner = scanner; + this.battlefield = new Battlefield(scanner); + } + + public void createLutemon() { + try { + System.out.println("Add 1) White, 2) Green, 3) Pink, 4) Orange, 5) Black"); + String a = scanner.nextLine(); + choice = Integer.parseInt(a); + System.out.println("Give it a name:"); + name = scanner.nextLine(); + + } catch (NumberFormatException e) { + e.printStackTrace(); + } + switch (choice) { + case 1: + White white = new White(name, "White", 0, 5, 4, 20); + storage.put(white.getId(), white); + home.addLutemon(white.getId(), white); + break; + case 2: + Green green = new Green(name, "Green", 0, 6, 3, 19); + storage.put(green.getId(), green); + home.addLutemon(green.getId(), green); + break; + case 3: + Pink pink = new Pink(name, "Pink", 0, 7, 2, 18); + storage.put(pink.getId(), pink); + home.addLutemon(pink.getId(), pink); + break; + case 4: + Orange orange = new Orange(name, "Orange", 0, 8, 1, 17); + storage.put(orange.getId(), orange); + home.addLutemon(orange.getId(), orange); + break; + case 5: + Black black = new Black(name, "Black", 0, 9, 0, 16); + storage.put(black.getId(), black); + home.addLutemon(black.getId(), black); + break; + default: + System.out.println("Invalid choice."); + break; + } + } + + public void listLutemons() { + System.out.println("There are the following Lutemons at Home:"); + for (Lutemon lutemon : home.getHome().values()) { + System.out.println(lutemon.printStats()); + } + System.out.println("There are the following Lutemons at Training area:"); + for (Lutemon lutemon : training.getTraining().values()) { + System.out.println(lutemon.printStats()); + } + System.out.println("There are the following Lutemons at Battle field:"); + for (Lutemon lutemon : battlefield.getBattlefield().values()) { + System.out.println(lutemon.printStats()); + } + } + + public void moveLutemons() { + try { + System.out.println("Give the ID of Lutemon that should be moved:"); + id = Integer.parseInt(scanner.nextLine()); + System.out.println( + "Where would the Lutemon be moved? 1) Home, 2) Training area, 3) Battle field"); + choice = Integer.parseInt(scanner.nextLine()); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + if (checkIfExists(id)) { + switch (choice) { + case 1: + if (home.getHome().containsKey(id) == false) { + if (training.getTraining().containsKey(id)) { + training.removeLutemon(id); + home.addLutemon(id, storage.get(id)); + } else if (battlefield.getBattlefield().containsKey(id)) { + battlefield.removeLutemon(id); + home.addLutemon(id, storage.get(id)); + } + } + break; + case 2: + if (training.getTraining().containsKey(id) == false) { + if (home.getHome().containsKey(id)) { + home.removeLutemon(id); + training.addLutemon(id, storage.get(id)); + } else if (battlefield.getBattlefield().containsKey(id)) { + battlefield.removeLutemon(id); + training.addLutemon(id, storage.get(id)); + } + } + break; + case 3: + if (battlefield.getBattlefield().containsKey(id) == false) { + if (home.getHome().containsKey(id)) { + home.removeLutemon(id); + battlefield.addLutemon(id, storage.get(id)); + } else if (training.getTraining().containsKey(id)) { + training.removeLutemon(id); + battlefield.addLutemon(id, storage.get(id)); + } + } + break; + default: + System.out.println("Invalid choice."); + break; + } + } + + } + + public void trainLutemon() { + training.train(); + } + + public void fightLutemon() { + System.out.println("There are the following Lutemons at Battle field:"); + for (Lutemon lutemon : battlefield.getBattlefield().values()) { + System.out.println(lutemon.printStats()); + } + battlefield.fight(); + storage.remove(battlefield.deadLutemon()); + } + + public HashMap getStorage() { + return storage; + } + + public boolean checkIfExists(Integer id) { + if (storage.containsKey(id) == false) { + System.out.println("No Lutemon with ID " + id + " could be found!"); + return false; + } else { + return true; + } + } +} diff --git a/Main/TrainingArea.class b/Main/TrainingArea.class new file mode 100644 index 0000000000000000000000000000000000000000..b10666f2050f6ee7a1d1a4983fe754000f7f30c1 GIT binary patch literal 2204 zcma)7TT>iG7(LBxU>L4RxP*j|n8aOz*$5hAHbDbOz$_PC0+M(emd-LT%&arB1YUfz zD*glW3wTvaHzrnD@ztN>V=ASdo|z4^1zOhD?oNMm&guTH{l{O=egkk5dphb+uc5&} zBbo#{H_aV0W1CJfv#_=)3xPn>4a>2Dae?|&dRarWKvxJV2bP_gG5w7>v!p{qeG6J) zXlOIgjt-*cOv}kEdHl7U;w?{_0?k3Z6gZYUq>|Oqg>DVU3>?Ra>OSFNW}QG5r6-{6 zn08q%JP_zf&88!bB!U_mdJXiUpC>Mr>A zhA{ynOlhthFcwY=-o{l8?-;m-cWWvqzvmM{eOHD5L=Hzs>)``3Fu+WRyLSB z9d|HqU_munW7r8AKB^*adr~?&7BR13NuVX9En3c&j=Zw12(*T_1&`fHtz~7sSEWzb zW`WRE%#)k9ijEnSJ(la$$lYYK-bh3s?yGDrnc3`kmc=mXu9M%9vm7~J-d>a5lDTHn zqMPgMaS5=(QnR(x^s+!()GMz*4eV59&Iddrr$sE(%2Zazg9>4?H{!X%b6h*h{{LLi z^KRKI$Z1O*yQ{jDnnagXK3TI9t{eEwL}^Y28}7Q_(F9w^HXIGEDz1{i`7rfiD_G8s zyCpMGexrJuHVf>>J%R6%6%Yd>(HYZOx21nR=ek?vQgZUdg_1}|4RL9&B#(gKPvGN0 zl`P;`V$!tjJZmo747SyfNQv}NSaSXl&oflyR34JMCFxnxDM$_}W7ct`H))%`FMSPV zfeVK`KguBu4+RGQ8_E$Fd5^QaBkI_?tS@y-@c&b;>hKw_A2tP=`1?66S5VIM z#PF}sR-d5dXXrnK+%NdsP6W_QohIt&M1Ki0W)Jh7dfPty6ZC;!&^b~;&&mN;U3x$p zKka0!p%C-Zw1;o1yb4YpqIJPQHwkRxnD%G9-M5NX!QfMz6Ube9ij=@(l=*O3;5kO; ze#Bcm$#s6mpWzlz!3QJ1nNj|}+=?(X9p4a<>X zxq?sj(M7}RW9Zaat>FIt-;b21bx={dP7i?-yoY))hF-4wFok{&qLa9b0Y?869^f=f zeh?3F2455T4bI^aFQj!cd!fBVn}+mDHS0$^J3C*X?FGdJB#CulvQBfQlGUjE|DF#b m+*^eQywIWy7a61tuIpf7lmE?pyT$KU@VQd?3$TM-^#21}&o2M~ literal 0 HcmV?d00001 diff --git a/Main/TrainingArea.java b/Main/TrainingArea.java new file mode 100644 index 0000000..801086b --- /dev/null +++ b/Main/TrainingArea.java @@ -0,0 +1,30 @@ +package Main; + +import java.util.*; + +public class TrainingArea { + protected HashMap training = new HashMap(); + + public TrainingArea() { + + } + + public void addLutemon(int id, Lutemon lutemon) { + training.put(id, lutemon); + } + + public void removeLutemon(int id) { + training.remove(id); + } + + public void train() { + for (Lutemon lutemon : training.values()) { + System.out.println(lutemon.getColor() + "(" + lutemon.getName() + ") trains and gain experience!"); + lutemon.train(); + } + } + + public HashMap getTraining() { + return training; + } +} diff --git a/Main/White.class b/Main/White.class new file mode 100644 index 0000000000000000000000000000000000000000..6f7a02cee539671dae9440a24756d26b83b9611f GIT binary patch literal 886 zcmZvb-EPxB5QWdiPW)4+b(^+ON(*Tzi47tTz>kFZ5tULdC@SKPZL&=aiBlN|<)OGi zs)fV_55Pkq&Tc|MX=G_;cl7Pd*|YMm-#>l=c#POb36=vpKp7Q*;7BHEt3A%uaFhyE z9wlj#KM`m&+aKi@*&4{S*E-I#B<(%CT8U0PxbPhK0hSO5_@>>vev&ITlX)&Xp9I9A z#+C!DXvXQPGnIZ;y0#i%P1h_nIoJF302_Mm4dvvOl7qajtJeZt*VRhjlmzTl4mn`$ zsv?1MXEYdP0;Qx&@Y$$KaHXB3>h*Yds)lhmfI^onjqmk@#JQ`;m^)k^zd}G7|Z6xZvM~P41!p0VEaAjkA zmT8^Y(;ky)iOIaQ$+X1en`b_+PMQ=l4K1;RL7FHkda z^BXCFUB+EFj4pe4d^R5;qn@#iDs?WCx`o@b{yWTqbUD6&^YyZY9uKTC))%7Hd31y5 z-a<5-N4JRXFGOqes8)ApA-Xw_)`=eAE~B>XfR7=Vy_ol^75L8`{fB74HE`qdNP|A> bBTMo73xxIu+WXJa>7j^b#)O*0N{Idd2B>>~ literal 0 HcmV?d00001 diff --git a/Main/White.java b/Main/White.java new file mode 100644 index 0000000..c0c9c79 --- /dev/null +++ b/Main/White.java @@ -0,0 +1,8 @@ +package Main; + +public class White extends Lutemon { + public White(String name, String color, int exp, int attack, int defense, int health) { + super(name, color, exp, attack, defense, health); + } + +}