From 6dd4cc2e8c40ddead13eb9062db6c7f1dcbb8b38 Mon Sep 17 00:00:00 2001 From: Zening Li <zeningl@student.unimelb.edu.au> Date: Thu, 15 Apr 2021 01:31:20 +1000 Subject: [PATCH] Update 0.1 --- Automail/.idea/.gitignore | 3 + Automail/.idea/misc.xml | 6 ++ Automail/.idea/modules.xml | 8 +++ Automail/.idea/vcs.xml | 6 ++ Automail/Automail.iml | 29 ++++++++ Automail/automail.properties | 2 +- Automail/bin/automail/Automail.class | Bin 757 -> 759 bytes Automail/bin/automail/MailItem.class | Bin 1890 -> 2016 bytes Automail/bin/automail/MailPool$Item.class | Bin 631 -> 695 bytes .../automail/MailPool$ItemComparator.class | Bin 1042 -> 1062 bytes Automail/bin/automail/MailPool.class | Bin 2678 -> 5057 bytes Automail/bin/automail/Robot$1.class | Bin 0 -> 746 bytes Automail/bin/automail/Robot$RobotState.class | Bin 1125 -> 1156 bytes Automail/bin/automail/Robot.class | Bin 4581 -> 4601 bytes .../ExcessiveDeliveryException.class | Bin 422 -> 422 bytes .../exceptions/ItemTooHeavyException.class | Bin 382 -> 382 bytes .../MailAlreadyDeliveredException.class | Bin 410 -> 410 bytes Automail/bin/simulation/Building.class | Bin 380 -> 380 bytes Automail/bin/simulation/Clock.class | Bin 510 -> 482 bytes Automail/bin/simulation/IMailDelivery.class | Bin 161 -> 161 bytes Automail/bin/simulation/MailGenerator.class | Bin 3797 -> 3847 bytes .../Simulation$ReportDelivery.class | Bin 1495 -> 1491 bytes Automail/bin/simulation/Simulation.class | Bin 6480 -> 7497 bytes Automail/src/automail/MailItem.java | 6 ++ Automail/src/automail/MailPool.java | 64 +++++++++++++++--- Automail/src/automail/Robot.java | 2 +- Automail/src/simulation/MailGenerator.java | 11 ++- Automail/src/simulation/Simulation.java | 46 +++++++++---- update_log.txt | 35 ++++++++++ 29 files changed, 192 insertions(+), 26 deletions(-) create mode 100644 Automail/.idea/.gitignore create mode 100644 Automail/.idea/misc.xml create mode 100644 Automail/.idea/modules.xml create mode 100644 Automail/.idea/vcs.xml create mode 100644 Automail/Automail.iml create mode 100644 Automail/bin/automail/Robot$1.class create mode 100644 update_log.txt diff --git a/Automail/.idea/.gitignore b/Automail/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Automail/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Automail/.idea/misc.xml b/Automail/.idea/misc.xml new file mode 100644 index 0000000..1f35e34 --- /dev/null +++ b/Automail/.idea/misc.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_16" project-jdk-name="JavaSE-11" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/classes" /> + </component> +</project> \ No newline at end of file diff --git a/Automail/.idea/modules.xml b/Automail/.idea/modules.xml new file mode 100644 index 0000000..7ca9c9c --- /dev/null +++ b/Automail/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/Automail.iml" filepath="$PROJECT_DIR$/Automail.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/Automail/.idea/vcs.xml b/Automail/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/Automail/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/Automail/Automail.iml b/Automail/Automail.iml new file mode 100644 index 0000000..1666f24 --- /dev/null +++ b/Automail/Automail.iml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="EclipseModuleManager"> + <libelement value="jar://$MODULE_DIR$/WifiModem.jar!/" /> + <src_description expected_position="0"> + <src_folder value="file://$MODULE_DIR$/src" expected_position="0" /> + </src_description> + </component> + <component name="NewModuleRootManager"> + <output url="file://$MODULE_DIR$/bin" /> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + </content> + <orderEntry type="jdk" jdkName="JavaSE-11" jdkType="JavaSDK" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module-library" exported=""> + <library name="WifiModem.jar"> + <CLASSES> + <root url="jar://$MODULE_DIR$/WifiModem.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="file://$MODULE_DIR$/src" /> + </SOURCES> + </library> + </orderEntry> + </component> +</module> \ No newline at end of file diff --git a/Automail/automail.properties b/Automail/automail.properties index a2e6ec2..5617235 100644 --- a/Automail/automail.properties +++ b/Automail/automail.properties @@ -11,5 +11,5 @@ Mail_Max_Weight=2000 Mail_Receving_Length=120 # Robots Robots=3 -ChargeThreshold=0 +ChargeThreshold=10 CommercialDisplay=false diff --git a/Automail/bin/automail/Automail.class b/Automail/bin/automail/Automail.class index 62843ad187fb228ee40a5d26040d3cea93fada0d..2ab9fd12dd68e38ea997f7231794a868ddfcc096 100644 GIT binary patch delta 368 zcmey$`kgiE)W2Q(7#J9A7&N#Tm>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F&~O1QSb3@^ce2bMzgdjENzNa_kIzj0}8m zsi6F%{1T8x0UicH2BC@OvV2?&ybK~BD@7R@3^gV<GD=OBWR#fLU^!WzQIm}^laYbZ zb8;AC@Z^n*$%z~cObiSRObm=5-3$y2j3B$gG$R8mgBSxNgE#{N!zKoH237_J24k)5 z42)XZTN&83WcM=gZe`$SHe(TGkzK?ft+j=LUzBAx18<~`wkXSX2I1fq7RKfOpH41i z(uxpakYkWykY->3nZY2#Aj<#(#$dY`!D4a@@?e)3Gbk`fGcYqKGB7ZRGcf&U5Mf|t bXW(FGP-16LVPs@r_{AX0z{sEmcC<PGs<S%= delta 357 zcmey)`jyrE)W2Q(7#JAL88p}#m>3xZ6H80-a}zUj^c|rLb_Nzk27#=^vPAuy#JqHU z|D>$c<dTUqWhX`{axyZo*<|Krme@`FV(rAmz|6qQ!@$YF$H>5}p&7=>z{nuL!@$nK z!OkGW$iN3TIw(IWzXT*J!o$GIz{bTO$RGyNCqD6j*<?dT^~nj0fozPPj0}vKlh-q* zCNeTGGcYhPF))HuGcYhPg3JWdj0~I%Tnvm1+zbp18yMIbSQ!`?jJ38i@MvjoW#HG6 z-OC`jl|h)<jAc24gw_@YVNsUd41$q5+M+Dm8AO9ySQtfFWEcK_F}ajUD~y4`m_dp` zngIli!8S00Ok<E?kY!*3v*Z}$8JHPF7~~if7~~mP7!(;87(^ME{xgU(u(C5SvNI^L TGpH~!GBAiRFfyotovaQ3xI8)W diff --git a/Automail/bin/automail/MailItem.class b/Automail/bin/automail/MailItem.class index a7c448693495b3db5f22c336e5b7ff348c696be8..b7c555714d8f522def3fff93345f62e49c16cd2d 100644 GIT binary patch literal 2016 zcmX^0Z`VEs1_m331TF?924;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3Vi#L|-d+{DZrec!~)9M6)}Tt)`Ll+@yq%)G>s z%>2Cgw4D6>B1Q&APc8-y20k7Jeg*+X29Aux;tc2flvJ>po?Hw<48rUTB0LPD3}Prw z2reng%u8ovU@uF|DNXfHV`LE3@YM7{xDlej8ssVo9tKGUDMkjS%oIijA?#{oco<|s z&gMxhD#|QN%!x0_%uNMpmgiwm07<Zwr)H*Slz@bkco>u!R2Uh!ic^cqGLuu?Qd1cj z7+p9R)EF6@LB3T0dDqHH!PCV`LDj5Sp+><GVycybs!57Mje-jz9IO;njX*--VB^6G zxEM4TG}#%nK)%*yWDrDn$}_JdH9fV6kwFaAvrutsP<ZL`Fz7MpGcvHH<rn29mM}6{ zYG8Uf8c7Heo7PwY50nD<Kt49&VK8PeVPs$jMUQV{0V4xH#DLNga0C}vb2FGRn6ooj z@Gw|1STQp2g53<0Wn^GZPc30&P(yYJ7HgqGARBFX7;Hho&YGNGnpXlc-JXZRfx(fH zfw`cxgpt7li%}3KA*E0hKS2!#1+Fs>g9|vdW#*NHfzl5<gBvWI!EO#IN=@}mEZ|~r zWngAx;0(@8&r2*RElOo%Fo#$IR^^*mU<2WT?Sw@F79l%pMg}$wPft(HFh&LzNc!gY z$;?ajE6q(xEec6Y%1H$!&HUuVoUp{AOb{O`$WoG#S<J{F?1Pb?tQi@&Kp6^_lX#0$ zOM;P7B#VX%$U2Uad`MnkWDwE763L7VJn5+=pcLr_$&sw-sU@B%j0}9~sU^^K8<Lru z%E-W(o>~G)ri=`%pp;+$au+zJQ38OGfdwSX$iN$1l9-(Bn^*w#3x`c|4z$GJ3eGPr zN=|jl1bLhnlxaYDMh|2dgCYY50}}%S13QBVs4QV%U=RUiU@$Gqzyqcgz%&ymBQh{B zaDfsFm^NlGVPItNU|?WiV(?_(WME`qW$<EPWbkHSV5nwbVqjrlV360^&cLW8y_JDo zOKTeg?+ymRtqkH?GFus>wPd$4$ZZ5`_F-UPkYZqCU|^7AU}2DF;ABu>5MfYckYrF| zkYiA0@MU0N(1IAp;K$(400Qz10Sr70j36sOr3u&*@}S~_fti7kA&?;m>JU2yW(H;k z1_m}Q^{otw2>U?!je$Xpft5iWY`z%S1U9(&Y+&y)GB7d(GlW3Riez8~+o&(3%D$I@ zDUw-h3xjxYB#YJ-2I(CP>cNq$T3Z;{!7MhdEevuX)(!@p4RBAgfwgOcErd8;A8H{Z zLnwm))Ea#TkhKg9VAIy1X*NdE%nH{W26rQ}W^r_zt+8qj$7-`Qy3Nj5HAi68EQhYy z8>?o1xaNt_Xfo5<&S0>ELEUE)gQ50L22&=60}L9zI>#BLH!)a8vLtL~u-?I-?hBID z*~wtX%n+`#jll_I8#4na83}=tNiYKkLkNQ?LnwnGLm1d*1#luTg9aD}gC0X9Llgre zgD8U{Lo`Da0~13G0|Ns$1LI!?Lv{uYb_NXw4u)6;P=tY!vo<(&Ffi~lZ)ULG&EOij foxy!GgCQt6F@o)dBqu)x76yL?Mus?Wq{RaOTv~^) literal 1890 zcmX^0Z`VEs1_pD6D0T)WMh3ye(vtk##LOIh-^9!u&yv(!b_Nzk27#=^vPAuy#JqHU z|D>$c<Pt^(!IaeElFYoslFa<P__Un-{31pMMo&ftrpy#Z1|c7WhTxK-%)E4KMh2e5 zqN2>Q#GLq&%-mE)2Db9l%=C;BMh4d8{L;J<Mh5nb#NrI!!~#YJeu(zc60kc8tQi?N zgEQ0f5=%;pQW+V{QDto)T(ILj^GZ_FQ;V#z2-#UPGH}===Vaz(me?^eFl%UrF*2|? z=clA{GB7fT@Gx*Qu(30UF)|2(oes7;q$oAjH?e?=L6kv)he47-kdcAS25bOGk2DVh z4+AgAwV8RTex<odsYM})Nja$?@8>5c=7c2{WrFxnK{gFfPfyJ-E(T@>36OS09tKth zHZBH624x-w6$VvC1`bdFfLsK2o+lTBI)f%Vg9b|QLqd~>L5o3~k%7G|F{d=uKaG(= zRKrsf$<q*3)*x$ic^KFkI6y3Y9tKVZHW15@hk=WMjgf(+BqOt!kwMr8Bi5}M8Mr_Z z42xNgl6;7nj0_?gSZv~8uwZ0x2BjGVP@=K2Qt))KQcyK3R;W>MghacQf~rZ1LXCn8 zBHdUis2YKU!oev4tbmKbiou4R!5S71$k7V&wJjrq7^+`kaSjSDdmaV{21iB)wzT}B z+{6+_21^ahP>Dtof~00^EIwjn;7Ly{0XfzUlDJvZQ%gKk7#aA|Q%j&;3IQi%&h*q0 zhz~$<tIW;d!QjQt;K|6qi%3bni3L0i-V8pB49w}NC5#Me$nL`82&fRqEI%Fwe}(`? z2Ihj&5=I6KEE@6q2Wk{3V1sxVg24$bGp{5Jlyn#wSV3vd0F(y6jztb`YeohZkSrqu zZ*WOsa<*?`0W>Ld1?QI*C8xS&f)YC~DAqxdt_L!KL6L!xfti7UfsH`~l)f1l7(_q` z5KMD2uz_hVFwF(ZatsU%T%c^kz{tSIz`(%7z|X+Jz`-EEAjrVTAjH7HV9db800R8X zn;C?6Gl)iRXAs}aAhi*!SO%;eq`-rLg~5|S7A(rZz{nuUAO|&|nt_Rdg@J)VUTZsp zyq5G<1_dpxZ462~7}T~h=xE7oWzf@--O6BqFi;BYIvEBQ23ZD91~~>126+Za1_cH= z21T$1S`gzHj2MhT4r7pKFkxV0U<6qK%3xsk%7Zc(12Y37gDHa<)FF`!tYB68Lgwsy z8JHuPwYD(m1V^%HZDG*c!C)C2$*Q%5K>^HS)7rvd0AlT6u-gFk6Ue6!OH{#*;DHzg zbp#`W6N4($8hr*vupHR5HE5c3ku<ZyH9N!Ih^$!$-DXp)nq9EktcPy1EmqC0ST!4< zYj(w|Sp}|nA_Frx(V1y&XK>rWVCl1oK}vfkgF6$$0R}5yo#PDBn;3*6SrRrg2=8F9 z^aaW4>}2p|W(e2W#t;ayjhO)y!b0Gv^=05-@M92V@Mkb&2msrx05KgJU>pp33?U4m p42%q-42le4451864B-q64BQNie;Ewf8LZeDtQZ&>BEVrE2>>LHaL@n% diff --git a/Automail/bin/automail/MailPool$Item.class b/Automail/bin/automail/MailPool$Item.class index 3d1e38b51eec6c8c4e1491fb8dbf424bf38c1fc0..57d68b1c09374ced969c23f22b50f4af1f8b375f 100644 GIT binary patch delta 474 zcmey)vYl1@)W2Q(7#J9A81y(9m>8JZ8CZB2SQ*$R@=8w3m#^ny;9%fnXW-&t;AY@q zWDv+oEKAhSNz6;v_fN`7O)g<%V6(~0%Pg^DWMJ0N3<DX#$HTzSAi&7LnOW?YTJBkr zn#;(*7{$dP#30PhAi~2S${@zbAedNMlAoKHnWOKUn3)4n#FL&{;*wfi;+B)2Uj#PK zQw?OG1P_BGgA^kJcS>q;NoHPRNoIZ?BLkx+NKS@_L6$*oqMr&^az<iNdMYCWqszqU z#*_6JGwM0~Qj1GG@{3E@8MM)D49L&VVPxR(%*#tHa?VLCE>10GWMBcggF%6TiGhQG zfq|8Q0c0-&2*@)ifGCj1z_cub90P-Z04Sgs7#J8C7#X-36d4#9lo%Ko5<tPoz`#%~ zqouu-fl+Ha1G^T>Rt8=zoox()TN%W)bha``Z)9L#U}8{aU|<jfTO`52$soeO#~{fd z#vsKY%^=O70+wT9U|^78P-Rd9TPp+dEZBH;uzn2&O)#y+pu@nxz{SAGz{H@%pv%An E00WLoxc~qF delta 462 zcmdna`klq^)W2Q(7#JAL88p}#m>3zv5=%?+a}zUj^nDXEa{}`7b5uM_QghiESQr@u zvJ%S@^>Y&Q()In5vQm>v7#X-zQj1G6^Abxk^Ya)P7(FL`QJH8g!^z0NW|NthSz<R? ziP5;8lYx<epND~yfs2cQnL&_;ftx{yk%3u5GmMKtgh7m*L6ng}5XD}Ql{^gM3=)hC zJn5+=E~&*OZaMk+MPOZ?AoHYn7+4wDKr9&^26hGxMh1SL%)C^;(%hufqL9R-oK!{z zA)ox@#GJ6n1&qG+Jf3-ZsYT8?iN(dK#q12K=r)3U%E-V1vY3&9!!NbC#3R4Bgh7FU zk%5_k0gPE0*cd>7oq>aaK|lcH9|i^nMg~R(ZU!C(Mh0F628M73Ca_v@E$yugd|KNX z1hjOvF$ix>Vvy9**~%cjk%57Mi9wcufkB9Yg@J)VjDeFuoI#L5f<cTyl0gnE!o<M9 oAkHAqpa8OrK^){eu&Ih*y-Ezq3=9lhV0%><)EJl;)WPB^0BV#{8~^|S diff --git a/Automail/bin/automail/MailPool$ItemComparator.class b/Automail/bin/automail/MailPool$ItemComparator.class index c805875b7dcc0b6cb1b79f61cc9a1ab251999238..14d2812a6cf864e01e29eb8416c4341994357ec6 100644 GIT binary patch delta 581 zcmbQlv5Z6f)W2Q(7#J9A81y+Am>8JZ8CZB2SQ*$R@+wbEkhkYz;9%fnXW-&t;AY@q zWDv+oEKAhSNz6;v_fN`7O)g<%V6(~0%Pg^DWMJ0N4C7?rW8i0J5a3}DWDsIx5Su6< zCd0_UoswEyl9`uSl9`{!$iV2y#lXZM!owiSAU0W)(LsuxL4uJ%1Z;9?NoJ0|bAE0? zVo_pAe$m7Zg^7nkC-*a^PL^g0p2Q@}$>En;T;h>mTr#<uNwS{DGcPZ-$T=smxHz?# zk%7;%BsCYIn~{M9B*37^z{J48z{nuZz$hR9@*4vK12Y3712=;t10#bJ0|SE{0}}%i z0|Nt>miAT#My>4(>>C*v7?>EO85kJY7#JBC7~~ja7#JADAgUN-8RQrk7#QjqxWL9S zGBAQX12wFRfr){Ifq_Ah*-m>41Fy~&2Hr&s94vOr83bVbB@C=gcCu^0?f}^##lQyA zz`(?y#K6m-%pk;|!XV3_${^364z^bdVj#?321N#W1_cJj6tE^m1_iM5<r$P1gcz6^ zlo=Qp*cq7qFbFa72sko`GN?cuX3oIOz|6qFz^kQwfPqiv00ZAP24RpRFg?lx_B1cZ j!pZlTC8e1dv>0?47#M`WHfb^FGB7gmF=#R9F)#rDnVeC8 delta 604 zcmZ3+F^NOq)W2Q(7#JAL8T8p1m>3xpCVmu~Xuu`O&cMRRAdr<<mZ+bTn3t~apOlrF zT*A)4Hkp@Ea-xkaCnE!!O=ezZiQQxsMg=KO21W*69tL&>4lV{}27Vp}P6h!+24)S- zu*oirp%c&8adR?AFi5d8NHQ{rP5dY(&%+?iAj8POoswEyl9`uSl9`{!$iV2y$iS3o z$jBfu@q@(V?TqeRTnvm1Dm)CL3}Tc0ndB!i1=jO;=H;apIp-u67pE4pGiWn12qu=6 z<mV=4=IHw-X66Ls=jSjouy~fF<}xzyfhgzv+=9fS#FG3XMg|VQ)Z!A4{NfS@MFvI& zW(GzERt81^0g%HP7{Gi^29TZH3=9k=3``763=9lhTH0F~c(k@N@NHyZsAphe5M*Fr zU}IopU|^785Mp3p-~qF_7=#%_7#J8BL9S(BWB?h_#lXbC!oa|w$ZV&*g+W|r3xoI~ z1`Zax<qQHa{t^aOCOg?RVB0|kOEIu9Ffhn7Ffk}F@G>Ye@G~ee$TBE1$TO&dEURbG zf|v-kje$XtL6$)d>;gpwc?LPKqvaVC7-Sfj859{97}yz@{xAqJ@(4IGh%zWa9j42` z%)rdRz`(1eeSkqi=KzDmHU?#oBanT^2(l0y1S|}y3=9lR3~CJO>R^TjgC+w5gAfA~ Zg9L*XgAM}|10#bLgDwLjgC1C33jkcHQ*8hM diff --git a/Automail/bin/automail/MailPool.class b/Automail/bin/automail/MailPool.class index da791cb42c34ef784d112335c4fd4a04fff77586..ddfd65a1ce90d47af19fafdac9c39650162df53d 100644 GIT binary patch literal 5057 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 literal 2678 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 JoWVfirT~1kVaosj diff --git a/Automail/bin/automail/Robot$1.class b/Automail/bin/automail/Robot$1.class new file mode 100644 index 0000000000000000000000000000000000000000..7aae8d8082ee8d1157b786a2ce3cde5336bd61cc GIT binary patch literal 746 zcmX^0Z`VEs1_m1jT`mSD24;2!79Ivx1~x_p$;8r<{M^LM9Q~mDr2G;UFd1BuSdz-f zz*d%+Q<_@L$RMYo8SR5pp*1H12LmTN0~ZeiHv<nNg8-UJLq-M_mEiKslH?5E!~zwV zEW|1Z3AK<Z+LM!kiGh!YfuBKuk%2SFH6%31&(qJHkwF@d{U9$1@h}K8h%hp+=NF}9 z<|XDZGB9gsda^T!F)~PHC6*=X=OpH(>-*&gmnLVpWv1q&xE2-V7lCY(;9-yi*~T93 z=o#Ya=MEB+=3$TliE+8O`gn%926_6qvopvsG6*1y@=wZ2O)g<%;IK)~$;`_vu>;!} z#>l|poS%})$iVNDnV0HUnwykb6q1;flgh{-<ddJAm=l&*lnLTP1$l!@5|gui6APex zuHgLAqU2P!Opp#PaBS#-EM;Wicg;)A$uG{#OZQDJ$;eM(XV7G1;Dd!GB>ET`IQ&wJ zOFZ(6OBfk=JoEBWi=1;3i;F>#2r&#C(gF$$91OAy3=E6{5}-H(u^2cQ<QWtg7#S29 z7#P|Zm>C!u7#PfVFfi`h!?l@#eG>@rZetK+@n6os;tl4CZ(|T-MR29IF$l7Oxf>an z88{h47{nPw86+5#8Ppg=8Ppk!7)%*N8JHQA7#JAXz{cA$C^IlHFflMNs4y@v2r{sR zvonY?_`(SW76w(Y0yPG81_lNe1`P%V1}(6N27@*O1A`C)69W^227``+Bm)Nn0|SEq F2LQ9_qx1j( literal 0 HcmV?d00001 diff --git a/Automail/bin/automail/Robot$RobotState.class b/Automail/bin/automail/Robot$RobotState.class index 7a06471d0faeef4b50a6c1f2aab1f1b56ddc5cb7..79ed49a922fca7ef09e6c9aeb23337d1bbb93867 100644 GIT binary patch literal 1156 zcmX^0Z`VEs1_m1jYjy@EMh3~m(vtk##LOK1p!}r#5*08RT#{Il%E`dUz{118%D~3R zz~$oV;~C}}<mu<m$RO>5Q;#)B69*3iCrA@}xT9x?r=L4WjGKpn2PDQB<Qfth<Odby z<6+=u5MX3rR|#|U33Ux-WRQu*V>lOs5Q8u~g8&bM2!kji18Z_leqJgggNTNvPgY`C zqJB<dUb?=2QdVkmi8U94ID-T`gCq}w6oWJ)10O<xYhGzCBLjO`VoqtQe;Ol$sRoj6 z=bXgiVrwLU;F6-uymV`18$bqt&6nk2kYkW%WMH$&%*!mXV`LCRHVUfKQ!|W%ft8Da zkwKP&fs=!Q2gFq6VNhdG2YDRqjABLxISoyGUT0)rgQ;Y3&QD2YWZ?J7%uDqv%}q)z z3Q0`LNo8cv$6~uCp5SC;5c0`SPRt2QEXo9#05ygsFEKY2B!>txs8<*nSV}T7iy0X> zgEQ0f5=%;pQW+VTH8jH*88~c`bD)8sixhgGpt8Z^1UqX+2Cm@z(xT*4w@i>9xWMU8 z4`ekX1BYK~afwHMaS1zv1tS9=YN}&o;PK4MODzJ&SZXmN14Ju0={guPFfxcUFfgz< zNP-eD1A~JkC{2QC9tJiB1_3Eh%41+)U}fNB&|pw!U}Vr_U|>*UU}OLRu1yTQ+ZY57 zFbHj6U|?Wm&|+X<U<1nuGjK9UF=#{8n=mkeMY)6+wRSLw9bjMtsb@k_ufxE=zyndm zpv$1gz`(!+N;V8kU>gk?m>HNE7#P^Kv}Lw4$ZP~lBU^{i&d#6@ayo+nSdF0o7bp!u z9iq>`0&+KlINM$Z#z^K(49vliESnhEgCkitF>nQgT!rcj4hACzP$+?X?FQAXx0``6 zQb>V$JA>k824*lvi3QAI2XmBJ!5pp~3@V!$ctK7@HIoJEG-C!6uoF!g%)qocgCzq4 P11Q}yGMF=1IY<Hkv{da- literal 1125 zcmX^0Z`VEs1_pBmb9M$MMh3~m(vtk##LOK1p!}r#5*08RT#{Il%Fe*T$iSDCSeB@t zlbDyT@0wSd%gDgx;_BlW<{ISb=g!C=?SoUdH6sIixT9wXSRH4OYe;C2ADGSU>KE#( z66WX=>Ke?*AQO$(2o9U%oXot;5<5l)W)00SMg|t={FGD<239TxMg{>M20;cPMg}$; zs1h*^AB1y*ONuh{(ycu;!#Eij8ANy(SQ*$j7}!A^aUKSC5QhWAk>X+CU|<8WWOx`j z8Mqi3_<b_-QvFJElTwR95|eUL85x9p@{<#D!V-%zL42?v7Xvec03!oSNk(QdBLiDm zVoqslF(ZSVh9*8AaWSYcsIfDsGBOAtxwNvlBsG_ZL7hQ^k%2R@s3@^AIlrKikwFXD zKmJKssmUeQo=9GV33-A-h8^q#|1?GhePnIWV9>-9%pkAm@GxjH=rS^xBI|X|Nh~h5 zMzRoY7{c+ORAJ4?z!jWdT9lmXmI(?jE^s2!11Vx;;0(@8&r2*RElOo%&_yx}q|pYC ztL&^98F)PN@=}Yy&PXk0XE0%8;6qJtj0_OFzzLR-fx|DgxWpsBxWvJbfsuikfq{X= zK@t@43=9sEpg0H991Ls>3<6T1$Ofrk;9%fp;9+27;ALQ7NMvAP00GC{42+RNe9YS! z_%|~MgE^usV2&7=Bf$#hNV4r^V2otm#2_3T$+C$-EI5*N6N6;%W(Mhv3=9lR46+Oi z3~UUH3=9my402!*kf<Po5Y#$D24=7`*|oG~wlm0M*93AK0|PsQ0?6GAoD7N#N>J@) z46I=7Vw)JGBfXim_C?x&+~dnEy@NqnX9L(mgcBIyPT*wFWYB_|p~b)ib|9A!qt*@v p?E?&qxb?9x=z-1DXD|TMh73jw3=E*W$jD&KVCo>rU<MX91^}D&@uL6$ diff --git a/Automail/bin/automail/Robot.class b/Automail/bin/automail/Robot.class index 54873ff5cbd973888165384dff98f9f32f788e79..825c0cc9e0fe5d268e1f312607b96f0f717024aa 100644 GIT binary patch literal 4601 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 literal 4581 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 diff --git a/Automail/bin/exceptions/ExcessiveDeliveryException.class b/Automail/bin/exceptions/ExcessiveDeliveryException.class index 0d6e88683faf2307f1bb3fe254dd791494a2bdd9..2d57bb828512782c52fea814929fc73bba340786 100644 GIT binary patch delta 105 zcmZ3+yo{Om)W2Q(7#J9A7=$?(m?oy%bF(n8vNN#pFt9UlOtes(xIv7Woq=m2uLdt8 z1G9!^7$XCVbAC$d#A98moD3`sAi&7L$iU9P&A`aO!@$5`%D}|H$iTqBt|i2{oq>6B HDWf3(7$6X1 delta 124 zcmZ3+yo{Om)W2Q(7#JAL8HCvxm?lotU}k4vnHa9f$E=|l#>l|poS%})!N56@*It2{ zft!bcm4SzmK~%#hE3qt5KPNFST|c;_C^IkJS~G0ou`X3c24)5jU}RuqU}a!qU}Rut aU|=w1U}9ioU|?X^65`m-z%{v)(GUP^<QBgG diff --git a/Automail/bin/exceptions/ItemTooHeavyException.class b/Automail/bin/exceptions/ItemTooHeavyException.class index 7d360f113a93bcd944eb5bc9d8d26901f2713688..9a23918393c07e719e97263677bc4f631a42d0e5 100644 GIT binary patch delta 105 zcmeyz^pA=6)W2Q(7#J9A7=$?(m?kEvakDV6vNN#pFt9UlOf*)UI7y6|oq=m2uQD$q z1G9!^7$XCVbAC$d#1##yoD3`sAi&7L$iU9P&A`aO!@$5`%D}|H$iTqBt|i2{oq>6> HFQXv<Ljn+c delta 103 zcmeyz^pA=6)W2Q(7#JAL8HCvxm?l;zGqW?WOte$vW7g0NV`N})&QD3@VBnm{tH#01 zz|F(J%D^)*R$}6c231A|W(E*oWME`qWng1qWMF4tU@&E1Vqj!oU|`o0;@Hl>HQATZ F5CA`x5MBTP diff --git a/Automail/bin/exceptions/MailAlreadyDeliveredException.class b/Automail/bin/exceptions/MailAlreadyDeliveredException.class index 85bf1e255d75951054ad85d843a11d84a881c709..be0f061abc1867b8c62d6d1b3edee5e5a55e8c4b 100644 GIT binary patch delta 105 zcmbQmJd2t4)W2Q(7#J9A7=$?(m?mavakDV6vNN#pFt9UlOte;<I8Th3oq=m2uQo3u z1G9!^7$XCVbAC$d#4Qt4IT=_OK!A~fk%66on}Lymhk=2?l!1wXk%57MT}y~@I|K9N HOh!Wh0`L$O delta 132 zcmbQmJd2t4)W2Q(7#JAL8HCvxm?qX}8?iI6Ffs^dC6*=X=OpH(>xX0%<(DTW<)kt) zu-RnhWtP}6GB9gshA}d*IOnINaxidC<kjL}X5i*wU}fN$m?$xE%LG+M24)5jU}Ruq iU}a!qU}RutU|=w1U}9ioU|?X^65`m-z%@CO(GUROFBqu+ diff --git a/Automail/bin/simulation/Building.class b/Automail/bin/simulation/Building.class index 6678acdcf8ae93daeab7e80009725a553edc9b4c..b77dcadb59fb892c461c5ef9854525dcff1e5dcc 100644 GIT binary patch delta 179 zcmeyv^oJ?v)W2Q(7#J9A7{s_3m>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!`K-(7#W0%GjmIG5=%1k^YoocGjmch^U^0;y0fx4=clAjoR{X! z&cMXLz`)GF$-v3L#lXNI$-vFP#lXnG!@$76#K6lS$-sxgXJlXmS<k@8z|X+Ipw9r} QGcd4fZD(Md?9ZqR0H#|WIsgCw delta 179 zcmeyv^oPmv)W2Q(7#JAL8N}Ebm>3y^i!*aea}rB3^YiqbN;7j(GV{{e8CVz@1hNv# z67_Qu^V0SGld@8iOC|=n%dy#H=4F=HF)}b~XofK|usG+Zq;fGZGw|~;a5L~soR{X! z$iU3Nz`)GF$-v6M#=yWJ$-vIQ#=ywH!N9=4#K6fQ$-sreXJlXmX=Pw!;ALQ7&}RVg Q85mf#wlnZe_Gi=u0HuH)O8@`> diff --git a/Automail/bin/simulation/Clock.class b/Automail/bin/simulation/Clock.class index 6c169fe5d8969d75545edc3b0f1e2cb80c815fe2..bfdc433ab563649d473f713a183f9dbb0359953a 100644 GIT binary patch delta 356 zcmeyz{D?X7)W2Q(7#J9A7$mqDm>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F&~O1d20rOLG!SGV}BFopbV&vnQIVu(CMk zr=(7-(ww+Wlas?HIR~tL;$7K#4hAL$1_mYuE|6vh1_n+BUIrcp1_l-eMv(0cj0}7X z3=H}Vj0}tn3=FJV+Zh-)f;I3nFfg!z1(_KH7#J9Mz-(3qK?WhPG29HoP|Y%683qQH zO$_X77#J8B84!9ic^EhuM8F1t>`?`~hJk@|69YR-!e$0`kX;b<pg>_@5Mbb75M<zB X5QS@zg__RFjG`RkG!Q8UcCI)8LbfUQ literal 510 zcmX^0Z`VEs1_pBm33di1Mh1c6%-qtP#FEVXJbmY!{N!wQ1{OvJfvm)`ME#t^ymWp4 zq^#8B5=I7=kj&gvMg~StMg|dIM^B&lAXjJCFi$`Ccpq0k_Ye<81`eC#oXot;5<5l) zW)00SMg|t={FGEq21W)R9tKthHbw@1pUk{eztY^K)S{5Yq?}Yn1|gsP<iwn?#G*_P zA1cUZ12%?>ftf*&hk>7glaYa?BqOsJq#WJ3)?mv#!R|}WW@O+B&Mz%WPIb!!na&0F zksio142lel49pA+3``7MAjdE;FmN)kGq5o*Ft9LiFmNz{+{wkjz@W*%$N&PY%$pgw zH-a_rGB7Z3F)%SOFt9POFmN*Pfkhb@7(s4hU}OMk(`R4=Yh=~h&LDu$#s(H-25aE~ zvsoF07=*#LvoeT4HLHMS7#LVKF>tQ|8xFD(qL&A(7i2jngDBjUx?txpFmP^S;ATm{ T;!*(y4hBKERz?Ofu(9F*t{+LA diff --git a/Automail/bin/simulation/IMailDelivery.class b/Automail/bin/simulation/IMailDelivery.class index bb88966905293af8ebdb81a32c69b4fa75f977ce..2100e1d2d509704156e1a1609a3b874d9de53c76 100644 GIT binary patch delta 16 YcmZ3;xR8<K)W2Q(7#J9ACUVRK05!@5`v3p{ delta 16 YcmZ3;xR8<K)W2Q(7#JALCvwaL05!G+_5c6? diff --git a/Automail/bin/simulation/MailGenerator.class b/Automail/bin/simulation/MailGenerator.class index 5badad3f6cf87e7380200279401e7f23cb2ae704..b1ea86bcd7abaf903e3bc9867d27cd32f00b5c63 100644 GIT binary patch literal 3847 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 delta 2469 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 diff --git a/Automail/bin/simulation/Simulation$ReportDelivery.class b/Automail/bin/simulation/Simulation$ReportDelivery.class index 01d9be852ee89259d1d5038192494a2d315fb797..1f7a608a2f0bf3e55925b40dbe03673c8fb0c9e5 100644 GIT binary patch delta 809 zcmcc4eVN<y)W2Q(7#J9A7-F~>m>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F&~OL?;S}PF82sR^(&gXJ-)LVGv{xVq_2o z8&X=5nWOJmRFqihlUZCcxtLK^kB>owhd~siggG%Kg_A*?L4ut@l7~TxK^n#C;L75X z)ZEF(7!??0CqHLY_K{~$U}sR|VNhaFW@Hd3&de>%Ni50C&(n9#$xqH^WMB!&%uNNm z(36Wnl|hZ2L7j&|gF%y#K@jW~u!lVJN>bBPizbILsT%MxX!9`WfJ|d4&a6u1V$fsI zXJ;_rVK8JcVq_3ZEG@~;P0Y;E_f5>q@dUYLHIs^>34<v+gBcHlIfDhvlbQMY0Y#a4 zCBY>{sfoFhKQMWza4=Z$FjzC#FfwqL<d-Do#HXa@BvvvqFuHIta4^{MFxWFVOpaqV zVR2$)(3s4_qM^dY;K;xXB3yYG+(5CwUjQ*PF*!S=C^0#eoxx)wuO_3{L|<7}7U%qw z)QKHclUZ1dCqHCXoovpc&&lDJT3q6hUtBUdg+-yBL4m=Yfr){U!IOc3fr)_u6txVD z4BiY34EhX=42&QVt?dkq8^O{(3=9lxV8P`Kz6=ZuJYY5}gCB!G0|NsiLjXe{RP#v& zHU?$}28QrW4D8z57<gwfI6+v#;hPx5gk;$EGB8Cl@2F>x+rgj`9LchYfqff;7MRVd zy^TRPcpHOp_$CHR?HvrZ$(tE0moo_LW^jz$&fvV?S7#f8%SN!10~rEA;lTiMml6X9 z0|Ucq1}=s*3_=WR8LS!BGk7v=W(Z{1!Vtu;l_88_2iVOD49pBc3@i*m48aUcZXhQ@ zozK7!&Je;7%D~7F#=yY9#lZZV!PA|c!I6c5nIRnP{RoCgFwMab1y;ex;LgCo5Y4~= E08OQwiU0rr delta 835 zcmcc2eVv>4)W2Q(7#JAL8DiKOm?ldyYX-3}G6-ZPmL=-vB<7{-`zK|kCYP`?urV@7 z6ldm^<|LM6=I7~q`X*-PxTNM}mZcU|GBU8)Waed-*fBCNYiNcsGO#%3r=)T*Ff(xT zFt9UlOipF4Qsrb2W)Nj(5Mg8xMKUKCZX^$b7=!r4IBi8q25EK%DMkiiup>%KGIR7D zi;5B}eKLznco<|DWGAjt)stk9=V4G_kY!|GPE1MRWKd#IVP{ZAad~iMaY<?}4}&U$ z+Qh#Kj2e^W7?pjr7<AYfv>6!$klf&$lb@W;!=THc$H>4El9`(d_J$`Hg8_pPJA)x3 zgCN)?;NbAgD@jdHE#hG?W-yuD%cyD~$zaCAU=G$=oLQC1#bC)`&CX!O$RL<lT9Tie zn3<yw3Mx;qQ*0P)CqH6TVY6p&WM^=gEXX9r%EREq;5=EK$xB6;!Ig)>jlrFffx9HX zBrzvGB{e6pl97SYg^NL$!IOu<i@|&HR3;Nf-^r(#bme^*xVad77y@`00vR|M8Tbo| zGV@A;OA?c_Ly8iUQzr|ss84>#Y&hARMSpT3i(EY;1BYK~afwHMaS4M010w@710w?~ z0|NsS0|O|I7#JBi85kJ!85kKD85kH?wYD>GZ3Ij6FfcH%fdwZs@G>wk@POH@415gy z3=9m63<3;-P|ar<*cg}@7#PAgF$igIW007|-~?gGg>R~7P!v*U+snWl$-IL>a|eTd za3sqn2BB>XreHR!_BIBK;B5?c;hPv-w0AIgByVPLS<WD^o53e?JA>bTU!83X{u>z> z89W&R83Gx67?>GA?otCgdO8Ca!wd!?hM5f346_;B80Ii|GR$WPWLUru#ITSdjA01_ zFGDB;g95~HP=_-xgfj#&1T!!)1TnBMgfN6MFfoKNFfed2F#l%obZ2MqVPRlq2nPp2 V1VbcP1{5~J3{eam4AEe5VF0U`rZWHl diff --git a/Automail/bin/simulation/Simulation.class b/Automail/bin/simulation/Simulation.class index a783d4b0ac2713bda772c7af90b274741cafaf18..b673babb39964713c20b90ed6e891a683f424068 100644 GIT binary patch literal 7497 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 a3=BdHObj^;9E>{|I2d;^?qS@=APE4k^~=}* delta 4375 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 diff --git a/Automail/src/automail/MailItem.java b/Automail/src/automail/MailItem.java index 785dcfe..2bdf9f2 100644 --- a/Automail/src/automail/MailItem.java +++ b/Automail/src/automail/MailItem.java @@ -19,6 +19,8 @@ public class MailItem { /** The weight in grams of the mail item */ protected final int weight; + private double serviceFee; + /** * Constructor for a MailItem * @param dest_floor the destination floor intended for this mail item @@ -32,6 +34,10 @@ public class MailItem { this.weight = weight; } + public void setServiceFee(double serviceFee){ + this.serviceFee = serviceFee; + } + @Override public String toString(){ return String.format("Mail Item:: ID: %6s | Arrival: %4d | Destination: %2d | Weight: %4d", id, arrival_time, destination_floor, weight); diff --git a/Automail/src/automail/MailPool.java b/Automail/src/automail/MailPool.java index b4ed25b..7977178 100644 --- a/Automail/src/automail/MailPool.java +++ b/Automail/src/automail/MailPool.java @@ -1,11 +1,12 @@ package automail; -import java.util.LinkedList; +import exceptions.ItemTooHeavyException; +import simulation.Building; + import java.util.Comparator; +import java.util.LinkedList; import java.util.ListIterator; -import exceptions.ItemTooHeavyException; - /** * addToPool is called when there are mail items newly arrived at the building to add to the MailPool or * if a robot returns with some undelivered items - these are added back to the MailPool. @@ -13,9 +14,10 @@ import exceptions.ItemTooHeavyException; * */ public class MailPool { - private class Item { int destination; + double charge; + boolean isNewItem = true; MailItem mailItem; // Use stable sort to keep arrival time relative positions @@ -24,7 +26,7 @@ public class MailPool { this.mailItem = mailItem; } } - + public class ItemComparator implements Comparator<Item> { @Override public int compare(Item i1, Item i2) { @@ -56,9 +58,55 @@ public class MailPool { pool.add(item); pool.sort(new ItemComparator()); } - - - + + public double calculateCharge(int itemIndex, double serviceFee, double activityUnitPrice, double markupPercentage){ + double robotsMovement = 5.0D; + double remoteLookup = 0.1D; + int destination = pool.get(itemIndex).destination; + double activityUnits = ((destination - Building.MAILROOM_LOCATION) * robotsMovement) + remoteLookup; + double activityCost = activityUnits * activityUnitPrice; + double charge = (activityCost + serviceFee) * (1 + markupPercentage); + return charge; + } + + public void setItemCharge(int itemIndex, double charge){ + Item item = new Item(pool.get(itemIndex).mailItem); + item.charge = charge; + item.isNewItem = false; + pool.set(itemIndex, item); + } + + public void getItemInfo(int iii){ + System.out.println("New Item ID: " + pool.get(iii).mailItem.id + ", Item Charge: " + String.valueOf(pool.get(iii).charge)); + } + + public boolean isNewItem(int itemIndex){return pool.get(itemIndex).isNewItem;} + + public int getItemDestination(int itemIndex){ + return pool.get(itemIndex).destination; + } + + public int getPoolSize(){ + return pool.size(); + } + + public void sortPriorityMailItems(double chargeThreshold){ + LinkedList<Item> priorityPool = new LinkedList<>(); + ListIterator<Item> poolIterator = pool.listIterator(); + while (poolIterator.hasNext()){ + Item item = poolIterator.next(); + if(item.charge > chargeThreshold){ + priorityPool.addFirst(item); + poolIterator.remove(); + } + } + ListIterator<Item> priorityPoolIterator = priorityPool.listIterator(); + while (priorityPoolIterator.hasNext()){ + pool.addFirst(priorityPoolIterator.next()); + priorityPoolIterator.remove(); + } + } + /** * load up any waiting robots with mailItems, if any. */ diff --git a/Automail/src/automail/Robot.java b/Automail/src/automail/Robot.java index 4867889..ff06616 100644 --- a/Automail/src/automail/Robot.java +++ b/Automail/src/automail/Robot.java @@ -22,7 +22,6 @@ public class Robot { private int destination_floor; private MailPool mailPool; private boolean receivedDispatch; - private MailItem deliveryItem = null; private MailItem tube = null; @@ -173,4 +172,5 @@ public class Robot { if (tube.weight > INDIVIDUAL_MAX_WEIGHT) throw new ItemTooHeavyException(); } + } diff --git a/Automail/src/simulation/MailGenerator.java b/Automail/src/simulation/MailGenerator.java index 17a4a15..5b5acbe 100644 --- a/Automail/src/simulation/MailGenerator.java +++ b/Automail/src/simulation/MailGenerator.java @@ -1,10 +1,13 @@ package simulation; -import java.util.*; - import automail.MailItem; import automail.MailPool; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + /** * This class generates the mail */ @@ -117,6 +120,10 @@ public class MailGenerator { } } + + public void setServiceFee(){ + + } /** * Given the clock time, put the generated mails into the mailPool. diff --git a/Automail/src/simulation/Simulation.java b/Automail/src/simulation/Simulation.java index 39c65fb..1dea088 100644 --- a/Automail/src/simulation/Simulation.java +++ b/Automail/src/simulation/Simulation.java @@ -1,20 +1,16 @@ package simulation; +import automail.Automail; +import automail.MailItem; +import automail.MailPool; +import com.unimelb.swen30006.wifimodem.WifiModem; import exceptions.ExcessiveDeliveryException; import exceptions.ItemTooHeavyException; import exceptions.MailAlreadyDeliveredException; import java.io.FileReader; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Properties; - -import com.unimelb.swen30006.wifimodem.WifiModem; - -import automail.Automail; -import automail.MailItem; -import automail.MailPool; +import java.util.*; /** * This class simulates the behaviour of AutoMail @@ -23,6 +19,8 @@ public class Simulation { private static int NUM_ROBOTS; private static double CHARGE_THRESHOLD; private static boolean CHARGE_DISPLAY; + private static double ACTIVITY_UNIT_PRICE; + private static double MARKUP_PERCENTAGE; /** Constant for the mail generator */ private static int MAIL_TO_CREATE; @@ -68,7 +66,6 @@ public class Simulation { } catch (Exception mException) { mException.printStackTrace(); } - /** * This code section is for running a simulation */ @@ -76,12 +73,26 @@ public class Simulation { MailPool mailPool = new MailPool(NUM_ROBOTS); Automail automail = new Automail(mailPool, new ReportDelivery(), NUM_ROBOTS); MailGenerator mailGenerator = new MailGenerator(MAIL_TO_CREATE, MAIL_MAX_WEIGHT, mailPool, seedMap); - /** Generate all the mails */ mailGenerator.generateAllMail(); while(MAIL_DELIVERED.size() != mailGenerator.MAIL_TO_CREATE) { // System.out.printf("Delivered: %4d; Created: %4d%n", MAIL_DELIVERED.size(), mailGenerator.MAIL_TO_CREATE); mailGenerator.addToMailPool(); + if(CHARGE_DISPLAY){ + int poolSize = mailPool.getPoolSize(); + for(int i=0; i<poolSize; i++){ + if(mailPool.isNewItem(i)) { + int destination = mailPool.getItemDestination(i); + double serviceFee = wModem.forwardCallToAPI_LookupPrice(destination); + double charge = mailPool.calculateCharge(i, serviceFee, ACTIVITY_UNIT_PRICE, MARKUP_PERCENTAGE); + mailPool.setItemCharge(i, charge); + mailPool.getItemInfo(i); + } + } + if(CHARGE_THRESHOLD != 0){ + mailPool.sortPriorityMailItems(CHARGE_THRESHOLD); + } + } try { automail.mailPool.loadItemsToRobot(); for (int i=0; i < NUM_ROBOTS; i++) { @@ -105,7 +116,9 @@ public class Simulation { automailProperties.setProperty("Floors", "10"); automailProperties.setProperty("Mail_to_Create", "80"); automailProperties.setProperty("ChargeThreshold", "0"); - automailProperties.setProperty("ChargeDisplay", "false"); + automailProperties.setProperty("ChargeDisplay", "true"); + automailProperties.setProperty("Markup_Percentage", "0.059"); + automailProperties.setProperty("Activity_Unit_Price", "0.224"); // Read properties FileReader inStream = null; @@ -140,10 +153,15 @@ public class Simulation { // Charge Display CHARGE_DISPLAY = Boolean.parseBoolean(automailProperties.getProperty("ChargeDisplay")); System.out.println("#Charge Display: " + CHARGE_DISPLAY); - + // Markup Percentage + MARKUP_PERCENTAGE = Double.parseDouble(automailProperties.getProperty("Markup_Percentage")); + System.out.println("Markup Percentage: " + MARKUP_PERCENTAGE); + // Activity Unit Price + ACTIVITY_UNIT_PRICE = Double.parseDouble(automailProperties.getProperty("Activity_Unit_Price")); + System.out.println("Activity_Unit_Price: " + ACTIVITY_UNIT_PRICE); return automailProperties; } - + static class ReportDelivery implements IMailDelivery { /** Confirm the delivery and calculate the total score */ diff --git a/update_log.txt b/update_log.txt new file mode 100644 index 0000000..e6e10f4 --- /dev/null +++ b/update_log.txt @@ -0,0 +1,35 @@ +2021/4/15 +//////////////////////////////////////////////////////// + +New variables +************************************************ +In Class Simulation: + private static double ACTIVITY_UNIT_PRICE; + private static double MARKUP_PERCENTAGE; + +In Class MailPool: + In private Class Item: + double charge; + boolean isNewItem = true; +************************************************ + +New methods +************************************************ +In Class MailPool: + public double calculateCharge; + public void setItemCharge; + public void getItemInfo;(This method is not a part of assignment, it will be removed) + public boolean isNewItem; + public int getItemDestination; + public int getPoolSize; + public void sortPriorityMailItems; +************************************************ + +New codes +************************************************ +In Class Simulation: + from line 81 to line 95 + from line 119 to line 121 + from line 156 to line 161 +************************************************ +//////////////////////////////////////////////////////// \ No newline at end of file -- GitLab