From 58388b7fb829a53aa532b413f9ed56a3cb8309d2 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Thu, 17 Aug 2017 22:29:47 -0500 Subject: [PATCH] Implemented Tile system, Tile Layer detection system, tile movement, and Object management system. --- Megamon-core/assets/MEGASPINNN.gif | Bin 0 -> 2215 bytes Megamon-core/assets/MEGASPINNN.png | Bin 0 -> 301 bytes Megamon-core/assets/megamonlogowip.png | Bin 0 -> 11807 bytes Megamon-core/assets/tilesets/Test Map.tmx | 124 ++++++++++++++++-- Megamon-core/src/sig/megamon/Megamon.java | 79 ++++++++--- Megamon-core/src/sig/megamon/Object.java | 28 ++++ .../src/sig/megamon/utils/GraphicUtils.java | 31 +++++ .../src/sig/megamon/utils/PlayerUtils.java | 27 ++++ 8 files changed, 263 insertions(+), 26 deletions(-) create mode 100644 Megamon-core/assets/MEGASPINNN.gif create mode 100644 Megamon-core/assets/MEGASPINNN.png create mode 100644 Megamon-core/assets/megamonlogowip.png create mode 100644 Megamon-core/src/sig/megamon/Object.java create mode 100644 Megamon-core/src/sig/megamon/utils/GraphicUtils.java create mode 100644 Megamon-core/src/sig/megamon/utils/PlayerUtils.java diff --git a/Megamon-core/assets/MEGASPINNN.gif b/Megamon-core/assets/MEGASPINNN.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce82737c73f78a835ea4e79dd5b998bee6eb6c2f GIT binary patch literal 2215 zcmZ?wbhEHb6lIWP_|Cu(buWmOm6hTDe}>}k|DUh@@#6=>C>RZa5fcK6|GE8KLxPOHmTQTP9`-uQF>OuQdXvX-I@#MF#2xA9w@bVIP38D$6+`1M zCoC1Pd1EQa8x}xsG_we6@hB`<*ucmr;>BaI;E^MvpsLuK6M{*Hd!#hWwsaUgX=qp0 z&0;w);UNPPYZ9LZLy@8zqd_K{LO{`@vvb%guWgAmOlO?o%o$|zBk0AsB}|%DJYEa5 zuB=d(O|q#7UE;nrdSRCd$2a98tum6+V!N&-d3B_V8`a)6UgF#*5uP-+>bq9h)VSSM zw$>Ie6Amc17d<^yv@w1!3o{com-mBQ&Y=Kzd7^U*m#~qH!^TAo41(-zD^5&&bhL-n zy6nh|!p9A5N}g_aDn6<-G8wS1h^d&Q>eI}U=C!8sQ(D6u1?NRIoWdCwn(d37Y+f0x z44j}dTdy^0;=|($n0%#jx=dAESBLk9t-ZB%fn%SQ_dJ)GVymufid?-dRD1gx&n?BA zN_V-p=Qv<<;{-G}K5Ss*5LHY0vEk8S1|d$i4JQPX-MVD7tETLjxR_z0B=@W(7L%Tw znyeceCUU^&sY9DO`-PqvMUNeutrTw^xw&D*;Th(gQntSY9|g_Q5Vwlu3Rw}dl-D~d zc137P$V{<%zOz3KR{KtM?aX8C4%7~64AoyHBDr~W%ESjHD*?LJd7`L#-4qRmr6;Cx`tMr95%kz+hM~IEou2~fj@>-XRYz7% zUVd?|DmS0SDU(c(F8-OPd{#|d7}9Jqzi3N_NOsulxWKm9lNTD!PEX@MmhpPd5B&M=yYOQmpLe0q8^yX3P! zKR0AtT*#my72CBTmsHzGGYtY$tcd$Sde%aR6+LCclJVA4N!Xz3Gee8{0#8D*!1F**M?0tSDL> zG>fmlE#<|9^vg~Bx?Zsop-Zl=7T&y!Wp(K5t5aq9=iQCC^5WLiM8kcp*=1`FZYkUQ zh_!md`)fOKWTfRFcfvE0fkT5cxCmgl_@JR%P?c{9$Hzs-86{2S{=6`J;xb8&wc$#{ zh64>u2An2KGK>~FGO;B)wVe2rc8-aq?3#)MgNDxn@yc&UDub6DUFgE;k@~A(>4|2U z)lRw@A09flNr*Rn`6c=$pe=H5(^fAL6|e1y;_Fl^H!MH3gl~IZ&Wv#F(@m<3$89Am Y^qgjwu-32X+?w}zSG_Vf4+n!a0CW8ob^rhX literal 0 HcmV?d00001 diff --git a/Megamon-core/assets/MEGASPINNN.png b/Megamon-core/assets/MEGASPINNN.png new file mode 100644 index 0000000000000000000000000000000000000000..72abc3c5a305f59572c7f1ab50a957e74fc8bdb9 GIT binary patch literal 301 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 Q%1i*LroKj{+LPD+2P3q58UO$Q literal 0 HcmV?d00001 diff --git a/Megamon-core/assets/tilesets/Test Map.tmx b/Megamon-core/assets/tilesets/Test Map.tmx index 9a5c007..1888747 100644 --- a/Megamon-core/assets/tilesets/Test Map.tmx +++ b/Megamon-core/assets/tilesets/Test Map.tmx @@ -1,16 +1,16 @@ - + -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,7,7,7,7,7,7,7,7,7,7,7,7,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -98,11 +98,115 @@ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,18,18,18,18,18,18,18,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,18,18,18,18,18,18,18,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,18,18,18,18,18,18,18,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/Megamon-core/src/sig/megamon/Megamon.java b/Megamon-core/src/sig/megamon/Megamon.java index 37537ba..ee6dbe5 100644 --- a/Megamon-core/src/sig/megamon/Megamon.java +++ b/Megamon-core/src/sig/megamon/Megamon.java @@ -1,6 +1,11 @@ package sig.megamon; +import java.awt.Point; +import java.awt.geom.Point2D; import java.io.File; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.ApplicationListener; @@ -21,6 +26,9 @@ import com.badlogic.gdx.maps.tiled.TiledMap; import com.badlogic.gdx.maps.tiled.TmxMapLoader; import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; +import sig.megamon.utils.GraphicUtils; +import sig.megamon.utils.PlayerUtils; + public class Megamon extends ApplicationAdapter{ SpriteBatch batch; Texture img; @@ -29,7 +37,14 @@ public class Megamon extends ApplicationAdapter{ TiledMap map; OrthogonalTiledMapRenderer render; OrthographicCamera camera; - int x=0,y=0; + final public static int TILESIZE=16; + final public static double CHAR_SPD=0.1; + Point2D.Double direction = new Point2D.Double(0,0); + final public static Point2D.Double position=new Point2D.Double(1,1); + Calendar lastCheck = Calendar.getInstance(); + int framesPassed=0; + final public static String HIDDENLAYERNAME = "Tile Layer 2"; + public static List objects = new ArrayList(); @Override public void create () { @@ -42,39 +57,71 @@ public class Megamon extends ApplicationAdapter{ assets.load("tilesets/Test Map.tmx",TiledMap.class); map = assets.get("tilesets/Test Map.tmx");*/ map = new TmxMapLoader().load("tilesets/Test Map.tmx"); - render = new OrthogonalTiledMapRenderer(map,1/16f); + map.getLayers().get(HIDDENLAYERNAME).setVisible(false); + render = new OrthogonalTiledMapRenderer(map,1/(float)TILESIZE); camera = new OrthographicCamera(); - camera.setToOrtho(false, 20, 20); + camera.setToOrtho(false, 20, (float)(20*(GraphicUtils.getAspectRatio()))); //System.out.println("Camera position: "+camera.position); + objects.add(new Object("MEGASPINNN.png",new Point2D.Double(0, 4))); + objects.add(new Object("megamonlogowip.png",new Point2D.Double(3, 7))); } @Override public void render () { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); - if (Gdx.input.isKeyPressed(Input.Keys.A)) { - x-=1; - } - if (Gdx.input.isKeyPressed(Input.Keys.W)) { - y+=1; - } - if (Gdx.input.isKeyPressed(Input.Keys.D)) { - x+=1; + for (Object o : objects) { + o.run(); } - if (Gdx.input.isKeyPressed(Input.Keys.S)) { - y-=1; + if (PlayerUtils.isSnappedToGrid(position)) { + direction=new Point2D.Double(0, 0); + if (Gdx.input.isKeyPressed(Input.Keys.A)) { + direction=new Point2D.Double(-CHAR_SPD,0); + } else + if (Gdx.input.isKeyPressed(Input.Keys.W)) { + direction=new Point2D.Double(0,CHAR_SPD); + } else + if (Gdx.input.isKeyPressed(Input.Keys.D)) { + direction=new Point2D.Double(CHAR_SPD,0); + } else + if (Gdx.input.isKeyPressed(Input.Keys.S)) { + direction=new Point2D.Double(0,-CHAR_SPD); + } + if (direction.x!=0 || direction.y!=0) { + //System.out.println("("+position.x+","+Math.signum(direction.x)+","+position.y+","+Math.signum(direction.y)+")"); + if (PlayerUtils.isLocationPassable(map,new Point2D.Double(position.x+Math.signum(direction.x),position.y+Math.signum(direction.y)))) { + position.setLocation(position.x+direction.x, position.y+direction.y); + } else { + //We hit a wall. + } + } + } else { + position.setLocation(position.x+direction.x, position.y+direction.y); + //System.out.println(position); } - camera.position.set(x, y, camera.position.z); - System.out.println("Camera position: "+camera.position); + camera.position.set((float)position.x+0.5f, (float)position.y+0.5f, camera.position.z); + //System.out.println("Camera position: "+camera.position); camera.update(); render.setView(camera); render.render(); batch.begin(); //batch.draw(img, 0, 0); - batch.draw(img, 40, 40, 64, 64); + for (Object o : objects) { + batch.draw(o.sprite, + (float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).x, + (float)GraphicUtils.getRelativePixelPositionFromPlayer(camera, o.position).y); + o.draw(); + } + batch.draw(img, (int)GraphicUtils.getPlayerPixelPosition(camera).getX(), (int)GraphicUtils.getPlayerPixelPosition(camera).getY(), (int)GraphicUtils.getTileSize(camera).getX(), (int)GraphicUtils.getTileSize(camera).getY()); GlyphLayout size = font.draw(batch, "Test Text", 128, 128); font.draw(batch, "Test Text", Gdx.graphics.getWidth()-size.width, 128-size.height); batch.end(); + framesPassed++; + if (lastCheck.getTime().getSeconds()!=Calendar.getInstance().getTime().getSeconds()) { + System.out.println("FPS: "+framesPassed); + framesPassed=0; + lastCheck=Calendar.getInstance(); + } } @Override diff --git a/Megamon-core/src/sig/megamon/Object.java b/Megamon-core/src/sig/megamon/Object.java new file mode 100644 index 0000000..ee72c83 --- /dev/null +++ b/Megamon-core/src/sig/megamon/Object.java @@ -0,0 +1,28 @@ +package sig.megamon; + +import java.awt.geom.Point2D; + +import com.badlogic.gdx.graphics.Texture; + +public class Object { + Point2D.Double position; + Texture sprite; + boolean passable=false; + public Object(String sprite_img, Point2D.Double position) { + this(sprite_img,position,false); + } + + public Object(String sprite_img, Point2D.Double position, boolean passable) { + this.sprite = new Texture(sprite_img); + this.position = position; + this.passable = passable; + } + + public void run() { + + } + + public void draw() { + + } +} diff --git a/Megamon-core/src/sig/megamon/utils/GraphicUtils.java b/Megamon-core/src/sig/megamon/utils/GraphicUtils.java new file mode 100644 index 0000000..647414e --- /dev/null +++ b/Megamon-core/src/sig/megamon/utils/GraphicUtils.java @@ -0,0 +1,31 @@ +package sig.megamon.utils; + +import java.awt.Point; +import java.awt.geom.Point2D; +import java.util.Vector; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.graphics.Camera; + +import sig.megamon.Megamon; + +public class GraphicUtils { + public static double getAspectRatio() { + return (double)Gdx.graphics.getHeight()/Gdx.graphics.getWidth(); + } + public static Point2D.Double getTileToPixel(Camera camera, Point2D.Double position) { + return new Point2D.Double((int)(Gdx.graphics.getWidth()/camera.viewportWidth*(position.getX()-0.5)),(int)(Gdx.graphics.getHeight()/camera.viewportHeight*(position.getY()/*-0.5*/))); + } + public static Point2D.Double getPlayerPixelPosition(Camera camera) { + return getTileToPixel(camera,new Point2D.Double((int)(camera.viewportWidth/2),(int)(camera.viewportHeight/2))); + } + public static Point2D.Double getTileSize(Camera camera) { + return new Point2D.Double((int)(Gdx.graphics.getWidth()/camera.viewportWidth),(int)(Gdx.graphics.getHeight()/camera.viewportHeight)); + } + public static Point2D.Double getRelativePixelPositionFromPlayer(Camera camera,Point2D.Double position) { + Point2D.Double pixelpos = getTileToPixel(camera,position); + Point2D.Double playerpos = getTileToPixel(camera,Megamon.position); + Point2D.Double playerpixelpos = getPlayerPixelPosition(camera); + return new Point2D.Double(playerpixelpos.x+(pixelpos.x-playerpos.x), playerpixelpos.y+(pixelpos.y-playerpos.y)); + } +} diff --git a/Megamon-core/src/sig/megamon/utils/PlayerUtils.java b/Megamon-core/src/sig/megamon/utils/PlayerUtils.java new file mode 100644 index 0000000..08c8753 --- /dev/null +++ b/Megamon-core/src/sig/megamon/utils/PlayerUtils.java @@ -0,0 +1,27 @@ +package sig.megamon.utils; + +import java.awt.Point; +import java.awt.geom.Point2D; +import java.awt.geom.Point2D.Double; + +import com.badlogic.gdx.maps.Map; +import com.badlogic.gdx.maps.tiled.TiledMap; +import com.badlogic.gdx.maps.tiled.TiledMapTileLayer; + +import sig.megamon.Megamon; + +public class PlayerUtils { + public static boolean isSnappedToGrid(Point2D.Double coords) { + //System.out.println(Math.round((coords.x%1)*10)%10+":"+Math.round((coords.y%1)*10)%10); + return Math.round((coords.x%1)*10)%10==0&&Math.round((coords.y%1)*10)%10==0; + } + + public static boolean isLocationPassable(TiledMap map, Double coords) { + //System.out.println("Checking coords "+Math.round(coords.x)+","+Math.round(coords.y)); + TiledMapTileLayer layer = (TiledMapTileLayer)map.getLayers().get(Megamon.HIDDENLAYERNAME); + //TiledMapTileLayer layer2 = (TiledMapTileLayer)map.getLayers().get("Tile Layer 1"); + int targetx = (int)Math.round(coords.x); + int targety = (int)Math.round(coords.y); + return layer.getCell(targetx,targety)==null; + } +}