From 70a753c2a0aac9bd7e7e21ca081c4ee994bc4891 Mon Sep 17 00:00:00 2001 From: syeyoung <42869671+cyoung06@users.noreply.github.com> Date: Sun, 22 Nov 2020 20:05:51 +0900 Subject: room building --- .../syeyoung/dungeonsguide/utils/ShortUtils.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java (limited to 'src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java') diff --git a/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java b/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java new file mode 100644 index 00000000..d7ce60c5 --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/utils/ShortUtils.java @@ -0,0 +1,29 @@ +package kr.syeyoung.dungeonsguide.utils; + +public class ShortUtils { + public static short rotateClockwise(short integer) { + int res = 0; + for(int i=0; i<16; i++){ + int x = i % 4; + int y = i / 4; + res |= (integer >> i & 0x1) << (x*4 + y); + } + return (short) (res & 0xFFFF); + } + public static short rotateCounterClockwise(short integer) { + int res = 0; + for(int i=0; i<16; i++){ + int x = i % 4; + int y = i / 4; + res |= (integer >> i & 0x1) << ((4-x-1) *4 +(4 - y - 1)); + } + return (short) (res & 0xFFFF); + } + + public static short topLeftifyInt(short integer) { + int it = integer & 0xFFFF; + while ((it & (0x1111)) == 0) it >>= 1; + while ((it & (0xF)) == 0) it >>= 4; + return (short) (it & 0xFFFF); + } +} -- cgit