From 8b0ec5fcc01dfe8d4769c927719daaeb3704afc2 Mon Sep 17 00:00:00 2001 From: Tony Grosinger Date: Thu, 22 Sep 2011 15:43:31 -0700 Subject: [PATCH] -Created NeighborObjective Class to reference an objective on the map -Implemented discovery of Objectives nearyby Signed-off-by: Tony Grosinger --- bin/net/grosinger/nomads/DroneTools.class | Bin 8528 -> 9200 bytes .../grosinger/nomads/NeighborObjective.class | Bin 0 -> 1101 bytes src/net/grosinger/nomads/DroneTools.java | 27 +++++++-- .../grosinger/nomads/NeighborObjective.java | 53 ++++++++++++++++++ 4 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 bin/net/grosinger/nomads/NeighborObjective.class create mode 100644 src/net/grosinger/nomads/NeighborObjective.java diff --git a/bin/net/grosinger/nomads/DroneTools.class b/bin/net/grosinger/nomads/DroneTools.class index a90343350bb4bf16ab045f143832d114a8c6ba68..8fd5f8cff79e4cf5be5f426087a1942e9d261dd6 100644 GIT binary patch delta 2102 zcmZWqYfzL`7=GT}Z!av%Uci-ImIXv1+y&N4g9(91I^K|rgotLaz{+J53>VU=+_7P% z8E3M|Gd3~ISeZ$aHeRx&WO8g8%QSCgT3MN9W|m1-nu^%_?Jld1KlVH4eD8VR^PJ~- zzITrm4a_hd9NM!Nzy!+DKtV_rL>6IG>UO#lV?;+xHBA*CtFo4rc$*uW>e|{%>sq|^ zzUEGEUO}D?={TatQKS;Ajb2|UR@_$a@wK&2YhK~=wAOodC_%ptU*d!YUlB|#o=%T@ zsi(EkUEynQZf(@#YrH{Fd!Op?EM1|&DMGr8A^Cw5bvTJ{^)TZ*LRyBHYP5>M7@c|S zd_qjyFszy0c2OFWAV&;@sCMrXZ@ZUa5X2f&yybzSd4wrqO^i!B9O2Aa>Yw#Ek6*+b zgI)cr9vAVOSZXMfekY6(<(g!1#t@ZuS&u*Q96>d+w6bEl4mHS;ACq;sgsU>jzX>(+ znc^j_PAu2NF<`g)Up=njy67}cQ{TWX4Q`5kMyGNRx5Z^+vigpmz|&Y$gZ2ig^(2u- ztTvTdDN0W|+$KmXyuJl|4C(b0!#gjSN*p(6q@Lns4RowQk%zgh_ePP8>>5fCpIH-W?ZIqPfjo#xnR=46kRIp2kqxdxy=QsQNajpkZUY-H)c~ zKC~1&cf%IIr}>GBrh;C)$U~0Qi)WnyOmWn5aJ1C02`!;z4?H|6v`CRad3fD}8IEo| zW|6v4AYQgR@>BXzQynf6O6h|qSM9Q?1K3#AC6Pr++L$7Y7G!;Nvg(&BY&!kb|G;Z2;g`(Qu}f8ex7aWK75m_aoIHYGTj(vy6PULXCszxqK1|< zFp(DV6oq7VMyw&#_>tu@-c?F2cSZ~*SpDn6y8MK*tPbme z1DvGfvC3)2fj*q;M#-=PWop@c#ZFfrE>!j7QuQwU;R@gi{|1;%e*M>69_^U{{3EZq zLID5q%odytW$qx^p30y-vk{G2P#Sdf5E3W@DddEkT$sq?B+A4T%EBzlMg_T1N#ldW zq=c}AiAg{n5xbBu2}z_NCA&&?p9*vfl^~MDQHPbziHi{Njd6X?9Y+|7RjP+stu46?oq6Jt>)!0A_(L;;SOHbfkT8t0q zN$jN>9Hd$tBM(kf9nMlcE>i;r$jkkC39fPNo78f*WfXG%2=xrUExTH##ESD|WMeCk zffHHc0?!0kY&L+Bdz^!6rdF4HfdW#qmf(&)PZQ~bpil9k(J0I8;JV5Spa<2^CUqNH#UF2lP0y>VZV#+fM GZT|zcOw#QD delta 1605 zcmY*ZZBUd|6n>uFcRyHOVEI^OVOLj3MHX1K!h{4QNiaYZ8KtJtO*b}2!9p`;bhajb zRDW+a!`M_~7C+MQqh@Jx#<3rkX_@wIR%mHiiCI>fns)BK=-7{Y&&R#zoaa9G+Z$ZGo|c~OSYMkss#R0Q1DvVe zb(E`pnI1Jet9J4yCO*YyL`FQ?+tA&!t}A{|v^P!|B~4TA_kj4q#FzL=4Q90&UlX^f z1+MWGjXmpnV`=EaHzvNtM#9lJzoWgugQcj{(@YPJ;iQRdd`~P@Po|GmUav>3apkHF z-iY&*iPQK|?efk^JA+?b_?eifrnx7mSG1Xhli3|9f zm?zna)o^xcJ}#N~2WJIpZ*1)nUG|EJs}e9Fr}fS=beMFai12j9*49T?MZ1^B(&(ng z#WcdZGWvKlBF?TzdtdL`*lLsMG}YFe5Hr>OoFb=}IWA_ak(_*cF7w`W=SI_(_rn3V zP`+ai;+;cS*tjui+fF<6l(B`a`=*@ip}NQ4)51n?|g7tO#Llu2Z}@Q^?dAK)OIlHG+v$dvgF$z)0nE8B;nEmHe} zd5I0S%i<$GLQL{LEW2ztj9igr;-$8!k=s(po!Y~+6iS^<`z@5j$2cM$9eF@1+eI!e z&BlQt934RG4X!k;LQ`{TcnF^_-h;%k&fPd3PU1Tm!*VU+KhYwxuq=rmv@I!;_(?Q> zN*gKLnZjdF;i*8n;K_rBV^F}c2+@xS3vj#087xFC188Cp?Hq>=hEljg7B&laF$z$P z^Fk3Z1LN>J{*WUr67UZ23OdAnLG^_4c~m_U3RdG!3(^b!gS1PwTX+iOnu;Ui5P=o?|06u?d?w4}-i9+u4k_*@C@n#X-); z5w_tt7vLlpVubBD&qcVv4*3^qaG9Mc?i=+H>*OP_nnq45Ew3rb$0=OHbz!7Le|X}v zBaEZeO>ao(VcJAXk5u1*(467n%x%wfGm>2?e1CP`vqlE$n+;TB}>rYn~jNoLu% z8QX5&(HKbsu0T3t@Ujbj#!<+XxAaEvCcGehQkK$XInrVJ<>|YVS8(+~i2+&;@UOG`*<;)}wKc7O*j2@1kE?7SJDhpHN;{=l>7m3{v3$ diff --git a/bin/net/grosinger/nomads/NeighborObjective.class b/bin/net/grosinger/nomads/NeighborObjective.class new file mode 100644 index 0000000000000000000000000000000000000000..0211a670937e4f9433d9f33b7053799c703efea6 GIT binary patch literal 1101 zcmah{QE$>v6#g!B6tJ?%7*3hnP&P{^tHDRj9yHOA5PX;+`dHYNl|Y-6GTndjK@-u$ z2Y-M+%J|(D*#eC|+NOs`A&cR{_zt)6OVPI1P(nJ+JnHKxZXepw&#zXvx(i2 z?%=%V2d{fW*$>?dsY4Uk7&;e@J#xH(9e>b~5!g$t@X8s>I7vYB7zh;GSNPK~V8f>Z z;v-Ls=TaaS$oDdkUZ2VP?ZmPRLWE|Xxt<%I2ppKL*8kG$UGjM0pUFJZC>khWQy^{D zyEzDK88C2DdAAMZkXPOv12>QtSZ}+Y>`cc!8N6|Nqi7Dl?~J-m;Hr53sD#G7OCie~K$dW!&-$taVmkQodGMeZ9)C({3Fk$Ja3+(<| zIRl5NvGL?@<1KTwuaZmm%2D@jhL^|maOl%Wi@7WDl?R=of)>j@I8gQyvwW%R?)bZ9QRdVrA^)y zzFILJJGjS)m7=~P@>J(ko;R6o;+TPb=#F)D4u3G>nd4^ZQa zqJ14){ checkObjectiveLocator() { - // TODO - Implement ObjectiveLocator - // Should not actually return an Objective - return null; + public ArrayList checkObjectiveLocator() { + ArrayList neighbors = new ArrayList(); + int maxDistance = listItem.getObjectLocatorDistance(); + for (int i = maxDistance * -1; i <= maxDistance; i++) { + for (int j = maxDistance * -1; j <= maxDistance; j++) { + if (getX() + i >= worldSize - 1 || getX() + i < 0 || getY() + j >= worldSize - 1 + || getY() + j < 0) { + + } else if (i != 0 && j != 0) { + GameObject objectHere = worldReference.getObjectAt(getX() + i, getY() + j); + if (objectHere instanceof Objective) { + Objective objectiveHere = (Objective) objectHere; + if (objectiveHere.getUID().equals(referredDrone.getUID())) { + NeighborObjective reference = new NeighborObjective(getX() + i, getY() + + j, objectiveHere); + neighbors.add(reference); + } + } + } + } + } + return neighbors; } /** diff --git a/src/net/grosinger/nomads/NeighborObjective.java b/src/net/grosinger/nomads/NeighborObjective.java new file mode 100644 index 0000000..e6c78e9 --- /dev/null +++ b/src/net/grosinger/nomads/NeighborObjective.java @@ -0,0 +1,53 @@ +package net.grosinger.nomads; + +public class NeighborObjective implements GameObject { + + private String name; + int x; + int y; + Objective reference; + + public NeighborObjective(int x, int y, Objective obj) { + reference = obj; + this.x = x; + this.y = y; + } + + @Override + public String getName() { + return name; + } + + /** + * Retrieve x location + * + * @return int - x Location + */ + public int getX() { + return x; + } + + /** + * Retrieve y location + * + * @return int - y Location + */ + public int getY() { + return y; + } + + /** + * Retrieve bounty of this Objective + * + * @return int + */ + public int getBounty() { + return reference.getBounty(); + } + + @Override + public void setName(String newName) { + name = newName; + } + +}