diff --git a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java index 51a508f..21be0bf 100644 --- a/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java +++ b/src/main/java/fr/iut_fbleau/info/but3/automation/rock_paper_scissors/play/domain/Move.java @@ -1,17 +1,218 @@ package fr.iut_fbleau.info.but3.automation.rock_paper_scissors.play.domain; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + public enum Move { + DYNAMITE, + TORNADO, + QUICKSAND, + PIT, + CHAIN, + GUN, + LAW, + WHIP, + SWORD, ROCK, - PAPER, + DEATH, + WALL, + SUN, + CAMERA, + FIRE, + CHAINSAW, + SCHOOL, SCISSORS, - WELL; + POISON, + CAGE, + AXE, + PEACE, + COMPUTER, + CASTLE, + SNAKE, + BLOOD, + PORCUPINE, + VULTURE, + MONKEY, + KING, + QUEEN, + PRINCE, + PRINCESS, + POLICE, + WOMAN, + BABY, + MAN, + HOME, + TRAIN, + CAR, + NOISE, + BICYCLE, + TREE, + TURNIP, + DUCK, + WOLF, + CAT, + BIRD, + FISH, + SPIDER, + COCKROACH, + BRAIN, + COMMUNITY, + CROSS, + MONEY, + VAMPIRE, + SPONGE, + CHURCH, + BUTTER, + BOOK, + PAPER, + CLOUD, + AIRPLANE, + MOON, + GRASS, + FILM, + TOILET, + AIR, + PLANET, + GUITAR, + BOWL, + CUP, + BEER, + RAIN, + WATER, + TV, + RAINBOW, + UFO, + ALIEN, + PRAYER, + MOUNTAIN, + SATAN, + DRAGON, + DIAMOND, + PLATINUM, + GOLD, + DEVIL, + FENCE, + VIDEO_GAME, + MATH, + ROBOT, + HEART, + ELECTRICITY, + LIGHTNING, + MEDUSA, + POWER, + LASER, + NUKE, + SKY, + TANK, + HELICOPTER; + + + private static final Map> winAgaintsMap = new HashMap<>() {{ + put(DYNAMITE, Set.of(TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH)); + put(TORNADO, Set.of(QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN)); + put(QUICKSAND, Set.of(PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY)); + put(PIT, Set.of(CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS)); + put(CHAIN, Set.of(GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS ,MONEY)); + put(GUN, Set.of(LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE)); + put(LAW, Set.of(WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE)); + put(WHIP, Set.of(SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH)); + put(SWORD, Set.of(ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER)); + put(ROCK, Set.of(DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK)); + put(DEATH, Set.of(WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER)); + put(WALL, Set.of(SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD)); + put(SUN, Set.of(CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE)); + put(CAMERA, Set.of(FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON)); + put(FIRE, Set.of(CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS)); + put(CHAINSAW, Set.of(SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM)); + put(SCHOOL, Set.of(SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET)); + put(SCISSORS, Set.of(POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR)); + put(POISON, Set.of(CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET)); + put(CAGE, Set.of(AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR)); + put(AXE, Set.of(PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL)); + put(PEACE, Set.of(COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP)); + put(COMPUTER, Set.of(CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER)); + put(CASTLE, Set.of(SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN)); + put(SNAKE, Set.of(BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER)); + put(BLOOD, Set.of(PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV)); + put(PORCUPINE, Set.of(VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW)); + put(VULTURE, Set.of(MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO)); + put(MONKEY, Set.of(KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN)); + put(KING, Set.of(QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER)); + put(QUEEN, Set.of(PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN)); + put(PRINCE, Set.of(PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN)); + put(PRINCESS, Set.of(POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON)); + put(POLICE, Set.of(WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND)); + put(WOMAN, Set.of(BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM)); + put(BABY, Set.of(MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD)); + put(MAN, Set.of(HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL)); + put(HOME, Set.of(TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE)); + put(TRAIN, Set.of(CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME)); + put(CAR, Set.of(NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH)); + put(NOISE, Set.of(BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT)); + put(BICYCLE, Set.of(TREE, TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART)); + put(TREE, Set.of(TURNIP, DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY)); + put(TURNIP, Set.of(DUCK, WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING)); + put(DUCK, Set.of(WOLF, CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA)); + put(WOLF, Set.of(CAT, BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER)); + put(CAT, Set.of(BIRD, FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER)); + put(BIRD, Set.of(FISH, SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER)); + put(FISH, Set.of(SPIDER, COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE)); + put(SPIDER, Set.of(COCKROACH, BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY)); + put(COCKROACH, Set.of(BRAIN, COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK)); + put(BRAIN, Set.of(COMMUNITY, CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER)); + put(COMMUNITY, Set.of(CROSS, MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE)); + put(CROSS, Set.of(MONEY, VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO)); + put(MONEY, Set.of(VAMPIRE, SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND)); + put(VAMPIRE, Set.of(SPONGE, CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT)); + put(SPONGE, Set.of(CHURCH, BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN)); + put(CHURCH, Set.of(BUTTER, BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN)); + put(BUTTER, Set.of(BOOK, PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW)); + put(BOOK, Set.of(PAPER, CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP)); + put(PAPER, Set.of(CLOUD, AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP)); + put(CLOUD, Set.of(AIRPLANE, MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD)); + put(AIRPLANE, Set.of(MOON, GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK)); + put(MOON, Set.of(GRASS, FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH)); + put(GRASS, Set.of(FILM, TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL)); + put(FILM, Set.of(TOILET, AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN)); + put(TOILET, Set.of(AIR, PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA)); + put(AIR, Set.of(PLANET, GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE)); + put(PLANET, Set.of(GUITAR, BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW)); + put(GUITAR, Set.of(BOWL, CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL)); + put(BOWL, Set.of(CUP, BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS)); + put(CUP, Set.of(BEER, RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON)); + put(BEER, Set.of(RAIN, WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE)); + put(RAIN, Set.of(WATER, TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE)); + put(WATER, Set.of(TV, RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE)); + put(TV, Set.of(RAINBOW, UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER)); + put(RAINBOW, Set.of(UFO, ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE)); + put(UFO, Set.of(ALIEN, PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE)); + put(ALIEN, Set.of(PRAYER, MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD)); + put(PRAYER, Set.of(MOUNTAIN, SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE)); + put(MOUNTAIN, Set.of(SATAN, DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE)); + put(SATAN, Set.of(DRAGON, DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY)); + put(DRAGON, Set.of(DIAMOND, PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING)); + put(DIAMOND, Set.of(PLATINUM, GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN)); + put(PLATINUM, Set.of(GOLD, DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE)); + put(GOLD, Set.of(DEVIL, FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS)); + put(DEVIL, Set.of(FENCE, VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE)); + put(FENCE, Set.of(VIDEO_GAME, MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN)); + put(VIDEO_GAME, Set.of(MATH, ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY)); + put(MATH, Set.of(ROBOT, HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN)); + put(ROBOT, Set.of(HEART, ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME)); + put(HEART, Set.of(ELECTRICITY, LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN)); + put(ELECTRICITY, Set.of(LIGHTNING, MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR)); + put(LIGHTNING, Set.of(MEDUSA, POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE)); + put(MEDUSA, Set.of(POWER, LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE)); + put(POWER, Set.of(LASER, NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE)); + put(LASER, Set.of(NUKE, SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP)); + put(NUKE, Set.of(SKY, TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK)); + put(SKY, Set.of(TANK, HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF)); + put(TANK, Set.of(HELICOPTER, DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT)); + put(HELICOPTER, Set.of(DYNAMITE, TORNADO, QUICKSAND, PIT, CHAIN, GUN, LAW, WHIP, SWORD, ROCK, DEATH, WALL, SUN, CAMERA, FIRE, CHAINSAW, SCHOOL, SCISSORS, POISON, CAGE, AXE, PEACE, COMPUTER, CASTLE, SNAKE, BLOOD, PORCUPINE, VULTURE, MONKEY, KING, QUEEN, PRINCE, PRINCESS, POLICE, WOMAN, BABY, MAN, HOME, TRAIN, CAR, NOISE, BICYCLE, TREE, TURNIP, DUCK, WOLF, CAT, BIRD)); + }}; public boolean beats(Move other) { - return switch (this) { - case ROCK -> other == SCISSORS; - case PAPER -> other == ROCK || other == WELL; - case SCISSORS -> other == PAPER; - case WELL -> other == SCISSORS || other == ROCK; - }; + return winAgaintsMap.get(this).contains(other); } }