From 3286a34a08006137b47ec80a1d4c66b1aa7f98b0 Mon Sep 17 00:00:00 2001 From: Marc Froehlich Date: Fri, 26 Jan 2024 11:09:15 +0100 Subject: [PATCH] added audio support --- Prakti_elster_20.11.2022_21.24.pfx | Bin 13183 -> 0 bytes .../kst4contest/locatorUtils/Location.java | 40 ++++++++++++++++++ LTTR0.mp3 => src/main/resources/LTTR0.mp3 | Bin LTTR1.mp3 => src/main/resources/LTTR1.mp3 | Bin LTTR2.mp3 => src/main/resources/LTTR2.mp3 | Bin LTTR3.mp3 => src/main/resources/LTTR3.mp3 | Bin LTTR4.mp3 => src/main/resources/LTTR4.mp3 | Bin LTTR5.mp3 => src/main/resources/LTTR5.mp3 | Bin LTTR6.mp3 => src/main/resources/LTTR6.mp3 | Bin LTTR7.mp3 => src/main/resources/LTTR7.mp3 | Bin LTTR8.mp3 => src/main/resources/LTTR8.mp3 | Bin LTTR9.mp3 => src/main/resources/LTTR9.mp3 | Bin LTTRA.mp3 => src/main/resources/LTTRA.mp3 | Bin LTTRB.mp3 => src/main/resources/LTTRB.mp3 | Bin LTTRC.mp3 => src/main/resources/LTTRC.mp3 | Bin LTTRD.mp3 => src/main/resources/LTTRD.mp3 | Bin LTTRE.mp3 => src/main/resources/LTTRE.mp3 | Bin LTTRF.mp3 => src/main/resources/LTTRF.mp3 | Bin LTTRG.mp3 => src/main/resources/LTTRG.mp3 | Bin LTTRH.mp3 => src/main/resources/LTTRH.mp3 | Bin LTTRI.mp3 => src/main/resources/LTTRI.mp3 | Bin LTTRJ.mp3 => src/main/resources/LTTRJ.mp3 | Bin LTTRK.mp3 => src/main/resources/LTTRK.mp3 | Bin LTTRL.mp3 => src/main/resources/LTTRL.mp3 | Bin LTTRM.mp3 => src/main/resources/LTTRM.mp3 | Bin .../main/resources/LTTRMINUS.mp3 | Bin LTTRN.mp3 => src/main/resources/LTTRN.mp3 | Bin LTTRO.mp3 => src/main/resources/LTTRO.mp3 | Bin LTTRP.mp3 => src/main/resources/LTTRP.mp3 | Bin .../main/resources/LTTRPOINT.mp3 | Bin LTTRQ.mp3 => src/main/resources/LTTRQ.mp3 | Bin .../main/resources/LTTRQUESTMARK.mp3 | Bin LTTRR.mp3 => src/main/resources/LTTRR.mp3 | Bin LTTRS.mp3 => src/main/resources/LTTRS.mp3 | Bin .../main/resources/LTTRSPACE.mp3 | Bin .../main/resources/LTTRSTROKE.mp3 | Bin LTTRT.mp3 => src/main/resources/LTTRT.mp3 | Bin LTTRU.mp3 => src/main/resources/LTTRU.mp3 | Bin LTTRV.mp3 => src/main/resources/LTTRV.mp3 | Bin LTTRW.mp3 => src/main/resources/LTTRW.mp3 | Bin LTTRX.mp3 => src/main/resources/LTTRX.mp3 | Bin LTTRY.mp3 => src/main/resources/LTTRY.mp3 | Bin LTTRZ.mp3 => src/main/resources/LTTRZ.mp3 | Bin .../main/resources/NOISECQWINDOW.mp3 | Bin .../main/resources/NOISEERROR.mp3 | Bin .../main/resources/NOISENOTIFY.mp3 | Bin .../main/resources/NOISEPMWINDOW.mp3 | Bin .../main/resources/NOISESTARTUP.mp3 | Bin VOICE0.mp3 => src/main/resources/VOICE0.mp3 | Bin VOICE1.mp3 => src/main/resources/VOICE1.mp3 | Bin VOICE2.mp3 => src/main/resources/VOICE2.mp3 | Bin VOICE3.mp3 => src/main/resources/VOICE3.mp3 | Bin VOICE4.mp3 => src/main/resources/VOICE4.mp3 | Bin VOICE5.mp3 => src/main/resources/VOICE5.mp3 | Bin VOICE6.mp3 => src/main/resources/VOICE6.mp3 | Bin VOICE7.mp3 => src/main/resources/VOICE7.mp3 | Bin VOICE73.mp3 => src/main/resources/VOICE73.mp3 | Bin VOICE8.mp3 => src/main/resources/VOICE8.mp3 | Bin VOICE9.mp3 => src/main/resources/VOICE9.mp3 | Bin VOICEA.mp3 => src/main/resources/VOICEA.mp3 | Bin VOICEB.mp3 => src/main/resources/VOICEB.mp3 | Bin .../main/resources/VOICEBELL.mp3 | Bin VOICEC.mp3 => src/main/resources/VOICEC.mp3 | Bin VOICED.mp3 => src/main/resources/VOICED.mp3 | Bin VOICEE.mp3 => src/main/resources/VOICEE.mp3 | Bin VOICEF.mp3 => src/main/resources/VOICEF.mp3 | Bin VOICEG.mp3 => src/main/resources/VOICEG.mp3 | Bin VOICEH.mp3 => src/main/resources/VOICEH.mp3 | Bin .../main/resources/VOICEHELLO.mp3 | Bin VOICEI.mp3 => src/main/resources/VOICEI.mp3 | Bin VOICEJ.mp3 => src/main/resources/VOICEJ.mp3 | Bin VOICEK.mp3 => src/main/resources/VOICEK.mp3 | Bin VOICEL.mp3 => src/main/resources/VOICEL.mp3 | Bin VOICEM.mp3 => src/main/resources/VOICEM.mp3 | Bin .../main/resources/VOICEMEEPMEEP.mp3 | Bin VOICEN.mp3 => src/main/resources/VOICEN.mp3 | Bin VOICEO.mp3 => src/main/resources/VOICEO.mp3 | Bin VOICEP.mp3 => src/main/resources/VOICEP.mp3 | Bin VOICEQ.mp3 => src/main/resources/VOICEQ.mp3 | Bin VOICER.mp3 => src/main/resources/VOICER.mp3 | Bin VOICES.mp3 => src/main/resources/VOICES.mp3 | Bin .../main/resources/VOICESTROKE.mp3 | Bin .../main/resources/VOICESTROKEPORTABLE.mp3 | Bin VOICET.mp3 => src/main/resources/VOICET.mp3 | Bin VOICEU.mp3 => src/main/resources/VOICEU.mp3 | Bin VOICEV.mp3 => src/main/resources/VOICEV.mp3 | Bin VOICEW.mp3 => src/main/resources/VOICEW.mp3 | Bin VOICEX.mp3 => src/main/resources/VOICEX.mp3 | Bin VOICEY.mp3 => src/main/resources/VOICEY.mp3 | Bin .../main/resources/VOICEYOUGOTMAIL.mp3 | Bin VOICEZ.mp3 => src/main/resources/VOICEZ.mp3 | Bin sk.mp3 => src/main/resources/sk.mp3 | Bin .../kst4contest/test/TestLocatorUtils.java | 38 +++++++++++++++++ 93 files changed, 78 insertions(+) delete mode 100644 Prakti_elster_20.11.2022_21.24.pfx rename LTTR0.mp3 => src/main/resources/LTTR0.mp3 (100%) rename LTTR1.mp3 => src/main/resources/LTTR1.mp3 (100%) rename LTTR2.mp3 => src/main/resources/LTTR2.mp3 (100%) rename LTTR3.mp3 => src/main/resources/LTTR3.mp3 (100%) rename LTTR4.mp3 => src/main/resources/LTTR4.mp3 (100%) rename LTTR5.mp3 => src/main/resources/LTTR5.mp3 (100%) rename LTTR6.mp3 => src/main/resources/LTTR6.mp3 (100%) rename LTTR7.mp3 => src/main/resources/LTTR7.mp3 (100%) rename LTTR8.mp3 => src/main/resources/LTTR8.mp3 (100%) rename LTTR9.mp3 => src/main/resources/LTTR9.mp3 (100%) rename LTTRA.mp3 => src/main/resources/LTTRA.mp3 (100%) rename LTTRB.mp3 => src/main/resources/LTTRB.mp3 (100%) rename LTTRC.mp3 => src/main/resources/LTTRC.mp3 (100%) rename LTTRD.mp3 => src/main/resources/LTTRD.mp3 (100%) rename LTTRE.mp3 => src/main/resources/LTTRE.mp3 (100%) rename LTTRF.mp3 => src/main/resources/LTTRF.mp3 (100%) rename LTTRG.mp3 => src/main/resources/LTTRG.mp3 (100%) rename LTTRH.mp3 => src/main/resources/LTTRH.mp3 (100%) rename LTTRI.mp3 => src/main/resources/LTTRI.mp3 (100%) rename LTTRJ.mp3 => src/main/resources/LTTRJ.mp3 (100%) rename LTTRK.mp3 => src/main/resources/LTTRK.mp3 (100%) rename LTTRL.mp3 => src/main/resources/LTTRL.mp3 (100%) rename LTTRM.mp3 => src/main/resources/LTTRM.mp3 (100%) rename LTTRMINUS.mp3 => src/main/resources/LTTRMINUS.mp3 (100%) rename LTTRN.mp3 => src/main/resources/LTTRN.mp3 (100%) rename LTTRO.mp3 => src/main/resources/LTTRO.mp3 (100%) rename LTTRP.mp3 => src/main/resources/LTTRP.mp3 (100%) rename LTTRPOINT.mp3 => src/main/resources/LTTRPOINT.mp3 (100%) rename LTTRQ.mp3 => src/main/resources/LTTRQ.mp3 (100%) rename LTTRQUESTMARK.mp3 => src/main/resources/LTTRQUESTMARK.mp3 (100%) rename LTTRR.mp3 => src/main/resources/LTTRR.mp3 (100%) rename LTTRS.mp3 => src/main/resources/LTTRS.mp3 (100%) rename LTTRSPACE.mp3 => src/main/resources/LTTRSPACE.mp3 (100%) rename LTTRSTROKE.mp3 => src/main/resources/LTTRSTROKE.mp3 (100%) rename LTTRT.mp3 => src/main/resources/LTTRT.mp3 (100%) rename LTTRU.mp3 => src/main/resources/LTTRU.mp3 (100%) rename LTTRV.mp3 => src/main/resources/LTTRV.mp3 (100%) rename LTTRW.mp3 => src/main/resources/LTTRW.mp3 (100%) rename LTTRX.mp3 => src/main/resources/LTTRX.mp3 (100%) rename LTTRY.mp3 => src/main/resources/LTTRY.mp3 (100%) rename LTTRZ.mp3 => src/main/resources/LTTRZ.mp3 (100%) rename NOISECQWINDOW.mp3 => src/main/resources/NOISECQWINDOW.mp3 (100%) rename NOISEERROR.mp3 => src/main/resources/NOISEERROR.mp3 (100%) rename NOISENOTIFY.mp3 => src/main/resources/NOISENOTIFY.mp3 (100%) rename NOISEPMWINDOW.mp3 => src/main/resources/NOISEPMWINDOW.mp3 (100%) rename NOISESTARTUP.mp3 => src/main/resources/NOISESTARTUP.mp3 (100%) rename VOICE0.mp3 => src/main/resources/VOICE0.mp3 (100%) rename VOICE1.mp3 => src/main/resources/VOICE1.mp3 (100%) rename VOICE2.mp3 => src/main/resources/VOICE2.mp3 (100%) rename VOICE3.mp3 => src/main/resources/VOICE3.mp3 (100%) rename VOICE4.mp3 => src/main/resources/VOICE4.mp3 (100%) rename VOICE5.mp3 => src/main/resources/VOICE5.mp3 (100%) rename VOICE6.mp3 => src/main/resources/VOICE6.mp3 (100%) rename VOICE7.mp3 => src/main/resources/VOICE7.mp3 (100%) rename VOICE73.mp3 => src/main/resources/VOICE73.mp3 (100%) rename VOICE8.mp3 => src/main/resources/VOICE8.mp3 (100%) rename VOICE9.mp3 => src/main/resources/VOICE9.mp3 (100%) rename VOICEA.mp3 => src/main/resources/VOICEA.mp3 (100%) rename VOICEB.mp3 => src/main/resources/VOICEB.mp3 (100%) rename VOICEBELL.mp3 => src/main/resources/VOICEBELL.mp3 (100%) rename VOICEC.mp3 => src/main/resources/VOICEC.mp3 (100%) rename VOICED.mp3 => src/main/resources/VOICED.mp3 (100%) rename VOICEE.mp3 => src/main/resources/VOICEE.mp3 (100%) rename VOICEF.mp3 => src/main/resources/VOICEF.mp3 (100%) rename VOICEG.mp3 => src/main/resources/VOICEG.mp3 (100%) rename VOICEH.mp3 => src/main/resources/VOICEH.mp3 (100%) rename VOICEHELLO.mp3 => src/main/resources/VOICEHELLO.mp3 (100%) rename VOICEI.mp3 => src/main/resources/VOICEI.mp3 (100%) rename VOICEJ.mp3 => src/main/resources/VOICEJ.mp3 (100%) rename VOICEK.mp3 => src/main/resources/VOICEK.mp3 (100%) rename VOICEL.mp3 => src/main/resources/VOICEL.mp3 (100%) rename VOICEM.mp3 => src/main/resources/VOICEM.mp3 (100%) rename VOICEMEEPMEEP.mp3 => src/main/resources/VOICEMEEPMEEP.mp3 (100%) rename VOICEN.mp3 => src/main/resources/VOICEN.mp3 (100%) rename VOICEO.mp3 => src/main/resources/VOICEO.mp3 (100%) rename VOICEP.mp3 => src/main/resources/VOICEP.mp3 (100%) rename VOICEQ.mp3 => src/main/resources/VOICEQ.mp3 (100%) rename VOICER.mp3 => src/main/resources/VOICER.mp3 (100%) rename VOICES.mp3 => src/main/resources/VOICES.mp3 (100%) rename VOICESTROKE.mp3 => src/main/resources/VOICESTROKE.mp3 (100%) rename VOICESTROKEPORTABLE.mp3 => src/main/resources/VOICESTROKEPORTABLE.mp3 (100%) rename VOICET.mp3 => src/main/resources/VOICET.mp3 (100%) rename VOICEU.mp3 => src/main/resources/VOICEU.mp3 (100%) rename VOICEV.mp3 => src/main/resources/VOICEV.mp3 (100%) rename VOICEW.mp3 => src/main/resources/VOICEW.mp3 (100%) rename VOICEX.mp3 => src/main/resources/VOICEX.mp3 (100%) rename VOICEY.mp3 => src/main/resources/VOICEY.mp3 (100%) rename VOICEYOUGOTMAIL.mp3 => src/main/resources/VOICEYOUGOTMAIL.mp3 (100%) rename VOICEZ.mp3 => src/main/resources/VOICEZ.mp3 (100%) rename sk.mp3 => src/main/resources/sk.mp3 (100%) create mode 100644 src/test/java/kst4contest/test/TestLocatorUtils.java diff --git a/Prakti_elster_20.11.2022_21.24.pfx b/Prakti_elster_20.11.2022_21.24.pfx deleted file mode 100644 index 1a24767ef416dddf2dc5bd404710c757a54ef80f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13183 zcma*NQ*b6+)L)ZES0sk8Pu`*zg^ z0LbbK1_}-Uva&@) z&@cshPH*2<21Qw|1Rbf0B!|a4v9t;%#z4^9f#436L$|7q)E=GVKLZC5FwUxc|CT**w_sJ&S|g)nAgSinANE>*_#l>^8t^V5)hkL!CgCZ zbHf+I)eLhl)i=4-3px`hql?N%fC62giAvRM`HcrxgZ1kNa3ijtAee@uWZ3*D3B{d~ zS5+5S*>fs0N*rs04v+JM?`46znt`r#2R`&_*Lj?n)$C4jSNRa>H4uK z&F0r?8#^g5b@GNWzcFzLt)Rna%=0471BGzMAso9i%nUY-XNo0$KpNtzvXMaRL3b3p zFl7k_LeILo$0zpwmj&65VxXj-Dh)&Z-(ai_$Nh$KlrZ5Gnp$WA1yT&X$ckN_%&LSI zt$Sp{r5nblz{=f(7Uu=CBx20z#tKQ2C%!Vo6Zjy0LpnkQwSYOV>E_DQtyl(yRC(&Z>1^Vs@+ zh(f^#bKeO0XS6RkhUSEgmeS|Rzqj?c^`Ey2xN-+k4BmRDE4B)z6A{F7bMGwXnqE}_ z-HCn9N9{WO1|%Wup)Q;FO}PXr-%6gx_;X2-we1Tikx_5)z)Fu1qEo7t_u2|nJs@HDCsNj&(R)U43CDvD{S^)t}xRG?-(~1##S==pk~utVET#1iZtqT(vByT(XxbqEsEInMo!6(aSROrXe9Fa1 z;(rtv_zPwFcv^Pu>gA@Gh#tzVQob&HnX%9CJ>f%0yYvja|IKKM&|C=i?bSp?mvT1HY%UqE5u&v@3rUdL zz32yi>z~_6l3BkDdC;3+JJUY5h3p7Sq~*P@M<+z**D-z-WJAy^3fSE=wJ!H}IJyn= zFpOw@87Api69_JG&YOCZd<{e>BhLDSKOH1+6+s0BcbE(N7GlJ88KnOel4w!o+?TRb z)eQL6M{1JOh84eIYYQaD-XOSUhvEkef(pB5!luOmy{jo${p)6(+LNwD@8ARX1M#L=Uk~I!rQV)odAG#!&-~SytlM zuZezQKN99LiU+oax#6f&B`E;gX0hH}sKf~h;pIq^=l+l=W0mPvvFZ8%f2y?m&b5C~ zxgxB9iDvbXo-vos_E%Yo_zcpH588vL-EQ|neQ)#=Fe?xZbLw6-c`H?9L(=jtr&CrO zqvDw2nJVbTg0hgrpj|#$IEFx^*8TFM`ul8p8E{8ckB#lKMnM`99FL(%9+3Ll3v`ub zZ4cbu%%LPHD(;ZgQ0Q|J&n@h!j&k#6GGvcdb~lESn3auD$t&iyFL#E7Ag$l#I~DJ$ zCH>fh!n`atGWrR6?3R}hyg&|kDY6|ZR#W~DmWU|nt$wLNv?>JKc2Eu8v!c~`!UIS7 zpu0_|PF{ zm!_lBh~F@nee+fj8gCXpikgn#{4YJHHY2#|qBR?jFID}Nef$_N5q~`Kf9mQSbDVFI zu9jlr8rY`yH+!gpTUn=mycs0-9RluK-QS_=zjMP>@A8=j+I*y_6|CcB(EkP!v!u$~ zSjY;eW=g@8q?xufTQ%(839?nAu}@(Ha(`KIAt1^b6>#Qw3&HL28aq?}sh%hOhO_NZ zdaZMEruHLtn26f0k;b39%hG|p53xn&CB3N*lniB+fGK^uf+zoC%3%I2I8R7HcOWI{ zSeM_SW&q-GD*LfO0tI0oS0J{}@YZo7oL6(0)x&r~+O55!vW{_~@*$;kER}R%8yMUS z8>&H7TuZ{M{KD}pf6a$LgOA5fF;(E;ynl~X8ab2DaXq+0$%rrhDIL9CmR4Xkcy!;| zfK;W$!IC`>eE>OGG}%!&f*=3wT|{%TqRgk>TnWcH>g<40_Y1ej53E%93mM#nLVgcC zWK@!*h==X{s{*HAJ#7|y;~x45d)&a|v#kI~LxA&p$Xm^{jJ%K_B)DDZc1PL4xH!de z<(|zV;vI-5shj0!*cIfXT6SgAD?v}2lU{&6l(aj8FIzvB0i0skEZO*Ep z6hRVg53U*y$~2G$mVeQ$_wR6=%Xa$q{?AuZ^qvQu5gSEk$xMcIxg0w?w%q$Jxn5ff zYdhw?=NYl^K}XK5zmS@*M$fQ4S(b=bp!z>bY(xj2WcnDEvZpkZd`_kO)EHyVdEejV z$lM7^{Z_uS)~NpeXX5r<9R6q>$dFRoiv$a2vXlfmi46C@A%)K_U>-w=W!`UZ{C5`p zPvZax6RH5}=OP83N*(LiUkY3F8-bI*$Jw^ScTkE8lpp*OW`-!>`>k0N&p^DB#oNDsn*4WG(wNPJs*Hz}TiYU0fbu;Fh@5Hsitn)otI*igEr4L zxVB{)-MPuxLI>oRZ<@da#qT2OP$14hEUbq0-)vahNbdB=()J`FNh)T~Dm;3*X*9GU z@HJ_4t$#Hqua*DiyvU4aJKFQFW%Q-Ni+#@=E}cu(hIK%T(L5w@|5?5s3s4Rb{<_{R zn-TZIL`kV@Zz8bA{MHEYaZ3LwFDcxkWzaWV+wt1|Q1!Pd^(8NmYl_UcZn-HRUcqz3 z&nV^vTK(7nR(aZ~^c?UIh6&r!ueFc)iaFG1RjOE|ifaZX@=q9=RnFozgs*=18_CfK z^aWn63uo-1V3EVFb)`2v0emMlk^V&lBx7o`7c!pluH2X|&O~6rp!%Uy$)|o-n+UBf ze|D&=w2|HJZ)Ap9S4LDoNM-v|mH(t5ab8sVUmZ#8O~ZPZL={6gtPn9Ku^rj<4~(56 z$@ndTL{2oYH({t!NIT5hhO48c5_DnPWePMZ8Bnka?eZ*Dj<1e?oz7{)L*HD1(cb^&;?>j%(L< z>4*koiqN=7&()ca3xsLSaQlvANOJT@CU5k0-k2fU&BoYCnBVwJ@nZPwGj7K{rxRW4 zj)lhaBFUS}_;=DV9o&v#W1)WG4*ji!vf47I4LHC0X7Bo#>H=ck#CT+|d!Ulo=+?#5 zX_-*9@+P(WVi|fc#$?k1pS&?vqGcd8XnL?2 zghZ3bVo^bSSk>oV8SH#b^o1TaJXoJx+gv(TKCBP*bhf1jfeR<@hUTsYLRVrYj~oW9 zddxS7r&PrlmL14>foL=4C8qMt$-jkTeZdhOGRLS`tJ%qPgP=8)_zw~xSOVQwo9@ai z;z77mHAF2NDq+$Q4&+Qm8N>BGDng+g5c%T}lfHfed@`A0trB=Bf2s|WyNqj^rm-x* zO>7mjA6aoYXLxdvE;HKC6Mh3<9VK+=hNOL!b_|&Q03$~;-|GKD9FJ4w?d?e_{;?;^ zOZD^aW|jj`{U7IIFyj&7fVlprWXu1QZ2X^`-T%|H`Tv`oIk>n1z+Z#^I~z3AAK7t!0^$aO!2`Gz_pxXu|0C-l;4i1-@#rd@ z>2>d;z6T=n7Xfg|isv&& z({T-DB$D5_!QEwgY8Slzdo}74xp{96Y|6&L^(8;bp6AzgR_L979tKfY9TDEq8)yjT z1VGHqN7Pt39uf(+lp#YPkzB}XWTmv|^-?W#EKO3J$is%iLfEYi56FzF$K{$b%+Svx zYy3p1c8Wmi9k4SGq9z1f0MU+(EY6iEKbZ{=8LBqAQ>)eyc>%XyCBhbkCsU^g5hNUx zZ~O~$O@4E(c1Bb*+H_e3`Im2JzQptl*-ZPqb=Wt_i26hPy|T^eVkD9BZai;Q>L6?r zFRHaU)2d)=Z_rMi`a^(m$1sy$z9MZ`kNzc=YJ_4)#SAL`ssmI8p8;P4)INkS&u5)* zm^#|@Ed_eyCkz5(MsS_OTFjzSB8x2QiXsn#vnG-rr;rc=kIH*JjsWKzNH<#kRRiyZk05 z(6!8gPDD^7r!p}c!5Rp174f;e0x$Je_In1Y|MbYX0nT)Pk-Bj?L%>eeA9o3 z03Yq??zZb&h97^;DtESa_N4kyho(&1fI{gqV@jSo?ltX{J`1KM1y4>+w7le%oKS~y zuEA~uNbRF20Ha!2)i7wL)IO~$)$P}!Q!$w0^K?GJschZD_fo`X@9_?#ao*d4R4`_) zNE&C4h|uVcj;UiE*s(8`8>dD}VA!9XW?B2Pv8f?9g8rJ!_9^ZkR{O*ML!t7^dZfw? z?BqB1PND8IbtQ2CTsu2b)nm_|b@-{K@TE8Zxu{Awkn={mWBM>@`}0*LjFw*a$inYb zFl*n$rWCKRwv=qCN|zFRyf^IyxdIPr@Xw{W&6mzymrIaWsH<V+O}k`pttJR($)?4Z512Ax=b$ z)`HpwM8Go>gS*S8aw(RG$IErTh3PxJQ%6M7iUWN_{SPl81!Q~b@omcphvL2UudY<0!7JPZ_~whyEsZk_(8>b$q3U$`F*ZFlu5q}A8_XQFcy2^z&z-`; zVljYWbC2%w8NZ(t?o8sazuZ1Ghyx1rCREdcSbj;AIzhHqnQWoZV|e}UFEyjrxd63E zchY*@=w9$dQ@Mdni0tmBELI9mA#ptjtwd}ccaHEf{BtkNQa+Vq8S^p1DBU8m#If9Y z+qO2^=y0ZOffCNN_A`uq3*Am?CI+m+%yRD>a@7jzX40f1+ZL2#7x*-A|6eI2%O;1p zG@Zon*|R*~|(VdU0)_d4fWm>Fv>NK#h|cVA`f zEH3%%S%o804b%>LkydyafHR*+UO_>E)`7&|Iv74F85AyZm~qtVz=%l&3gqbE6m3|& zIeJPAUAqbtoK4x&I5-9WL~(i{N^=Y=4RGWL=@qcC*y0}ejth-kYWxfks2gy2v z>43T&`K6$Z!@%onOg=4(fSz4qoEG_E4iU*2;#T7lM4)>@+8BOUY1^KR6uOWcYyLp} z@EbDOM$bE+d05-yOTF?at3XEjZm?mUSD`CtZ61aRmkMQdOpdBP#6LG${JsSOV6DXj zA*r18%Mr+X&^v7)q2TlFpy>W*z$D2wswM2xGFFFB*01#4M%{w$AEN zbOhYFHIgb2E=^;U{^1ZjN@OfFgcE`3yPM+|Hm&p0CY0xu5S@qO>Rl&5kuMM=w}f zw}hcI9!-~Za)*&cVP7~iIk6#xvWG!8FE7o!|B5en8s$6G8MyMu5xrC=F7Z($GAgw{ z^sV>#x(fYFn0?xp*o0i#h50@ij6p_^6b(Wo;8SLa?L`Ag+@FpyVTA5kw*BHKScOWZ z6Ro!+;#Fr!6|?v4n$B$0Tb#@S*|28ke-K4p2C_cGrgRD65AAuO1L;)7jCN<%9b2Xs z`Q8(jhpf2>&t`|~3ZQkqx`n=k7!`oeVN^V2>Lyfo`&aIINqiySl(-IzVa|sVLb`TL z`lKK&G8rSXRUCh-hsF^6g|@tukbvb$c@?lp9~APjXOi4$in@hnDENRK@j{m=nYAp1 zU^Z~5b!};z+0eA(G1bRX zY)JR;V*;IsVaP}ln}-So8@pC^$xJt z5oH=rX(6XJHI3|+pmNU{MPsK^2XEQgY_wAk_f}r-Dr*D#-R+%z(>G@Kqix~!`2sd; zyCO>4QY9v}Qw@t_fQ;S7E2+$i#-$kh9awhHq>Kdyv$TTWqZ zWj81Y`mG<~+F2yb_0zyJFnS4qA5oDV>fB9oP7hovZoZZn{^J@{#wc$mSopQI3+6s% z^XZtoP!M7bJ>*Il>&`yi!lu(Z!`Aj2=RmM==i0}VP@SJrHwHZPyDM*3EsA$zM5Z81 zq6thPwZAV{=+-FfE~*npI4#H=P!HalAfVH#osO$nK{@e_OT+ti*h6=G#j^glY{D~H zA5GM0?a5fUddpuJ^Q)94e>EIkQ=NAbcKThpc!DQLr&BaqR$=Hf)C9?CwnTpDmw!|! zT7`j01F7AIf`*ZX0{NlqL(%a+ouA{%C=@pvw#>|Y5@#Go#EqwYO zlBZ8gTeVCWyH+&7Fu*I%0LDIh-nL@kn&fvy-bLjbMh&FB(Tb4?wA2V57G{6vS19tK z{I%$9vt`nos002UHU1q>BL5z#=`VIdtQMYwBnUGZ#=UUFDzkBxJ~*{@egVV3dZMv8 z|9kFb?I2qHtk6UjZb%f}jG%~V{3K!iXR%`BHWh@O@q}Yu(KivP&jVHAXl+vhzLAvI z*nDN2&@Ao^`w~QEAh_y<=sdQgPm5DfsxN9QO%gXM-hIU7xt~yVz^bB*2Mi3pKxGNg zr-#t*pJyA+#a{kzI*DX4Uytrf7`bt!d>TpwT$g4NuJKaw53#@2rB7Reu%IE=y8V$3 z{crxnW}5OZYKM&7V6j+lsKhyWOlrx2oKF!y5_tiGV#Mhz(At1aS?v$9VIcx)66S%k z-%cd9oHHHzEn0BetTllU3wXGZ`#&aKYhLBXPf#E}{x^I9?Lg6w*B7yV6S%Q2 z*IhdOj8vTcb7t=a|I1gjqwt~zZ^c{uGzgf~Y`Q2?^#-*R<-jR8@_G_8)!$^i`pOU) zn))IIf)k!(##6MD3DYdf^dUj%@d+2-awBZR4en%-S(Vm;kGPK~+>lGhC+<=1U!4C^ z{4MdZIn2vXOL7^po0%}v6{i9{zMPq+V7MV(f*+ta2va#N36x-%_l2*j-~MUF%paeJ zn06HchL?M|)iyoXv+BZOtM`%mGjDuak4#4Xt}bbf`--fGFaVPs=^OTm_T@g32l?*I zriqdSg?-!Of}aIZ1_Pq7k}U&U@Yud)ZNmD>uVUaDJ=PYQT!)#b9-j#0goj6DOmJua zYnsGVau$(d7)8R_;xMx0wp+AM=!HLDogb-nJ$5&HG@@Tu0I+SgAdny?@=?}$Y4RAH zJy(;sqsK0xaKwZP9Z+8>={Yy$5t@ac@um1>B!m z+HJ?GYG8VK%p4O#^EgqC-e@RgUFFL&o1-@Ky}te+Q21z<2(qG&)+J~O(>=15=GGdZ zq47SV>;9R6rIF59g*u_)$~X4)*hI|hCQ9f52@QT)t9&;X%~lx|#6fT6GTNUEoOYJP z+C`i&@#C~}Dl8jJtQQdLN=VEu-zjD{{KyAUXIh7_a;QyIU zDKYeUAb8p|cbGxmmTB`upNj1^T)NzrZgDnb5TaM!=%+k#shRu0NWR>&z*}Q4%HWhy z_o_q6b6ACdcVK6b#b4PG@`drEw(nW`n@!l5(cylMqys*4*c8}SwuSb&e_M`~q$;Q* zNs7QD^`8EYu5;+GcqWxpEGkN?KeVe1PN&`Ku4{oG8(X3?k+|JzlNzMvSqI|4vf$03 z1A@jJ23H~#D8|90-G38CB85PQ++-6hW6mS8BkIoC!R>bd<)Lr%=Su=6%cP3kn3U>S zCC>DG=hxuQ4ShWmXu6cx?yTs#RW!#o6;mxGXwBYiFgzGz7LA0Hr)UI^N{Fc&( zp5KOH#|PN~eXOOL>e6T_pxxCqyp!Lq?C z8odi2oyhbp#r&GOKT%M;UpCW_&R>!^>2z}w<)XwcA0~WW|3)$}_e2k6`wKyrO@75@ zK#eT+o?*lrs!f-mUZYoRoE00ev z6XKV;Zptrz_!#U%eRUU>FZ%5(baA_4mrUXY90v}YUSttu9{^0+XPxb2yExN|R`XS7C z<0||deyo=pQ8e3JqqW7zp<)KxJ|2H4-Rc5XC7p%D!|&AbO@=TF4Ql6Gg&4&-EO|7+ z`%~AT?&|l?|1c&qLqivwdY4mKA=P{Qj5h^ZSogs+h=mDoh|p-=-0I_y+DP}*?}vMo z)|V*^X;xK>N3OnMB9HEg?Z@Lm%^T^+pO*RZerUS3ZtUO6#1t)}8!(E=MFf5YrZl9StMw0v$y605{GmL5v6PQH&BW* zDc(6(+OBwfcMspWMF??~%%Y+U!Wf~`RtUVYMcr(0v+&e|DfE3rJPPqMTK{YE$u*~T zP@HlCN-I*oq2OX#K?rd4U8=Th4hhE=#9sB1p73-Wi>w*izJk)o#Fmeg@t-6k+Dn&L)XF&R2s4H=DjM)fCCP2XjviS1{9GTyCRskUh zC4b{c)N}j%Q=umV`N2+&k8li>xs2o2=3R_qZt#Vnf&)fBx+*%{vGs5N;47Xp+CW5I z_IFMPEj=1HCZ*J#j@u=xsdxG}3|?GoF%N`-biI|8hUUHA#efR^IQV=Hv~@5!9rs9j z2hB@13FLZVx$tGF3OEyl(qN(cw_uU@Fl{TIlKqK7TwxFk(dbwMkp20GAVUxC)oCULTG9z0UUZUHIw}DgvGdcBoNx2z-q1yJEhIQMSp=%T&O9cc zT|=F@j?N`ts9rqAvVS|!S*{$WxyAfqFbwWQ^iuvMV3lgAgjZmL{wU6u0+sygO}CB2 zQS|s%N!S9s#X|=ggEDJ^QqxqoW^D?hI^)#59-JBk2Mu;&9E9>^?ydl_LrFwTycDg^ zNKTI4z3Xy4B_`l;K6Te3Uw9ouv3cKzu)?$4y`F4wND6 zVjj=BT|ZvAJ+V+pN+5^X2TTM?Xabm4w#cT17T~n)uY+uveGxN+MHvB(J2&)d91w=j z2d5dmfI5N6O9e6@AfE>vX63)p=D*T6D{8#gEP`MpeU=!%6w%(DoE!suATO#wNrdm#~4jhN|gG~{EI zVYHpJQ#?YE!qpkc`PI3OJ5N8{M$DPL8%8L>9rDLILPv@zhwC5}j<%XPo!RxDD~Her ze!u=O#5GXLWu-T|7H&`MXpYO07XQG(&ufaE0g=g$+~OWxrIXhgCpUZz!%qh^vEuPhxnT>o@C_wysxHv$a$G z%!$EVUzZ!LeGBcTj@rO8)Kt-bFe0^5sW`X@PDkoyIgNdXJg|)0qKt>5nvN^(egMlM{P1&8HqbdqPb{tZzP$@K#ris+uROD1TW z@=+2l#3d;fF0w1s-hX7MkN3C5w|b9Q=tubygz|w*qH~nXn@6$BnEOZmg6_3oBFLb$ zMDCZo+!bfk&-Qs=PPk4aS$MXK)WN$uC)c-A znJw)6z&@{4Y6uKSByL8jGRn3jp8rYHq)@yj1N{DDN~i)1UplbJl~Zrm1P25uR?qvj zQV~fQrPws^0ieP!CyrAVaYg#Ty*RBlipQ-xk{lb#Hf8w=ZtQ0dYW%Svx_X%w9z34k z)}SU1j+woB$Kmw;D#h(rC6`^La!s@{wI8M+VFj7j?3bSVd^K$2c}nVi>ObEI5vR-E zON>v!AT8Z)bGOB$BjOq!m1_gudg?5(EYBhZ#-jKJhR~J|g?fKUBhy{SUz~y0=wAL) zr*MPf_Mv(lkYLNV7n-($vU&*D|EtL0tE}zDT`bt2$06z}Xoilr%rjQ9Khny=M3j}F zLXBh{<;dA;KXBfp0A;u^r_faYt>%62%K+LgLH5{AoyYX+pVn6p3!$1p^$&(iM)?Mu z>mdis)j9fO7kIELsqAg0W?!4ImC36`(8Wc@YVdv-TS@9t6YV`j#fe}(cSweR!$(JJ zre{m?QnxG6IH?{GSvil_xml6bsSX>VyCEBx!W6P<2GUg%{|SVxOfHjaO>qjtgmo4l z@o5|5gCrx$v0T}I_$JYh^=(*-iIq)`^u?+1q&E&64{hM4)9P!EIkcx{IY={!lrNUJ zZQ3+Z83JABj+(le#yEvH68Y#;JC_))(AVN>w&RQWqnp{4QI})NFF;NCc|#>8X_huE zgAhm-*3XFExX@bQ^*cb*N7VO<2!|}Se~9zQK7o#UQ0d(k7acLPc0 zmp@QXFY1hm+M{an04lQB=vz=)I~z@fKo@a-zQT|z++!m_>~)oj-aqpL2ZatctkbKZ zTNU&CZ$!8mY8*9Y%7Km2pP?gzuNU{;4{hV#D34EK+dEh7>-3{tY!05Ku>dw^k!xYQ zV#&)juo?|r6VUcAY<&MwFwNuY-=tlkA-Vv}5x{S8h$Eh%NOj!MK&HXKLWsw!UMGm# zEBt!rh;6nET7cq{S^k31BRSh&Sx(hyk!u$bHe>5NbO*q+9F}B4Ren&E5D~&~#cog% z4s9!y$Lwau(B#_&7gT1-PMpuKRMBS{@CPX$>#Z`o_#w+He)yiqkS+fOP z)fm#@*T^#Nx70CR2k2o&L=b{qX>AcJteJGCOjtp$IqwA=P}YjUPdpd#w$ZI9s(#xJ zHa?7CMc(Lc6mmp(ZLWA#rP0DTqlbg~GQPsdNqpICwMzeofFWhDizTx;+zAx?ce_ey z@;dZ*d+U>UomFFcJf15VM?3ekHDKatzto z{hKOwtbQ?`T&Yp_G4P`-hm5bL10i=lhm;ip$})9k#Mp|24cJEE3)(CWprTj$fjkW< z7T14{lk(k~%#nmenN=W09C+xXGURoRAc|V7@X>2e(W}Yn)lkN0EUQlhN$YfOky+lb8()gjdT@z|2JxB8t!Vq1@d* z+1&onb(S=MYDajs5@1qSau0U|0NQDpq406)0qkvC(ngnta<95&6=y z5Dyf{B*7oVv9uOw29F;qNgT?961-5vLkL>0uavUsJYa9bMtxJ8B=1<|5hx{VQS zaDIMuN-t#80~pEQy>)q<8Pk6i@f3~H+q^69i>aY7eskxB_a=ot(!BdBofM2gnOlqVJ2M8ex60cf@|6~%sv02|6z-w-0ZSwJ^z>i(V<#{yKNuU1x z=AXz@DyYGS84topLnJ*F75&|7WwFqUZYJCiiR)6bhx--hk3a&Ibg83!? zcRC-$2Z`>x6G?M#ZHmR^r+;RtT+&ZX=s&7IOEW9V9YNU6^S7(Hx0D*Cy_xOf5XWw>C2+c;*5W#_*Dti>z+*5>9+)8{ zGpfe-3aU$gjrR+FKMR-py==wMCU)ax2<|R7jW}tMTI&!t0FkishLQ3*4{j+>jbSFJ zgQRk0ZyDH~OIf3L+r89_I)KYiteZ{snDnQ~V>6RlqN z)t;6DEvh^U{$lameAn~k@lc1@uQOJCVkmOi2rRTVN{S|*<5ZrGfoW&NJmH26)Q7CE zQoC?nEG_sTIk}QSiBNAzwvWLzTKlzr!(S%iqnnrvak3rBW zRt8793&(*4O*AcNpC1RtRpRCuwH$Cw76jl2kOE+#AnB06!SEnKATSJ$ys+9T+SvIi pLCI^`Zl(1J!w?}bjJAaC4&ZhA#y9hGO5@;bGA`6^|7T_A{{tQ37{~ws diff --git a/src/main/java/kst4contest/locatorUtils/Location.java b/src/main/java/kst4contest/locatorUtils/Location.java index 6903c55..0535dc1 100644 --- a/src/main/java/kst4contest/locatorUtils/Location.java +++ b/src/main/java/kst4contest/locatorUtils/Location.java @@ -1,5 +1,10 @@ package kst4contest.locatorUtils; +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.text.ParseException; +import java.util.Locale; + /** * Location class with methods allowing conversion to and from Maidenhead * locator (grid squares) based off of @@ -203,6 +208,28 @@ public class Location { return getDistanceKm(this, loc2); } + /** + * @param locator1 6 letter location string + * @param locator2 6 letter location string + * @return great circle distance in kilometers + */ + public double getDistanceKmByTwoLocatorStrings(String locator1,String locator2 ) { + Location loc1 = new Location(locator1); + Location loc2 = new Location(locator2); + + Locale locale = new Locale("en", "UK"); + String pattern = "###.##"; + + DecimalFormat decimalFormat = (DecimalFormat) + NumberFormat.getNumberInstance(locale); + decimalFormat.applyPattern(pattern); + + String format = decimalFormat.format(loc1.getDistanceKm(loc2)); + +// return df.format(number); + return Double.parseDouble(format); + } + /** * @param loc2 * second location @@ -278,6 +305,19 @@ public class Location { return getBearing(this, loc2); } + + /** + * + * @return bearing in degrees + */ + public double getBearingOfTwoLocatorStrings(String locator1, String locator2) { + + Location loc1 = new Location(locator1); + Location loc2 = new Location(locator2); + + return getBearing(loc1, loc2); + } + /** * @param loc1 * source location diff --git a/LTTR0.mp3 b/src/main/resources/LTTR0.mp3 similarity index 100% rename from LTTR0.mp3 rename to src/main/resources/LTTR0.mp3 diff --git a/LTTR1.mp3 b/src/main/resources/LTTR1.mp3 similarity index 100% rename from LTTR1.mp3 rename to src/main/resources/LTTR1.mp3 diff --git a/LTTR2.mp3 b/src/main/resources/LTTR2.mp3 similarity index 100% rename from LTTR2.mp3 rename to src/main/resources/LTTR2.mp3 diff --git a/LTTR3.mp3 b/src/main/resources/LTTR3.mp3 similarity index 100% rename from LTTR3.mp3 rename to src/main/resources/LTTR3.mp3 diff --git a/LTTR4.mp3 b/src/main/resources/LTTR4.mp3 similarity index 100% rename from LTTR4.mp3 rename to src/main/resources/LTTR4.mp3 diff --git a/LTTR5.mp3 b/src/main/resources/LTTR5.mp3 similarity index 100% rename from LTTR5.mp3 rename to src/main/resources/LTTR5.mp3 diff --git a/LTTR6.mp3 b/src/main/resources/LTTR6.mp3 similarity index 100% rename from LTTR6.mp3 rename to src/main/resources/LTTR6.mp3 diff --git a/LTTR7.mp3 b/src/main/resources/LTTR7.mp3 similarity index 100% rename from LTTR7.mp3 rename to src/main/resources/LTTR7.mp3 diff --git a/LTTR8.mp3 b/src/main/resources/LTTR8.mp3 similarity index 100% rename from LTTR8.mp3 rename to src/main/resources/LTTR8.mp3 diff --git a/LTTR9.mp3 b/src/main/resources/LTTR9.mp3 similarity index 100% rename from LTTR9.mp3 rename to src/main/resources/LTTR9.mp3 diff --git a/LTTRA.mp3 b/src/main/resources/LTTRA.mp3 similarity index 100% rename from LTTRA.mp3 rename to src/main/resources/LTTRA.mp3 diff --git a/LTTRB.mp3 b/src/main/resources/LTTRB.mp3 similarity index 100% rename from LTTRB.mp3 rename to src/main/resources/LTTRB.mp3 diff --git a/LTTRC.mp3 b/src/main/resources/LTTRC.mp3 similarity index 100% rename from LTTRC.mp3 rename to src/main/resources/LTTRC.mp3 diff --git a/LTTRD.mp3 b/src/main/resources/LTTRD.mp3 similarity index 100% rename from LTTRD.mp3 rename to src/main/resources/LTTRD.mp3 diff --git a/LTTRE.mp3 b/src/main/resources/LTTRE.mp3 similarity index 100% rename from LTTRE.mp3 rename to src/main/resources/LTTRE.mp3 diff --git a/LTTRF.mp3 b/src/main/resources/LTTRF.mp3 similarity index 100% rename from LTTRF.mp3 rename to src/main/resources/LTTRF.mp3 diff --git a/LTTRG.mp3 b/src/main/resources/LTTRG.mp3 similarity index 100% rename from LTTRG.mp3 rename to src/main/resources/LTTRG.mp3 diff --git a/LTTRH.mp3 b/src/main/resources/LTTRH.mp3 similarity index 100% rename from LTTRH.mp3 rename to src/main/resources/LTTRH.mp3 diff --git a/LTTRI.mp3 b/src/main/resources/LTTRI.mp3 similarity index 100% rename from LTTRI.mp3 rename to src/main/resources/LTTRI.mp3 diff --git a/LTTRJ.mp3 b/src/main/resources/LTTRJ.mp3 similarity index 100% rename from LTTRJ.mp3 rename to src/main/resources/LTTRJ.mp3 diff --git a/LTTRK.mp3 b/src/main/resources/LTTRK.mp3 similarity index 100% rename from LTTRK.mp3 rename to src/main/resources/LTTRK.mp3 diff --git a/LTTRL.mp3 b/src/main/resources/LTTRL.mp3 similarity index 100% rename from LTTRL.mp3 rename to src/main/resources/LTTRL.mp3 diff --git a/LTTRM.mp3 b/src/main/resources/LTTRM.mp3 similarity index 100% rename from LTTRM.mp3 rename to src/main/resources/LTTRM.mp3 diff --git a/LTTRMINUS.mp3 b/src/main/resources/LTTRMINUS.mp3 similarity index 100% rename from LTTRMINUS.mp3 rename to src/main/resources/LTTRMINUS.mp3 diff --git a/LTTRN.mp3 b/src/main/resources/LTTRN.mp3 similarity index 100% rename from LTTRN.mp3 rename to src/main/resources/LTTRN.mp3 diff --git a/LTTRO.mp3 b/src/main/resources/LTTRO.mp3 similarity index 100% rename from LTTRO.mp3 rename to src/main/resources/LTTRO.mp3 diff --git a/LTTRP.mp3 b/src/main/resources/LTTRP.mp3 similarity index 100% rename from LTTRP.mp3 rename to src/main/resources/LTTRP.mp3 diff --git a/LTTRPOINT.mp3 b/src/main/resources/LTTRPOINT.mp3 similarity index 100% rename from LTTRPOINT.mp3 rename to src/main/resources/LTTRPOINT.mp3 diff --git a/LTTRQ.mp3 b/src/main/resources/LTTRQ.mp3 similarity index 100% rename from LTTRQ.mp3 rename to src/main/resources/LTTRQ.mp3 diff --git a/LTTRQUESTMARK.mp3 b/src/main/resources/LTTRQUESTMARK.mp3 similarity index 100% rename from LTTRQUESTMARK.mp3 rename to src/main/resources/LTTRQUESTMARK.mp3 diff --git a/LTTRR.mp3 b/src/main/resources/LTTRR.mp3 similarity index 100% rename from LTTRR.mp3 rename to src/main/resources/LTTRR.mp3 diff --git a/LTTRS.mp3 b/src/main/resources/LTTRS.mp3 similarity index 100% rename from LTTRS.mp3 rename to src/main/resources/LTTRS.mp3 diff --git a/LTTRSPACE.mp3 b/src/main/resources/LTTRSPACE.mp3 similarity index 100% rename from LTTRSPACE.mp3 rename to src/main/resources/LTTRSPACE.mp3 diff --git a/LTTRSTROKE.mp3 b/src/main/resources/LTTRSTROKE.mp3 similarity index 100% rename from LTTRSTROKE.mp3 rename to src/main/resources/LTTRSTROKE.mp3 diff --git a/LTTRT.mp3 b/src/main/resources/LTTRT.mp3 similarity index 100% rename from LTTRT.mp3 rename to src/main/resources/LTTRT.mp3 diff --git a/LTTRU.mp3 b/src/main/resources/LTTRU.mp3 similarity index 100% rename from LTTRU.mp3 rename to src/main/resources/LTTRU.mp3 diff --git a/LTTRV.mp3 b/src/main/resources/LTTRV.mp3 similarity index 100% rename from LTTRV.mp3 rename to src/main/resources/LTTRV.mp3 diff --git a/LTTRW.mp3 b/src/main/resources/LTTRW.mp3 similarity index 100% rename from LTTRW.mp3 rename to src/main/resources/LTTRW.mp3 diff --git a/LTTRX.mp3 b/src/main/resources/LTTRX.mp3 similarity index 100% rename from LTTRX.mp3 rename to src/main/resources/LTTRX.mp3 diff --git a/LTTRY.mp3 b/src/main/resources/LTTRY.mp3 similarity index 100% rename from LTTRY.mp3 rename to src/main/resources/LTTRY.mp3 diff --git a/LTTRZ.mp3 b/src/main/resources/LTTRZ.mp3 similarity index 100% rename from LTTRZ.mp3 rename to src/main/resources/LTTRZ.mp3 diff --git a/NOISECQWINDOW.mp3 b/src/main/resources/NOISECQWINDOW.mp3 similarity index 100% rename from NOISECQWINDOW.mp3 rename to src/main/resources/NOISECQWINDOW.mp3 diff --git a/NOISEERROR.mp3 b/src/main/resources/NOISEERROR.mp3 similarity index 100% rename from NOISEERROR.mp3 rename to src/main/resources/NOISEERROR.mp3 diff --git a/NOISENOTIFY.mp3 b/src/main/resources/NOISENOTIFY.mp3 similarity index 100% rename from NOISENOTIFY.mp3 rename to src/main/resources/NOISENOTIFY.mp3 diff --git a/NOISEPMWINDOW.mp3 b/src/main/resources/NOISEPMWINDOW.mp3 similarity index 100% rename from NOISEPMWINDOW.mp3 rename to src/main/resources/NOISEPMWINDOW.mp3 diff --git a/NOISESTARTUP.mp3 b/src/main/resources/NOISESTARTUP.mp3 similarity index 100% rename from NOISESTARTUP.mp3 rename to src/main/resources/NOISESTARTUP.mp3 diff --git a/VOICE0.mp3 b/src/main/resources/VOICE0.mp3 similarity index 100% rename from VOICE0.mp3 rename to src/main/resources/VOICE0.mp3 diff --git a/VOICE1.mp3 b/src/main/resources/VOICE1.mp3 similarity index 100% rename from VOICE1.mp3 rename to src/main/resources/VOICE1.mp3 diff --git a/VOICE2.mp3 b/src/main/resources/VOICE2.mp3 similarity index 100% rename from VOICE2.mp3 rename to src/main/resources/VOICE2.mp3 diff --git a/VOICE3.mp3 b/src/main/resources/VOICE3.mp3 similarity index 100% rename from VOICE3.mp3 rename to src/main/resources/VOICE3.mp3 diff --git a/VOICE4.mp3 b/src/main/resources/VOICE4.mp3 similarity index 100% rename from VOICE4.mp3 rename to src/main/resources/VOICE4.mp3 diff --git a/VOICE5.mp3 b/src/main/resources/VOICE5.mp3 similarity index 100% rename from VOICE5.mp3 rename to src/main/resources/VOICE5.mp3 diff --git a/VOICE6.mp3 b/src/main/resources/VOICE6.mp3 similarity index 100% rename from VOICE6.mp3 rename to src/main/resources/VOICE6.mp3 diff --git a/VOICE7.mp3 b/src/main/resources/VOICE7.mp3 similarity index 100% rename from VOICE7.mp3 rename to src/main/resources/VOICE7.mp3 diff --git a/VOICE73.mp3 b/src/main/resources/VOICE73.mp3 similarity index 100% rename from VOICE73.mp3 rename to src/main/resources/VOICE73.mp3 diff --git a/VOICE8.mp3 b/src/main/resources/VOICE8.mp3 similarity index 100% rename from VOICE8.mp3 rename to src/main/resources/VOICE8.mp3 diff --git a/VOICE9.mp3 b/src/main/resources/VOICE9.mp3 similarity index 100% rename from VOICE9.mp3 rename to src/main/resources/VOICE9.mp3 diff --git a/VOICEA.mp3 b/src/main/resources/VOICEA.mp3 similarity index 100% rename from VOICEA.mp3 rename to src/main/resources/VOICEA.mp3 diff --git a/VOICEB.mp3 b/src/main/resources/VOICEB.mp3 similarity index 100% rename from VOICEB.mp3 rename to src/main/resources/VOICEB.mp3 diff --git a/VOICEBELL.mp3 b/src/main/resources/VOICEBELL.mp3 similarity index 100% rename from VOICEBELL.mp3 rename to src/main/resources/VOICEBELL.mp3 diff --git a/VOICEC.mp3 b/src/main/resources/VOICEC.mp3 similarity index 100% rename from VOICEC.mp3 rename to src/main/resources/VOICEC.mp3 diff --git a/VOICED.mp3 b/src/main/resources/VOICED.mp3 similarity index 100% rename from VOICED.mp3 rename to src/main/resources/VOICED.mp3 diff --git a/VOICEE.mp3 b/src/main/resources/VOICEE.mp3 similarity index 100% rename from VOICEE.mp3 rename to src/main/resources/VOICEE.mp3 diff --git a/VOICEF.mp3 b/src/main/resources/VOICEF.mp3 similarity index 100% rename from VOICEF.mp3 rename to src/main/resources/VOICEF.mp3 diff --git a/VOICEG.mp3 b/src/main/resources/VOICEG.mp3 similarity index 100% rename from VOICEG.mp3 rename to src/main/resources/VOICEG.mp3 diff --git a/VOICEH.mp3 b/src/main/resources/VOICEH.mp3 similarity index 100% rename from VOICEH.mp3 rename to src/main/resources/VOICEH.mp3 diff --git a/VOICEHELLO.mp3 b/src/main/resources/VOICEHELLO.mp3 similarity index 100% rename from VOICEHELLO.mp3 rename to src/main/resources/VOICEHELLO.mp3 diff --git a/VOICEI.mp3 b/src/main/resources/VOICEI.mp3 similarity index 100% rename from VOICEI.mp3 rename to src/main/resources/VOICEI.mp3 diff --git a/VOICEJ.mp3 b/src/main/resources/VOICEJ.mp3 similarity index 100% rename from VOICEJ.mp3 rename to src/main/resources/VOICEJ.mp3 diff --git a/VOICEK.mp3 b/src/main/resources/VOICEK.mp3 similarity index 100% rename from VOICEK.mp3 rename to src/main/resources/VOICEK.mp3 diff --git a/VOICEL.mp3 b/src/main/resources/VOICEL.mp3 similarity index 100% rename from VOICEL.mp3 rename to src/main/resources/VOICEL.mp3 diff --git a/VOICEM.mp3 b/src/main/resources/VOICEM.mp3 similarity index 100% rename from VOICEM.mp3 rename to src/main/resources/VOICEM.mp3 diff --git a/VOICEMEEPMEEP.mp3 b/src/main/resources/VOICEMEEPMEEP.mp3 similarity index 100% rename from VOICEMEEPMEEP.mp3 rename to src/main/resources/VOICEMEEPMEEP.mp3 diff --git a/VOICEN.mp3 b/src/main/resources/VOICEN.mp3 similarity index 100% rename from VOICEN.mp3 rename to src/main/resources/VOICEN.mp3 diff --git a/VOICEO.mp3 b/src/main/resources/VOICEO.mp3 similarity index 100% rename from VOICEO.mp3 rename to src/main/resources/VOICEO.mp3 diff --git a/VOICEP.mp3 b/src/main/resources/VOICEP.mp3 similarity index 100% rename from VOICEP.mp3 rename to src/main/resources/VOICEP.mp3 diff --git a/VOICEQ.mp3 b/src/main/resources/VOICEQ.mp3 similarity index 100% rename from VOICEQ.mp3 rename to src/main/resources/VOICEQ.mp3 diff --git a/VOICER.mp3 b/src/main/resources/VOICER.mp3 similarity index 100% rename from VOICER.mp3 rename to src/main/resources/VOICER.mp3 diff --git a/VOICES.mp3 b/src/main/resources/VOICES.mp3 similarity index 100% rename from VOICES.mp3 rename to src/main/resources/VOICES.mp3 diff --git a/VOICESTROKE.mp3 b/src/main/resources/VOICESTROKE.mp3 similarity index 100% rename from VOICESTROKE.mp3 rename to src/main/resources/VOICESTROKE.mp3 diff --git a/VOICESTROKEPORTABLE.mp3 b/src/main/resources/VOICESTROKEPORTABLE.mp3 similarity index 100% rename from VOICESTROKEPORTABLE.mp3 rename to src/main/resources/VOICESTROKEPORTABLE.mp3 diff --git a/VOICET.mp3 b/src/main/resources/VOICET.mp3 similarity index 100% rename from VOICET.mp3 rename to src/main/resources/VOICET.mp3 diff --git a/VOICEU.mp3 b/src/main/resources/VOICEU.mp3 similarity index 100% rename from VOICEU.mp3 rename to src/main/resources/VOICEU.mp3 diff --git a/VOICEV.mp3 b/src/main/resources/VOICEV.mp3 similarity index 100% rename from VOICEV.mp3 rename to src/main/resources/VOICEV.mp3 diff --git a/VOICEW.mp3 b/src/main/resources/VOICEW.mp3 similarity index 100% rename from VOICEW.mp3 rename to src/main/resources/VOICEW.mp3 diff --git a/VOICEX.mp3 b/src/main/resources/VOICEX.mp3 similarity index 100% rename from VOICEX.mp3 rename to src/main/resources/VOICEX.mp3 diff --git a/VOICEY.mp3 b/src/main/resources/VOICEY.mp3 similarity index 100% rename from VOICEY.mp3 rename to src/main/resources/VOICEY.mp3 diff --git a/VOICEYOUGOTMAIL.mp3 b/src/main/resources/VOICEYOUGOTMAIL.mp3 similarity index 100% rename from VOICEYOUGOTMAIL.mp3 rename to src/main/resources/VOICEYOUGOTMAIL.mp3 diff --git a/VOICEZ.mp3 b/src/main/resources/VOICEZ.mp3 similarity index 100% rename from VOICEZ.mp3 rename to src/main/resources/VOICEZ.mp3 diff --git a/sk.mp3 b/src/main/resources/sk.mp3 similarity index 100% rename from sk.mp3 rename to src/main/resources/sk.mp3 diff --git a/src/test/java/kst4contest/test/TestLocatorUtils.java b/src/test/java/kst4contest/test/TestLocatorUtils.java new file mode 100644 index 0000000..076d062 --- /dev/null +++ b/src/test/java/kst4contest/test/TestLocatorUtils.java @@ -0,0 +1,38 @@ +package kst4contest.test; + +import kst4contest.locatorUtils.Angle; +import kst4contest.locatorUtils.Latitude; +import kst4contest.locatorUtils.Location; +import kst4contest.locatorUtils.Longitude; + +import java.text.DecimalFormat; + +public class TestLocatorUtils { + + public static void main(String[] args) { + Location location = new Location("JN49FL"); + Location location2 = new Location("JO51IJ"); + +// System.out.println(location.getDistanceKm(location2)); +// System.out.println(Location.getBearing(location, location2)); + + + System.out.println(new Location().getDistanceKmByTwoLocatorStrings("JN49FL", "Jo51ij") + ""); + +// String test = new Location().getDistanceKmByTwoLocatorStrings("JN49FL", "Jo51ij") + ""; +// +// DecimalFormat df = new DecimalFormat("#.##"); +// +// System.out.println(df.format(Double.parseDouble(test))); + +// Angle angle = new Angle(); +// Latitude lat = new Latitude(); +// Longitude lon = new Longitude(); +// +// location.setLatitude(lat); +// location.setLongitude(lon); + + + + } +}