From 294018b1d39bd0745d62b98a3d424ce6d35ecdba Mon Sep 17 00:00:00 2001 From: Wolf Posdorfer Date: Tue, 3 Dec 2019 13:22:12 +0100 Subject: [PATCH 1/3] customize icon-sets per level --- src/main/kotlin/gui/MainHandler.kt | 1 + src/main/kotlin/gui/WorldPanel.kt | 57 ++++++++++++------ src/main/kotlin/logic/Problem.kt | 44 ++++++++------ .../resources/tiles/64/amalgam/beeper.png | Bin 0 -> 3108 bytes .../resources/tiles/64/baseball/beeper.png | Bin 0 -> 4968 bytes src/main/resources/tiles/64/bomb/beeper.png | Bin 0 -> 3391 bytes src/main/resources/tiles/64/bomb/karel.png | Bin 0 -> 1891 bytes src/main/resources/tiles/64/fire/beeper.png | Bin 0 -> 3017 bytes src/main/resources/tiles/64/fire/karel.png | Bin 0 -> 1881 bytes src/main/resources/tiles/64/flower/beeper.png | Bin 0 -> 5716 bytes src/main/resources/tiles/64/flower/karel.png | Bin 0 -> 1896 bytes .../resources/tiles/64/garbage/beeper.png | Bin 0 -> 8868 bytes src/main/resources/tiles/64/grass/beeper.png | Bin 0 -> 7793 bytes src/main/resources/tiles/64/grass/karel.png | Bin 0 -> 1896 bytes .../resources/tiles/64/lampion/beeper.png | Bin 0 -> 5942 bytes src/main/resources/tiles/64/seed/beeper.png | Bin 0 -> 4969 bytes src/main/resources/tiles/64/star/beeper.png | Bin 0 -> 4554 bytes src/main/resources/tiles/64/street/beeper.png | Bin 0 -> 3353 bytes src/main/resources/tiles/64/teddy/beeper.png | Bin 0 -> 6204 bytes src/main/resources/tiles/64/wheat/beeper.png | Bin 0 -> 4249 bytes src/main/resources/tiles/64/wheat/karel.png | Bin 0 -> 1896 bytes 21 files changed, 67 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/tiles/64/amalgam/beeper.png create mode 100644 src/main/resources/tiles/64/baseball/beeper.png create mode 100644 src/main/resources/tiles/64/bomb/beeper.png create mode 100644 src/main/resources/tiles/64/bomb/karel.png create mode 100644 src/main/resources/tiles/64/fire/beeper.png create mode 100644 src/main/resources/tiles/64/fire/karel.png create mode 100644 src/main/resources/tiles/64/flower/beeper.png create mode 100644 src/main/resources/tiles/64/flower/karel.png create mode 100644 src/main/resources/tiles/64/garbage/beeper.png create mode 100644 src/main/resources/tiles/64/grass/beeper.png create mode 100644 src/main/resources/tiles/64/grass/karel.png create mode 100644 src/main/resources/tiles/64/lampion/beeper.png create mode 100644 src/main/resources/tiles/64/seed/beeper.png create mode 100644 src/main/resources/tiles/64/star/beeper.png create mode 100644 src/main/resources/tiles/64/street/beeper.png create mode 100644 src/main/resources/tiles/64/teddy/beeper.png create mode 100644 src/main/resources/tiles/64/wheat/beeper.png create mode 100644 src/main/resources/tiles/64/wheat/karel.png diff --git a/src/main/kotlin/gui/MainHandler.kt b/src/main/kotlin/gui/MainHandler.kt index e335328..57a821c 100644 --- a/src/main/kotlin/gui/MainHandler.kt +++ b/src/main/kotlin/gui/MainHandler.kt @@ -20,6 +20,7 @@ class MainHandler : MainFlow() { initialWorld = currentProblem.createWorld() atomicWorld.set(initialWorld) + worldPanel.levelImagePath(currentProblem.levelImagePath) worldPanel.binaryLines = currentProblem.binaryLines worldPanel.repaint() diff --git a/src/main/kotlin/gui/WorldPanel.kt b/src/main/kotlin/gui/WorldPanel.kt index 2c23252..6afee86 100644 --- a/src/main/kotlin/gui/WorldPanel.kt +++ b/src/main/kotlin/gui/WorldPanel.kt @@ -14,6 +14,8 @@ import java.util.concurrent.atomic.AtomicReference import javax.imageio.ImageIO import javax.swing.JPanel import javax.swing.SwingUtilities +import java.awt.geom.AffineTransform +import java.awt.image.AffineTransformOp private const val TILE_SIZE_MEDIUM = 40 private const val TILE_SIZE_LARGE = 64 @@ -22,23 +24,29 @@ private fun readTile(size: Int, name: String): BufferedImage { return ImageIO.read(WorldPanel::class.java.getResourceAsStream("/tiles/$size/$name.png")) } +private fun readTile(size: Int, level: String, name: String) : BufferedImage { + if(level.length > 0) { + val resource = WorldPanel::class.java.getResourceAsStream("/tiles/$size/$level/$name.png") + if(resource != null) { + return ImageIO.read(resource) + } + } + return readTile(size, name); +} + private fun BufferedImage.rotatedCounterclockwise(): BufferedImage { - require(width == height) { "image is not a square" } - - val tileSize = width - val src = IntArray(tileSize * tileSize) - val dst = IntArray(tileSize * tileSize) - getRGB(0, 0, tileSize, tileSize, src, 0, tileSize) - for (y in 0 until tileSize) { - for (x in 0 until tileSize) { - dst[y * tileSize + x] = src[x * tileSize + (tileSize - 1 - y)] - } - } - val rotated = BufferedImage(tileSize, tileSize, BufferedImage.TYPE_INT_ARGB) - rotated.setRGB(0, 0, tileSize, tileSize, dst, 0, tileSize) - return rotated + val tx = AffineTransform() + tx.rotate(Math.toRadians(-90.0), width / 2.0, height / 2.0) + return AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR).filter(this, null) } +private fun BufferedImage.mirrorImage(): BufferedImage { + val tx = AffineTransform.getScaleInstance(-1.0, 1.0) + tx.translate(- width.toDouble(), 0.0); + return AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR).filter(this, null) +} + + class WorldPanel(private val atomicWorld: AtomicReference) : JPanel() { private var tileSize: Int = Toolkit.getDefaultToolkit().screenSize.height.let { screenHeight -> @@ -48,9 +56,20 @@ class WorldPanel(private val atomicWorld: AtomicReference) : JPanel() { private var beeper = BufferedImage(tileSize, tileSize, BufferedImage.TYPE_INT_ARGB) private var karels = emptyArray() private var walls = emptyArray() + + private var levelPath = "" + + fun levelImagePath(path : String ) { + + if(path != levelPath) { + levelPath = path + initializeBeeper() + initializeKarels() + } + } private fun initialize() { - beeper = readTile(tileSize, "beeper") + initializeBeeper() initializeKarels() initializeWalls() @@ -59,11 +78,15 @@ class WorldPanel(private val atomicWorld: AtomicReference) : JPanel() { preferredSize = panelSize maximumSize = panelSize } + + private fun initializeBeeper() { + beeper = readTile(tileSize, levelPath, "beeper") + } private fun initializeKarels() { - val east = readTile(tileSize, "karel") + val east = readTile(tileSize, levelPath, "karel") val north = east.rotatedCounterclockwise() - val west = north.rotatedCounterclockwise() + val west = east.mirrorImage() val south = west.rotatedCounterclockwise() karels = arrayOf(east, north, west, south) diff --git a/src/main/kotlin/logic/Problem.kt b/src/main/kotlin/logic/Problem.kt index 7f0f9a3..2e5d043 100644 --- a/src/main/kotlin/logic/Problem.kt +++ b/src/main/kotlin/logic/Problem.kt @@ -1,7 +1,15 @@ package logic class Problem(val index: String, val name: String, val story: String, val goal: String, val binaryLines: Int, val createWorld: () -> World) { - val level: Int + + constructor(index:String, name: String, story:String, goal:String, binaryLines:Int, levelPath: String, createWorld:() -> World ): + this(index,name,story,goal,binaryLines, createWorld) { + this.levelImagePath = levelPath; + } + + var levelImagePath: String = "" + + val level: Int get() = index[0] - '0' override fun toString(): String = "$index $name" @@ -59,7 +67,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val defuseOneBomb = Problem("1.1.2", "defuseOneBomb", "Karel the demolition expert\ndefuses a bomb at the other end\nof the room and returns filled\nwith pride and self-confidence:\nHe did it without duplicate code!", - "\ua106\u0005\u0003\ua106\u0003\u0000\u8009\u0001\u9107\u0000", 0) { + "\ua106\u0005\u0003\ua106\u0003\u0000\u8009\u0001\u9107\u0000", 0, "bomb") { val world = emptyWorld.dropBeeper(9, 9) world.withKarelAt(0, 9, EAST) @@ -67,7 +75,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val defuseTwoBombs = Problem("1.1.3", "defuseTwoBombs", "One bomb is no problem for Karel.\nLet's spice up the challenge!\nShouldn't this be rather simple,\ngiven that Karel already knows\nhow to defuse one single bomb?", - "\ua102\u0002\ua108\u0005\u0003\ua108\u0003\u0000\u8009\u0001\u9109\u0000", 0) { + "\ua102\u0002\ua108\u0005\u0003\ua108\u0003\u0000\u8009\u0001\u9109\u0000", 0, "bomb") { val world = emptyWorld.dropBeeper(0, 0).dropBeeper(9, 9) world.withKarelAt(0, 9, EAST) @@ -75,7 +83,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val practiceHomeRun = Problem("1.1.4", "practiceHomeRun", "Karel's heart burns for baseball,\nbut he has become bored of just\nwatching. Tonight, he will sneak\ninto the stadium and perform his\nfirst home run. Adrenaline rush!", - "\u8004\u8009\u0001\u9102\u0005\u0002\u9101\u0000", 0) { + "\u8004\u8009\u0001\u9102\u0005\u0002\u9101\u0000", 0, "baseball") { val world = emptyWorld.dropBeeper(0, 0).dropBeeper(9, 0).dropBeeper(0, 9).dropBeeper(9, 9) world.withKarelAt(0, 9, EAST) @@ -90,8 +98,8 @@ class Problem(val index: String, val name: String, val story: String, val goal: } val fillTheHoles = Problem("1.2.2", "fillTheHoles", - "Karel considers a career in den-\ndistry. The local dental school\nhas Open House day. Coincidence?\nKarel gets to fill 4 carious\nteeth with dental amalgam. Ouch!", - "\u8004\u0001\u0004\u0001\u0006\u0003\u0001\u0004\u0001\u9101\u0000", 0) { + "Karel considers a career in den-\ntistry. The local dental school\nhas Open House day. Coincidence?\nKarel gets to fill 4 carious\nteeth with dental amalgam. Ouch!", + "\u8004\u0001\u0004\u0001\u0006\u0003\u0001\u0004\u0001\u9101\u0000", 0, "amalgam") { val world = FloorPlan.holes.world() world.withKarelAt(1, 8, EAST) @@ -99,7 +107,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val saveTheFlower = Problem("1.2.3", "saveTheFlower", "During a vacation in the alps,\nKarel discovers a rare flower\nwhich has trouble blooming\nat such low altitude...\nIt's a long way to the top!", - "\u0001\u0005\u8004\u0002\u0001\u0001\u0004\u0001\u9103\u0006\u8004\u0001\u0004\u0001\u0001\u0002\u910b\u0000", 0) { + "\u0001\u0005\u8004\u0002\u0001\u0001\u0004\u0001\u9103\u0006\u8004\u0001\u0004\u0001\u0001\u0002\u910b\u0000", 0, "flower") { val world = FloorPlan.mountain.world().dropBeeper(1, 9) world.withKarelAt(0, 9, EAST) @@ -107,7 +115,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val mowTheLawn = Problem("1.2.4", "mowTheLawn", "Karel promised his aunt to help\nin the garden. She has already\npulled up the weeds, so Karel\ncan focus on mowing the lawn.", - "\u8002\ua106\u0004\u0001\u0004\u9101\ua10a\u0002\u0001\u0002\u8006\u0001\u0005\u910b\u0001\u0000", 0) { + "\u8002\ua106\u0004\u0001\u0004\u9101\ua10a\u0002\u0001\u0002\u8006\u0001\u0005\u910b\u0001\u0000", 0, "grass") { val world = emptyWorld world.withBeepers(0x3f0fL, 0xc3f0fc3f0fcL.shl(20)).withKarelAt(1, 7, EAST) @@ -115,7 +123,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val harvestTheField = Problem("1.3.1", "harvestTheField", "Karel's uncle is an agricult --\nerm... farmer. Having helped his\naunt, Karel can't reject the des-\nperate plea for help on the farm.\nThe wheat is already overripe!", - "\ua102\u0003\ua108\u8002\u0001\u0001\u0002\u9104\u8004\u0001\u0005\u0004\u0001\u0002\u9109\u0000", 0) { + "\ua102\u0003\ua108\u8002\u0001\u0001\u0002\u9104\u8004\u0001\u0005\u0004\u0001\u0002\u9109\u0000", 0, "wheat") { val world = emptyWorld world.withBeepers(0x805L, 0x2a1542a05008000).withKarelAt(5, 8, NORTH) @@ -123,7 +131,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val repairTheStreet = Problem("1.3.2", "repairTheStreet", "Load this problem again. Notice\nsomething? Not all streets are\ncreated equal! Have you learned\nabout the if/else statement yet?\nF7..F11 are Karel's conditions.", - "\u8009\ua104\u0001\u9101\u000b\uc10c\u0004\u0001\u0006\u0003\u0001\u0004\u0000", 0) { + "\u8009\ua104\u0001\u9101\u000b\uc10c\u0004\u0001\u0006\u0003\u0001\u0004\u0000", 0, "street") { val builder = FloorPlan.empty.builder() for (x in 0..9) { @@ -139,7 +147,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val cleanTheRoom = Problem("1.3.3", "cleanTheRoom", "Karel's parents are paying him\na surprise visit. His apartment\nis *really* out of shape :(\nThe chaos is almost overwhelming.\nCan you help him clean up?", - "\u8004\ua106\u0004\u0001\u0004\u9101\ua10a\u0002\u0001\u0002\u8009\ua10e\u0001\u910b\u0007\uc111\u0005\u0000", 0) { + "\u8004\ua106\u0004\u0001\u0004\u9101\ua10a\u0002\u0001\u0002\u8009\ua10e\u0001\u910b\u0007\uc111\u0005\u0000", 0, "garbage") { var world = emptyWorld for (y in 0..9) { @@ -160,7 +168,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val stealOlympicFire = Problem("1.4.1", "stealOlympicFire", "Karel is mad with olympic fever\nand somehow his CPU decided\nit would be a good idea to\nsteal the olympic fire O_o\nLet's hope nobody will notice...", - "\u0001\u8006\u0002\u0001\u0004\u0001\u9102\u0005\u0001\u0004\u8006\u0001\u910b\u0002\u0001\u0000", 0) { + "\u0001\u8006\u0002\u0001\u0004\u0001\u9102\u0005\u0001\u0004\u8006\u0001\u910b\u0002\u0001\u0000", 0, "fire") { val world = FloorPlan.stairs.world().dropBeeper(7, 3) world.withKarelAt(0, 9, EAST) @@ -180,7 +188,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val hangTheLampions = Problem("2.1.1", "hangTheLampions", "Today is Karel's birthday! To\ncelebrate this special occasion,\nKarel bought 10 lampions. Now all\nthat's left to do is hang them\nfrom his (irregular) ceiling.", - "\u8009\ua104\u0001\u9101\u0002\u0005\ua10d\u0006\u0003\ua10d\u0002\u0000\u0001\u000a\ud10c\u0000", 0) { + "\u8009\ua104\u0001\u9101\u0002\u0005\ua10d\u0006\u0003\ua10d\u0002\u0000\u0001\u000a\ud10c\u0000", 0, "lampion") { val builder = FloorPlan.empty.builder() for (x in 0..9) { @@ -192,7 +200,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val followTheSeeds = Problem("2.1.2", "followTheSeeds", "Karel had insomnia and decided\nto take a walk in the forest.\nBeing the smart robot that he is,\nhe always leaves a trail of seeds\nso he can find his way back...", - "\u0008\uc109\u0008\uc107\u0001\u0005\ub102\u0002\ub100\u0000", 0) { + "\u0008\uc109\u0008\uc107\u0001\u0005\ub102\u0002\ub100\u0000", 0, "seed") { val world = emptyWorld.withBeepers(0xffc017f50L, 0x55d5555157d405ffL) world.withKarelAt(5, 4, WEST) } @@ -228,7 +236,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val saveTheFlowers = Problem("2.3.1", "saveTheFlowers", "Karel climbs Mt. Everest. On his\nway up, he collects four flowers\nthat do not get enough sunlight\non the west side of the mountain.\nEast is where the sun comes up!", - "\u8004\ua110\u0005\u9101\ua110\u8004\u0006\u0001\u0004\u000a\uc10d\u0001\ub109\u0002\u9106\u0000\u0002\u000b\ud115\u0001\ub111\u0004\u0001\u0000", 0) { + "\u8004\ua110\u0005\u9101\ua110\u8004\u0006\u0001\u0004\u000a\uc10d\u0001\ub109\u0002\u9106\u0000\u0002\u000b\ud115\u0001\ub111\u0004\u0001\u0000", 0, "flower") { val builder = FloorPlan.empty.builder() var y1 = rng.nextInt(5) @@ -273,7 +281,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val findTeddyBear = Problem("2.3.2", "findTeddyBear", "In the middle of the night, Karel\nawakens from a terrible dream.\nHis teddy bear will give him\ncomfort. It should lay somewhere\nnear the edge of the bed...", - "\u0007\ud108\u000a\uc106\u0001\ub100\u0002\ub100\u0000", 0) { + "\u0007\ud108\u000a\uc106\u0001\ub100\u0002\ub100\u0000", 0, "teddy") { var world = emptyWorld val xy = rng.nextInt(10) @@ -355,7 +363,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val partyAgain = Problem("3.1.1", "partyAgain", "Karel is preparing the next big\nparty. Unfortunately, the floor\nis so soaked from the last party\nthat he must be careful not to\nbreak through into the cellar!", - "\u8009\ua104\u0001\u9101\u0002\u0005\ua109\u0002\u0000\u000a\ud10e\u0006\u0003\u0000\u0001\ua109\u0001\u0000", 0) { + "\u8009\ua104\u0001\u9101\u0002\u0005\ua109\u0002\u0000\u000a\ud10e\u0006\u0003\u0000\u0001\ua109\u0001\u0000", 0, "lampion") { val builder = FloorPlan.trap.builder() for (x in 0..9) { @@ -367,7 +375,7 @@ class Problem(val index: String, val name: String, val story: String, val goal: val fetchTheStars = Problem("3.1.2", "fetchTheStars", "Karel arranges a romantic date\nwith Karoline on a frozen lake\nwhere he \"fetches the stars from\nthe sky\" (German for \"goes to the\nends of the world and back\").", - "\u8009\ua104\u0001\u9101\u0002\ua109\u0006\u0002\u0000\u000a\ud10e\u0005\u0003\u0000\u0001\ua109\u0001\u0000", 0) { + "\u8009\ua104\u0001\u9101\u0002\ua109\u0006\u0002\u0000\u000a\ud10e\u0005\u0003\u0000\u0001\ua109\u0001\u0000", 0, "star") { val builder = FloorPlan.trap.builder() var world = builder.world() diff --git a/src/main/resources/tiles/64/amalgam/beeper.png b/src/main/resources/tiles/64/amalgam/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..d8cdf9733870633911a661201a9179b56df7dbf9 GIT binary patch literal 3108 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 NPj&NhJ?9d%|2MZ)5B~rF literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/baseball/beeper.png b/src/main/resources/tiles/64/baseball/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..d34bafae0688a881dde23b46062bf5799884b4fe GIT binary patch literal 4968 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 KSqauN_P+oU?N;9a literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/bomb/beeper.png b/src/main/resources/tiles/64/bomb/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..4053b7e561b6e34369dbb269b3ce92e4d161695d GIT binary patch literal 3391 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 V7u)wZ$E*MV002ovPDHLkV1ff4m`4Br literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/bomb/karel.png b/src/main/resources/tiles/64/bomb/karel.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa09598ca7b0c17bcc297a709b7b8352d828588 GIT binary patch literal 1891 zcmbVNe{2&~9DikH<;TbdI6;2iu7R+@_3pa1YflQ@dL3)Bj!}vXB(Uqj3Mo1VjxO!yg;U5&}ks2$+!YOQym3191`Mmmn^IL?t5V9E6C`ciq;2;x8_F_ujqt z`TqEP-}n2yjkPrk#*CUY3IH(1U&RK|?9s=FT=d>8uD*<>k#f~C6@by>^}q z91}xzT3w);;iZ^`6QnS-Bx5o{12A`fQs($3s9|9k5#w(B#*yPVCJJtRsXagiWG`$K zt5OPFoT>@&sV3ef;PdBUbCV2G5Q7?rC1cUJ$|T)*MlXZb`ZkGU8Hm>8#>;hsSY4nN z^GXWD>=p;X(>4k#b6IEyWwX{ps*S6IVL|~TlblS_7D}g-0SbH;CnuC>#<;+fFbZQZuBix1XR&glq)BR{ z^f#)r$M+dPp$!DGHXi6pES5E)YQ8my#$Z4mh*m=_G9-ggl@baMeQS`LW}S`9cooQL zk`j`n=+H&g4!MkZz52yCu~`9*7vnmQ;(MeZ%W2S!BZP~ftprsXqG_ho#Za!<`W;dO z(10X}4K06#mNJx$vE2_vc_VNd_pe}qXBs3W#v#^XjEg{0jz@4T8%xG3MI{9pM&6a) zyYKgUYZa+MjG_ZIxS#^_`@9a??I#!Hx5J5%gT9YwSy4nAIKYK{E7#kjeD^9(~}sLCiFDGB|tp@Ked8xQ-nrDxH>#^;dUR&2egZ#pT zbII++9jzc-Tx2@g(I38IKH00XyWi8WEd{OLzCQh^*<(2JMN4bXm3UtJTG`mKbIR{c zWnipvQ~pZ-zP7&O-NWj82vAul8*2N1IR0X8SJ9|S<33Z@)vx<^cjkQb_+jDT_DvPDa(nmem{VxL#;uqd;8K-F!nEO2@UoBn>e>q%CL5POwqok4 z@_p>}oaJec^xXM^??C!?0W0(!@{OzBdDtVY|MIsPcgRQHxyTx+Gu6hsOCOakm`(>sHCU_9P9&QJ)=L%IWa}<{^^%H-adb=U1)Ec9l2}1VY-@oePp-y%o|-T z)UOv?-`qG4%(~H7bG8IK^yDi0tMkl9@s#<*SFS s1m%UNj@sZb*_4<+JQv&o=dVrc${*i*j;&fJb?U!CzpsYfTT%baA8E9JkpKVy literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/fire/beeper.png b/src/main/resources/tiles/64/fire/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..cf09acf812d88e618b0042284ff08642af3a303b GIT binary patch literal 3017 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 BhC%=U literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/garbage/beeper.png b/src/main/resources/tiles/64/garbage/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..a3c492d97293a21e3d2068f2255e97dd47bade4d GIT binary patch literal 8868 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/grass/beeper.png b/src/main/resources/tiles/64/grass/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c48714b55918e9fcb7b9c64846319db2e91f6b GIT binary patch literal 7793 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'~k5zi^Ke!Yh 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 M<{gz{CClLd18B>x+yDRo literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/grass/karel.png b/src/main/resources/tiles/64/grass/karel.png new file mode 100644 index 0000000000000000000000000000000000000000..b965dc993da1f5ec903117a070c9ec9335e231a7 GIT binary patch literal 1896 zcmbVN4Qvx-7`~1b#>Q~VA`HmzIAnm*-d%s!a~jjG89IYx9VCdt_=$i@Ku25*g3Jjqq7v}Cu4_Q?k4x_EyYG9x z=Y5~|d*Aoksw>O0GpA-E2$Jn~Icng$RJk+8!ew+h+XnU5f9 zl=IfgwVn!!;X_)Q<$XXK4G9p9AjR{e0?jM~GU@{jT-b{JxW5-eIo66THhKt;U4tAt2LeG!zU=RMd(kcquqmrg02SK;&gs%%&JbYdzJd zofiRW)S5I5X&_LuMN66pgOQwv>Il+|6GogcX$X=ciYOh4CNB(H6Inl1<9Ix23w~L# zfGi6Xjz=O9ZA7o-#RiGbY`}ii= zia}3DB!q+%ZCFZ%2?h+0(gIFu2}M!@$TBIM&?E*E##sgjK@b9AS%O$Hg%tw4%u50O zZ>UqtcNu`8^>|V??&(V?lrka7&Soeh8IXITC2vdscny&FCXoToX6WWjMU6n&ML^5E z=;is~=s{JFx{TWG%E1(&b38P|g%urh@7M(#v<$2mL|8PWPDALuBuVKl6k&N(IYVLu z>fu?=ANwm*PZ1`{V7?0q^M<8m`d`5;L-~0zL_^hFh;9J55N^QGR4gewALK=77<#9_ zbKY&YSBt!#3&I7dro0SwJMAXYVlruTS~B6T$3wZpl1zsg;C5Is7$Ggkv6Q)pG!&7f zL1QxcbQ*(&CNw^lfg?g!q&JuiCcke)F5K_nnI?j?4|y>HlX$-zp+#V8 zfYJJI$%jJ)xKg?!V(>rfOsw5e=A&@fJCtFnX~BqOYpZvC+JJc6i(+zy*J z+IjVjzKzcl6P!EW)U>5t0#&kYvSsJwOjp&pEaGsxdDX)!$Nki~whFI(kbW{RBX+Gj z^5xZ`yax;89lQI;Gx&3t)%BiC%jU8B9+>vfma$(MzCzfegI zw_NCtKQe8CItM?*_-CB$Gn#7EeZj+dd#3x}-?(taq`f)ll?zMvUR(X0>eBe_r!tYo z+v;{uee6*6hHuT$tj;B?UVR(i()?27{QmU=h4DK3!k!FbIPi2}-a9+XXl{r4t4;AbI{e|R*VFcW)YYHXdG5E*Y&TyV&Kxew@Z`k@rfvZB7jHTG#~e#P za#{Uk|D-Emf6u1z*W(%XT%lpEz)E&l9HEXR;K@r5|sghLl`cAf^bW86{FJIOcZ%{abUP~@@0HcB{sUlM BhC%=U literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/lampion/beeper.png b/src/main/resources/tiles/64/lampion/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..d057f2adbbe1f6bc01d5ca781f6f8fb48d7d3396 GIT binary patch literal 5942 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/seed/beeper.png b/src/main/resources/tiles/64/seed/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a0ca7f19a8ef2d58d9267b106f9e80f3c5a927 GIT binary patch literal 4969 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/star/beeper.png b/src/main/resources/tiles/64/star/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed5d978f83d9fd90b661555bd243b36fad0cfd3 GIT binary patch literal 4554 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/street/beeper.png b/src/main/resources/tiles/64/street/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7fafdf422a291eaf5266c9f8fb9a2c5fa8abeb GIT binary patch literal 3353 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/teddy/beeper.png b/src/main/resources/tiles/64/teddy/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..d50d74e4cf907b9aa8bda2826bec80599ced7cb9 GIT binary patch literal 6204 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 abNMSA)fc!X=17+S0000I?r;U!BHMN*bX;w>p_ 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 b$?Kw5ghFV}C$&vCe;(k>?XcHPed7KFi;f)m literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/64/wheat/karel.png b/src/main/resources/tiles/64/wheat/karel.png new file mode 100644 index 0000000000000000000000000000000000000000..b965dc993da1f5ec903117a070c9ec9335e231a7 GIT binary patch literal 1896 zcmbVN4Qvx-7`~1b#>Q~VA`HmzIAnm*-d%s!a~jjG89IYx9VCdt_=$i@Ku25*g3Jjqq7v}Cu4_Q?k4x_EyYG9x z=Y5~|d*Aoksw>O0GpA-E2$Jn~Icng$RJk+8!ew+h+XnU5f9 zl=IfgwVn!!;X_)Q<$XXK4G9p9AjR{e0?jM~GU@{jT-b{JxW5-eIo66THhKt;U4tAt2LeG!zU=RMd(kcquqmrg02SK;&gs%%&JbYdzJd zofiRW)S5I5X&_LuMN66pgOQwv>Il+|6GogcX$X=ciYOh4CNB(H6Inl1<9Ix23w~L# zfGi6Xjz=O9ZA7o-#RiGbY`}ii= zia}3DB!q+%ZCFZ%2?h+0(gIFu2}M!@$TBIM&?E*E##sgjK@b9AS%O$Hg%tw4%u50O zZ>UqtcNu`8^>|V??&(V?lrka7&Soeh8IXITC2vdscny&FCXoToX6WWjMU6n&ML^5E z=;is~=s{JFx{TWG%E1(&b38P|g%urh@7M(#v<$2mL|8PWPDALuBuVKl6k&N(IYVLu z>fu?=ANwm*PZ1`{V7?0q^M<8m`d`5;L-~0zL_^hFh;9J55N^QGR4gewALK=77<#9_ zbKY&YSBt!#3&I7dro0SwJMAXYVlruTS~B6T$3wZpl1zsg;C5Is7$Ggkv6Q)pG!&7f zL1QxcbQ*(&CNw^lfg?g!q&JuiCcke)F5K_nnI?j?4|y>HlX$-zp+#V8 zfYJJI$%jJ)xKg?!V(>rfOsw5e=A&@fJCtFnX~BqOYpZvC+JJc6i(+zy*J z+IjVjzKzcl6P!EW)U>5t0#&kYvSsJwOjp&pEaGsxdDX)!$Nki~whFI(kbW{RBX+Gj z^5xZ`yax;89lQI;Gx&3t)%BiC%jU8B9+>vfma$(MzCzfegI zw_NCtKQe8CItM?*_-CB$Gn#7EeZj+dd#3x}-?(taq`f)ll?zMvUR(X0>eBe_r!tYo z+v;{uee6*6hHuT$tj;B?UVR(i()?27{QmU=h4DK3!k!FbIPi2}-a9+XXl{r4t4;AbI{e|R*VFcW)YYHXdG5E*Y&TyV&Kxew@Z`k@rfvZB7jHTG#~e#P za#{Uk|D-Emf6u1z*W(%XT%lpEz)E&l9HEXR;K@r5|sghLl`cAf^bW86{FJIOcZ%{abUP~@@0HcB{sUlM BhC%=U literal 0 HcmV?d00001 From e278e9d559c0390ccd14e628f4489291eb5728fe Mon Sep 17 00:00:00 2001 From: Wolf Posdorfer Date: Tue, 3 Dec 2019 13:39:59 +0100 Subject: [PATCH 2/3] adding low rez icons --- src/main/resources/tiles/40/amalgam/beeper.png | Bin 0 -> 1807 bytes src/main/resources/tiles/40/baseball/beeper.png | Bin 0 -> 2510 bytes src/main/resources/tiles/40/bomb/beeper.png | Bin 0 -> 2231 bytes src/main/resources/tiles/40/bomb/karel.png | Bin 0 -> 2075 bytes src/main/resources/tiles/40/fire/beeper.png | Bin 0 -> 1951 bytes src/main/resources/tiles/40/fire/karel.png | Bin 0 -> 1881 bytes src/main/resources/tiles/40/flower/beeper.png | Bin 0 -> 3316 bytes src/main/resources/tiles/40/flower/karel.png | Bin 0 -> 2129 bytes src/main/resources/tiles/40/garbage/beeper.png | Bin 0 -> 3277 bytes src/main/resources/tiles/40/grass/beeper.png | Bin 0 -> 3380 bytes src/main/resources/tiles/40/grass/karel.png | Bin 0 -> 2129 bytes src/main/resources/tiles/40/lampion/beeper.png | Bin 0 -> 2533 bytes src/main/resources/tiles/40/seed/beeper.png | Bin 0 -> 3399 bytes src/main/resources/tiles/40/star/beeper.png | Bin 0 -> 2480 bytes src/main/resources/tiles/40/street/beeper.png | Bin 0 -> 1621 bytes src/main/resources/tiles/40/teddy/beeper.png | Bin 0 -> 3612 bytes src/main/resources/tiles/40/wheat/beeper.png | Bin 0 -> 3044 bytes src/main/resources/tiles/40/wheat/karel.png | Bin 0 -> 2129 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/tiles/40/amalgam/beeper.png create mode 100644 src/main/resources/tiles/40/baseball/beeper.png create mode 100644 src/main/resources/tiles/40/bomb/beeper.png create mode 100644 src/main/resources/tiles/40/bomb/karel.png create mode 100644 src/main/resources/tiles/40/fire/beeper.png create mode 100644 src/main/resources/tiles/40/fire/karel.png create mode 100644 src/main/resources/tiles/40/flower/beeper.png create mode 100644 src/main/resources/tiles/40/flower/karel.png create mode 100644 src/main/resources/tiles/40/garbage/beeper.png create mode 100644 src/main/resources/tiles/40/grass/beeper.png create mode 100644 src/main/resources/tiles/40/grass/karel.png create mode 100644 src/main/resources/tiles/40/lampion/beeper.png create mode 100644 src/main/resources/tiles/40/seed/beeper.png create mode 100644 src/main/resources/tiles/40/star/beeper.png create mode 100644 src/main/resources/tiles/40/street/beeper.png create mode 100644 src/main/resources/tiles/40/teddy/beeper.png create mode 100644 src/main/resources/tiles/40/wheat/beeper.png create mode 100644 src/main/resources/tiles/40/wheat/karel.png diff --git a/src/main/resources/tiles/40/amalgam/beeper.png b/src/main/resources/tiles/40/amalgam/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..98813c888c0d33cda6806a23b730ee5adb4be8d6 GIT binary patch literal 1807 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/bomb/beeper.png b/src/main/resources/tiles/40/bomb/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c2d2b5bed0fc267143c0acd39791d3fc8bbb95 GIT binary patch literal 2231 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 bOmSJE1gWSoN8G?z{juGNdkIBOf#UxG<2QpO literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/fire/beeper.png b/src/main/resources/tiles/40/fire/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ac5fe86a5772cf0cc6a195447295e194ad95de GIT binary patch literal 1951 zcmZuyeLT}^8=sPwAvKhjb*wRRvdu=Z9fa8!v5}bL^fJth&0d|2(qZ+))Z^4Dk~sAU zIeE!Tq}Rj9ODW`?C{IL4>+}#hbGC9iea`3keLmOkzVGkv`~6<`bzOh_BxHXtJ)kKN z008I_y*&e!>o!$rX(-<(6*pPRMU5Zm8%U5msJcCcDatN+KrSPwTx&kL39P0!C*5Qes?m-moc1l<@ zc(1V{Y93uR;4Ag(vSP%ts~Nu@41*Cb!_$mPDFKH!BK3hwyCbWI>11Db z!=&q4o75RP_%JhK>`um+aKy9O8CujU-bY0%BF%O75qVkW$e$lp%zb?Iab=O75($${ zjabAPcu8}y3g&H0Q-a4vH91h;(t<)~!%d^j!Of-*cghcgX1cU@zcYRHff-^lRaG7V zKeHyvU&dTMAN9x6Mz9 zwCVZ!Cm@cSv(G-@7hbZFCFhM{O~~nM>)dGQ(vk_>Xsv!81Ck{!WNh7G(pTkK@qBFz z*VrRjugQ#Ea0)R$wV1!BP<@&ioLUxJe;0drr=&&iX_e>Jn{M#m>17R-;O>9t++P=b z&e5#hval_SXFA!or~vC)6x_>gGF~nRoy!~Gx*3W=9Ma02(wp|#dV_tKE@fiO!pSM_}{jE7mjgr=j z`Ij`Xd2O%tPIq|J7U$Iscf*_SKNvK7RW znI`5|6U{xA2vR3?*f&S^RvlIJ9KYYW+4!oyK?5tl-JWi$Nh?Xa60qw$<0|v` zW{xnwj@i7|CUvBJo-R3%<_+p0-fB}Er0!=FyWk3j_xbI4AwJjD{Vp-~V*T+D-7BO> ziSKov_UUnt-o*IChmg6k@Kj0se34HQ<1Wmc)MZ`Sh&j5iKqtPry}t};?#0NHIXoP= zHQPEiC-@GZWbMu=>wKq^Vb+owB$}M5VLLEMQuTo`id4ORDCIx6n~Fb9Z6Q&IbZmE# z!|R7C`nepCI&OPs_+I%2_o~^}0fTJ)Ur^r=H=O17{&4N~Wlf!|7}=Sd)}fEYA2TeJ z@OM9Q3!?OeCS~2=iJcUy7;Z~zzok}<6RBX3qiMXZDJJF_&yr{~O$@UoiZ6Za38qHN z#crXteW9Bo5TFX}^r9xC-p9Txq}5upWlymS%>rYvStyUgp3yiYr3;vk#`R zqwGKI>8r+Mj^mQ(MYE?xl0KjBk#rL0w0ERXq4ECKa@H=%f{{%|% BOdkLM literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/fire/karel.png b/src/main/resources/tiles/40/fire/karel.png new file mode 100644 index 0000000000000000000000000000000000000000..0f64580787023dbcafbdb633728c47efcddf05cc GIT binary patch literal 1881 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pn}htArU1JzCKpT`MG+DDfvmMdKI|^K-CNkHWgMtW^QUpqC!P(PF}H9 zg{=};g%ywu64qBz04piUwpEJo4N!2-FG^J~)icpEP_pAvP*AWbN=dT{a&d!d2l8x{ zGD=Dctn~HE%ggo3jrH=2()A53EiLs8jP#9+bb%^#i!1X=5-W7`ij^UTz|3(;Elw`V zEGWs$&r<-Io0ybeT4JlD1hNPYpzh2qfLoMT4D}VzfBF@P1^R}12KsQ5ff{XqezbBf zN=+JL8uUrkzbNu zoRMFk;OwjbG|@sq!#6QGGY=%FiDVp96PkIx`6-!cl^CuuwlXjSB8YY*HBj9)`k-Jz z3MNP#fJK3kV8;d22#ZiVt^&j8j|>bf|2;@2T4QKGu`#?(O^acSSp081&~I z&+m(1)$CGQ>|h|l^QCC#w{P8x3Kwnqba8TNss8^-D{quM-f`^MG4q&p?J3f6o@9A2%Cd{4Z7JJ~WMEp7Yt>(}|U*KC%F zdaDXpPT;nTH2L%S;u80wg9#gQGEYvIo5|KFbHX*j=k^&BZcna#S1*5lTDSiC>6ZJO zja*p1u32*@vG=>f840nPY7J{diXV{jL8@J~OJBJFmI&?)&fFiz#Z8JMDzr zd5#_}ck(>x$I*UqR%Jv)#FA;g+XQ>uCUVJ2{`8dYi#f5P8CJ%rbKUDzIJAr zzTYdf1zDJV{LeEKTAEB+Fj-A|t&^hpb)Mh+Hr%UMv%RWQQ+LncaPi}vvgnYCL0ye! zr?6h!9+AsE=XUPe#ibYjt}Ao8ir}hwQx>dMlPlzykupHih-bdT|P5&vw?{T zOKIu($!pIpHRzjs@VS1={pDo`*4*ZlJ0D-tEnKLQb$XV=)S8MP);kK58G>~TW}i(k z(){2$ol&k*iCwO)tNGo$*GCFw%wb%5W|u=~#A~ke%ThE>IPfSg1J#@k2lMZ)4 z&2`@f1NP|cVS?q&f|J*#s0dtM@uMm5aNhRAt=zJ+ERHOgSTQ}1{rg#=S820HR6D|Tv)Dc*OF{A_#n{Q1@j z84i{ZJ_&jG<t0>y3^!8ikvfs`D)2{2sPeL3SqJ}{(;Gh zSLksdR-9h#D3+lgv>N`(YKbLh*2~7Z);}JRl literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/flower/beeper.png b/src/main/resources/tiles/40/flower/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..6b100580bcbbdd6ba433a325046d563acf559428 GIT binary patch literal 3316 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 Ok6~}U4_#sD6aOD#O2GaA literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/grass/beeper.png b/src/main/resources/tiles/40/grass/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..39133abe13b0346051e10664db10595948a95057 GIT binary patch literal 3380 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 N^t23-$;RM;76Vf47MKV>-cg{R@B!(Z0?t= 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 W!jwMjn9Jba-wR`DYf*0IaqV}6f^MY% literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/seed/beeper.png b/src/main/resources/tiles/40/seed/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..e153182b8d71f4b27beaba1744e396059f129594 GIT binary patch literal 3399 zcmV-N4Y=}&P)Px?0ZBwbR9FeESP4{B)f)cyIp{Sm%#~C20;W=lyWJimgQ6_RAyyQv&^1N ztM!KR1+Qf;t@oOJuU@O1Yl-<(Du=8v%n2DBKn6tw5x5t)%y&BXocI3+j$IUz*J`hI z@7`yhfB*a2-#_gCUH|~r`{CTi%A73A>N}>6sUOTZGc!}sr^=FU_c1=Z?{~{sl~n+w zr>B#^fX!?+GlRh(4nMCO%Eu5w6qA1jz-5=CW{f0 zBn2`aBw6NaeLcNTa2*N!A+jVd>9h4l2>K)L;E0{E-JK?3NguHWC&#$Q1)J{^5hl^aYyXcH^U#RfmXN%9V~?kC7v4Q@Qw801$sFD+%;-P0#mI7E9S&ugF2 z@NB#!gAba!d&};_9pC?47~5rYK3rPex)1%E9}KYmWXOX3Mlphu#>a$5G0FaK8Q3?H zEEQnHE`E7=dc~cS;wFnO@f*nnT^hl|Pb=`0fWhu?C=nMGITVf;mcYEbQlI+U>Syy< z+#Jhb(pY~0X^uk^_lY(_O)oUySc5wTh&;S$v%0RXdwE&S)ReeoAj?UzBx^Vh{L$Z- z!zltX2etKP*!amVaN@ICj?&T0oNzNdP@OwD8q| zJSe8ngHrXjV3KPIMqzz%MN4)` z&fANDlbly&w z#CsKUDK^qUw+)Te{oKa{)P25>i79fEVnU{Kvg?r5Zd-NW)AeS%=-7cueMOh+hFJ;h z(UWK4>U9&0i;jSgw(bK#;2~pf8Z4Ndig{bMblaVuZQ1+XrXPnI#xWzB zS}`TpYtj$5?StWA!3tv?9o-N)JQVItOM&6x1~4_XcIKVBu=nVxvwpn5-GM9yBAs>w z~bwcM+}8Y3DID)I}}sbn_Hl@y-R~^KZuOhBjx`^ zI&(1*He#2g=-Alb$I$%!$g zo?309R-?f~0~D52LV&LiL<}>+Fk~)rSSXAL4+fo=7hJ5Wfps756x%zyn>m5|i7`GK z!CjRt+=YVc*Sm>{h@rX!KQE6zqpKJ(aGEgUcYAW$A}li2VA;A%cEN_iO7r@gio5Iq{OtM7`%b@& zBCc^!ezOD+HuH@8+nI9nXYMzT0#Ln+Rcd>pjd5$Axi?{Y>iE?7Q4tQKA@CTBUR~}6nsvOVMx#NH7!m+H`mrRlD|Wl{ zfW*r=3B#j{=05w%l16jOGaza2ELgI#CB3&)Qvl+A7)gCgetLnxm9!9`hd5)P&lH`v zM>JM5J`!UV4&)00^UObW@meKTReaSs!A1s}oGHwyia~#hxB_~qEqgm1A za3cgr2~prVKoP)ONMt-`!$6bYcz?TR<<;wp%4#}tR2I?geu-it#+}89(cw`NbFRlQ zkHJ?hs2&-lNQ7wo#N%dEK>y^DrML7Rx=UU5uJ`obUQ1`DCNWCX?Ool9-)gl2NLWcw zQvmh?RVL8E>6#>Vv)(L>2%s-TGm`|bo70iKY5SoX#Kdjdvdi!o6X2FTupg+g*@5bK6nsOjLf5{EZV+t2Oa zxYENzcn-(08lD$S&8^VV+Ociah_H&;cO=%mw|S4f{BrHu#ORl0Xz174=WzJ55E7o2;!nf!WGP?T~-^MFRy~5r_Mn&0$w;Pm99>?v&-I& z`w-uNae%iE9ZhYF$-GTA;*1BLc0^TkjmL%k8y9H=?js)9IF~31R+|I-eDr|eXjN2L zaKMb^>2tJxzPgdmED z6iyeHLCW|TxG!xI;0<=H;hOCV>7YgcsbD1!z5$YxpbN_a^jq07Id;)e$eLZm ztFyPs7|s}+%1RfSC}LO$o0gIQ`;Q!7Gch4-@0oLT701pq%kf>WuP!J)qc5wfNk8;c zzH;Mi-E$ZhQWeA?)DQqKtw@K|492RRTT%FSC5I3 zlr(ix{DxtnhE?}WofzniMJV|T9feLqnL|Amr3`a(8?4*36Y3h8^7MlKkrNfy>PVkl zyDOmVT5G%zg5ys^k=3^N9u@%PggI9*~b=E72^-ML{;ap60w zH)TuiSSUycSf4~qsB<@O*0y_gzK0ohWoq(RJh2ulmJmoBI~tQLkEi#+>PaF8R+2Ft zj$E0{b`pJR=iVb=YH54RKRn^Dx%e*xIur3NAN({kz{4B38A~#oXw6OSmOl`bM2$jy z0Ma6g=FwxuX#IuOzu+yf2K{l!oavLud@z6J6rdtvh@T$XvDAtlHB8xu!0r9+I9_F( zl6bf5Ic#ohY>jX1l+9|*M+FH9laHx+S6Mv37m-B_-h!OucOgh*MSgr!udCgt@K>i&-pOFt0_!D6F#Wc894`v`w3|aBcZ-VUY-;Jb2qi%2`&H zjLzPM!pG@z_UnzCnM+Un%kLD;91 z|J_YYAl#MqH&!E*WYzXt%&M-XUX9{g(u}*%V8{J|9_-qIF#gbXKyzd dWlwyD{{j4O;p+(|kDUMj002ovPDHLkV1jxteCGfF literal 0 HcmV?d00001 diff --git a/src/main/resources/tiles/40/star/beeper.png b/src/main/resources/tiles/40/star/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..c81f7cc0f40786d2de65e6416b3084904d49ffd3 GIT binary patch literal 2480 zcmV;h2~YNkP)Px;YDq*vR9Fe^S8I$_R~7#DdE7hqG2D3pGt5AFNU1yp?TA3ImDZ+c+t8#&O>Jy! zOw@>`Kg3s3_@$||F{uO-e^imiN)$q905t{_+d`oQiUUJ11M`3x9v!$dcji9MWBaXh z&lzrknaE6{e_Xli?#J0{?QgHO_S$;`|EGyrKut{irt}AUG0AH9{9}Nt{EPeFs9lE} zH@}X*W{h9-rsS0!NINcGv}@*Xk7XABwrFGX)!nGRIb!^^2?Nv`%CU{Fn(>3G1J*f{Q!tPbzKwuxjQyQ`J~NMxkoflLmbI2fZJ&R*v6xWyuKv zJh=@i*LA)ZZ}@1F)w~eCQ-CI0P4khMvT$-K?`~+HpsObYu*Nb!XPD_nW7F5bP%ii@ zGaSTcJOm@2dDzOC>n38waRY4Il4>j#z2}on%d70#Y0xDH@N~f1abRU8BQO@P|-Kg_NRt15x?^p(&so;~}jegAks-n9kK`~vk_J1?Z_@12pHwu~Di zf75ydiHK=Uzm!L^X%SLW7EUYXolPCT!qmG3`5&Dm-7h0?1!y)6d|a9MvX!cPy!rlT zP*qz8t+_MCAZ3^+W^=f7bQ_8Tm;da0c#XO9s8x@yT^-18+z75}bh-_o-U0L74m7Kn zb&pbduGZdC`e?DTjoEgxzHw4RiskwWw8Z|I~cSviwc4%;b5Q$t@~LQ1Q$RSn(PtCO3o1 zm7xNQX?X0TSOn1eRDgsZAf>K2rv`k_<3cTXr5p+a7m@GpK=#^26#6fA`@Y)L zI^?~o4*dkRhF1HV=PhV$nEMFq7|(bHiuQ`sK`jJEla&Dp7-@!O08;8gQCV)4|0x!b zlpzOQQPlYqk`NF(DT}{2T+hYzuD8&6;y{}>;6H4caTJ`KzE&#az_q~7=gQh-!f4WH zuS;8Ii27L_Y2T?o`YvTivep2k{0S2*F>?3QD8)Ri>PD1`C0f<*HC*J370)B@`{vf( zj_!eL-G_PoU~F-4z_g@TQ&qCWUIi<0Iol(p)T6e16MYrqrCzB|^p}~TWT$ccayxq3 z-X4T+Zdvsr21DC;`<;S*>B6b^aO3JpPQWFN2!;x7og@UtmB{kP z>r#q;^GsqIDk=}>-ugYVz5TD(X7HnxKL$^L5TI0E zJBZ>}R^UiJ=YAwV+;?A1V;wAO62FLbLLd=PmI9jlx(qe~RaxEwFc=$w3QJAv8DqUR8qg5GHcR<^IBIUW;byZL5i&zCZu`T#M|l43pT9RU}Cl~O1KT5j;4!^>`@?W7*0mINKbHg~HYxB|cb z1kQC`M%TaG)0T;+*S?J7Bl2P8jsWG`?r&kWHn4r(r>0Mzyw%4G*XJ9T!(ipMepKr;x)Fb2z3Ew^D3kU^Gfwa@tW`Ra5SO8N89Hx5HzKL$N? z0X!zC#zo0iXlpZ_Viqr~+p2$eM-c3kWsXW-$=j8?j`ah*=NDAB@cJYfpNf@9pcZ$g z$!osiO|KvDgb^M6Ci4k z^Ri~v;W??V_5@*t7^QfW1|>ZgXpqUp7s8RN2|~b$L4!U4$92g#2@Sb6`mWA(m5}9# zQE5zo#AMc{5LYH=71#0?fDj-Arv#vsqD7b!kHn#X6OaN}h=4|9`OTmQTu<4VVbL%; zjR~;YMUof!l*LiOPUM6#X=H_9SBKyNu#pABg~(l2@QJL1Z*Z8fPb_Oos3@cuwzd57 z!DtX=&7+cMppGEYF`F~U1d;oqQly0=kSqnLk}!~Z)GuQq87WD2oQd8<((zGW?z!{7 zs2G(PL_&$lSyqib0VTVkwKY1fYe4>rKFdd`;Gx zCSn#>AMC&gpjeZ2NgI4f1)zGn6#6c)n}DbAnLe$Bk4;$^Ul@TUMK+WRWNFz{il>UB z$M0e)uBP>Z48luCImpFjw2%PvdD}jJ4tV$Pz{z9qFLmoH9H*P6sfI<%l)daT3bW>F z#FznSsd7#fdC|qQv?{51IYpYSQE5yUJ05IFsscze_lg^(?I#qvdlcS(Q=|R39vm3J zetLHI(qV0Kn8+edUj3g5OC-iUTh)x-+JU?gv0000JL8uUrkzbNu zoRMFk;OwjbG|@sq!#6QGGY=%FiDVp96PkIx`6-!cl^CuuvNEx>GBSr~M^XdTZKDqg z7NlT;!~s|o7zuVoiDe4SR!h=^n~`FPYP;Jp1$9|Y^B8J#LWd4y~0bYmZk4{ zzW=WA%(ta;B+n`tbRXC+%UCY-=kDFRcg~(YYy7O{{nx7O0z;wBJvrNN$3Ob`qsnZy zZkX28(qsL*@8;=A^~P<9T5FPg*Khgd`OUxn*0p|H+}hfDIBM-Sum90HV%3dr)pO#{ zozV11Pb7XyRJQmr*dJc~!t2Gg z2l89yA8_9?T{8QUpTh0}=~$u2*6`C$KeY#~{F0WR|9;lLc#)sp#sN8bdB@hTTX(H+ zgMujciAIOGLpvMKDDz94KCG@2v!I?S{pI|N@k{;+_g#2*z}Dhigz(Oi!ooncRqKOS zhV)n_pDbrsY}Xexefo6XC!!O39xe2nrTj%&XF+@R0li(pC3;r=mqZwJH45B`SX*{tk%=lKJoaZ_yXVbcvl8V(FIedin<0lGiiT%;*g%a-(Bqw)0xJnCsO_I zH_4?JsXIt=GAP(qH}ZJ9+)BL7G3R-)z|+omHQyhs5cPl6Xk%+DE6a69eXZOMg#%|Y z6B>*-xPv4gI9Plu*rv*JL`72L=wUvdB_)oRY-e3djCZ^h?0P{)>V$$I=j5*a0lSp&LznKSEEFV6|H zf3Psv=1qVCYnOd#zi8l6lbopbT6+!$%O|`?HO0F5@=g5~1{9Q3$v4TdEI4p;p0LA3 z=f*wa4okx_uXt|V!nG#0n@Mw*zlpQF5cBfMr?hX%SD)iMce3-|o_FpG8Mqo61uQPU zXxvcPc;z9d_rf3@112-6oq+;uLBBS=9N_-*CK6`1E>FJFOKV zE5G^}ExYxotmcCIAG?QVL>mn+J&rnZ=B=P-XyrYb{qpe*GkuONec-qG{-QT?MI6=_ z&O4aMn(pm!b!+Ahy9uivg#0c`&_8qLBJ+`-i~n`LwaE=_?mod~eqQOV+WIWbuG;&D zPMXKREQwNmZmqQZ)NAc-t{B1R-dnmiyn34d!stYD#FD5TogoYBc*|ePC)u~ZYuNVc z$s(0q`aj~2{IA|;bRtdXr_%K|YuB!oiPsm};LRee6QL?)`R?{(7p0F=Zv9+wF~jEh z=cDP1HeAaw<2R^2cgK0hfvw@sE}s`5!Bc}ZfmO8c!7nj)H29@=mu6{1-oD!MPx?)=5M`R9FeUSb2xG-<1}KuA-Xs#V3( zly0gjB&04;t&#{)wL&FGp-UPnBcZxW3PB>3P+|}`kS4+4;H?vT?AbgsZ@usCYrk{H zGnuhxCZd1z%$#@cJ@+i%`F`uU61FM-aO~b41O0u!C@b<|AhE(Adco@UUi!$flbvmb zZTspUpSb_PK(+L9DX>=pmhI4e-afbV^6&iptKnt?*=O@|{E7QMUagiNGjwUEEO9!P zD3%aJ>1&-%=keeA^B0~KZU6Kq_YBI0`YuT6L0OXP>?*}+(vYO|$5tx6^!vw7UK9PE z{?w7N(qQ%RV!?PwQ>BW8lz%`Frjh4|&o)}EKmOe(UYZkq*OyHJKK*C!eXv^1pD1XF zs>(6s>%CIQNF)`ele(?8`9!f;9Mv@CA>Ggha=NOi^7V}*68s>Fd_QW(QTUu?T3;qn#{fFdVI63)hng9u1v11&T7T9iZ|rgXe*0e=1uZ!=1zp;MK-bXeztvkMNU zXKf^Diot#Zw@j3fC&Dr7~18!JiA^gj5B&;9pv>jA3kAH==y=JpthcWcBQ&NKpi`v)z=yyrjW zn;r_)5=KXINPP=2|1?gnvQkgq1jx-KDOrj=guVj}3M3;3(+u(QnI;--!6LPq8((U9 zIC7|u50H}xM+jj9Kz7?$Ld&jtrmeY_k26y}EcIfvZ1SNhc<1493=iayI$daFPUmQi zM9Bn1nUT#nt5QO>;Il#=MISXG%WfB?yox&yjl;-m=z1v}ig#+x#p1G!(DC5*?EZ~t zIQNYWf$cBbrsI1(7nU1g*`j#3_Pg#F!eC8B;+W7VdReGA0VN@M3|RdL(OO+;6YtWP z)NlhDtta&?)QS@BdfOmZme6q$n0^Z13E)~DEX$d{5zkEk_vPmQ$Le|KUCYIAAwdwQ zIJ~!ti9v(lEP|t2QG5z@E{S4D932rRN~kesj4`5dkq~oM%j=kjR4J- z6Zww!-5UW4HQ!MF^(@l2kLs<^3m>j(i8NT#aqy@5p~gORg-mego*QE7N*6`SPgr=H1Gpd$~n*|aG*beLKW!R(SPOU8lOG6OvPSTZUQLY{lZ7R zi|sQK6+C?J#LhmcNZnCssXC2;|M<=Y2Y>e+2NlV|?%@KWNEie~xUPz4iK0C-?c%BL z`tZyS4(=?|mnMkGym&ucqHpbX(YB&9p5*`LU%e7F*I~l@SQrPNy? z?j+=#Dt&5*Z-l+@!7qHB4??gRHs4CGXNn5H4ARC1y00%R>Op^}qu z@H1xP)a4hbNO3QPbLYODb0u(4rLhd4pZ3`Z0Z zy8MKU@-a;KKxZM|i<~8)E-v*FR20gAjUwO(fDx-7#h0@Qw)oi=U>L=(*h%V2hLl$b zL{(SZj0p5Chm4ZaDjn^LW&+pDh!zYi5qynCl!4*P4#nT6C5S}CAwU661OVGlqbQ8N zzXi6ed0T+4TYe2{=T%*j@0RG1bpev(NMuuG+BGM_U`!oln@P~`@Dkic0ADxhLq$8; zw3x{Voy(EZh(BX7bgWVG9?DG4(kL!eQ)1?DKsQvgjDsX%iB!(gaav?M(@e6NR}vg3 zIVd88OJE+w%_JnTz4&jw_@n3x9L8Q-7cuW!mf!n}M=tIE+5M(Xx%BAo9A-Jb7htc^ z!=9YQL^L2H37RzLMKaqH5r&p9sJb{@V49VzWJY4F<;B=@*BR>AWGcb1iQD&$;*KNxFfcZnsJikcd%5|^J3sQDTOPu;1bFU09vpz)_s@yzJ+L@E z1G8x|;MFYr%eH#I`MG6qUDY=hCMWQ=?d(2kJUl1W#L>?Ml+C+W74XM zJdZ)2&VrUrnuHe?ML0{Dh*ce_rXiM9TCH$Pz`?;3W6UiJeI=Aw$9C^TYUI8aXzfSd z{>#rfD-*o=yQ!NgrpjZXXp2571Su$g@Y8X%o`3z4s<$8eE z*AU5tpi-l^bSUeoMv8peTS?Jq(Q!PDk;#eo%WC1%9P-IGp{?BA#NhXzdEg!e#y6H{ z=89&+Tmxvfc)%$Qp|)cP<$?~IX;gc$o8@+^r@0#^7kCxwK&78zE#}}dd7WP{G3d20 zR+CZeFJ~;42g<1L+~KnOFTL}l&%UsJ9-%&K<(X$Da}~S(q}^!lZ!WZ8HGAkadazja z;X3x*eSpW#GHNvg^&w79U1~OXgrxfr!WEHYwF=@?TF|cB2Qe~MMzze$W*~>5;VRD_ z9-^fN4TxsUT?m$GUYevR;~)B9_20kp^@X*s3>!o|IzO?m7j=HVJ-6$>*BnAF9AdLF}r1(XU3cJ8j@{Oi{UP(a*RCJ3x(5P)rAiRa-~CqSvBV{~!| zZL^ilFXFVwutn_))A!|y<+pK`wdk?|prZC4>dc-~%%v_Y>Kspa9LOL)G3s8K?dC5{ zwX+>x<-z;F-adjfc$Ab;DC=mqy)0@7h(fgGqKbmfgn+@h)s1j*numWuujFBTEJA&_ z?%GpV^RDS+3<{u%qDZQy?_CdY%~6wTCDjJzTJvqsYng~`SAbiV^ZH-9ihgB^2Okkv z>7&te6P%su@~FrS_%8A}W-$zF5sg9AfQ#is65)9Wc%*z|))9#TQ!vI~=7BTwe1v7Ni5a(H7qWARf``y!hLs^q4DHCw;bZqe6VKCg29Oana4|!T1hxH6=tjoB@hb=4>UQb zv?s=^`<&B19-%|{IKK;wNt*WDpPmZ8#4e(1R@OvJOXTud`7(b+&B~MeX2yC}5{vL9 zK8LIpu^WdB=5#Q{qN^o(aRe1bbaNPO0)h|d|9F;qb49)vCqvf_qoBQ@9XpNFZ2AK+ zj)~aHW!>)@z;$gKZku-8QIqI0J;bO@5ep2Nj^%j`R$_3c$Ilo(bH(clBO*wThbD&! zh4_M%rc5Aw!TJhNo?`ipE}AwQ@|GcP6~qQNv)Z`+dh%i~e9vxU2N^uN&|`W}o<*v) zcYuc{od+c+@@9J45A8@|mM<}zl9+u-9g23gBzYw*i8T>LW_t2UOr{PG}$IjapoKa14f8(L;9YsSN@ji>}HrYv@s7&rQ^qs7pQ|3 zS(Zz@=6P-{@!nw13g2s5t{8Q%UN|uQt$+DMclzvj5-~|Al!Ku|_r9|GeZTf^illg1 zQpf?4%+qs1%7jMC&@VjyZ3=64-^WE*pCPMtbQlJtl{eEMw@N1N@}ct3sN!i8x4&ZQS$d{LR6 zo>n-6U?~8nQ-Bv~GPhL1p#Ok=hH?a^*NKgUijk#txIXM{}J$h8U iTV?nsU*!LD#Qy?JR_(?s_H}0f0000^XnDYZAfB*o1-vW(tV6BP= z#?8r^Q}!E!SqmH4!Q2>7(+^%`9e7A+7cv0Ad-%ZE0M}?B7GOQl5ktXPpVIXv2CL$I zh+e*`)L;?|4FKpKM=aC{ec?>h5P}boHc-AtnDBs#86*| zrmBW29BK%JKp^^|K7P6mD6=1Q*2w@GK%tOyVX&~UFx4=1Rbr?=Obv-d!r%xP0-?e} zsE{uZD0r$0fh_x{$X_}rU$S>-Ac+!4BtQ;y@m|Dp6ay&qAkg3A$325de+MFve`LkV z4@Sk4U}~yx*x$-5qCP7}U6W8>JjEBqGD8Gh4XL7rP=TvEsv&gYn!4(m`mq0C{)zby zn;7ayBnBB89h4Aa7eJ&C$pJ(X#KZ)`Qq+McTI0O~2?tK4f64tI{YTH5=o9F7;s4x5 zLq}Ir=TG{-FhAJ(u!FMvt4x3P;14gW35Gxx@vnv&0)MG6OlCcaBny<0BZemjb2h-O zQ^fGW>SMtVCUp`9cNLhLa-*u1la0=&47OdsL8=I>r^g{5I0&L()AsHUIz5MDW@z1eSeCT#UB81(iLxu3S% z7uH`;kb{;U!kP~nM>wQbu1(J9?ci&pfCB;L73mB8&0|F;ny@bgsq0>YLusk|E7>z+ z{X}8JtMw7{jlsaZVx@9yp)2S_k;vYFSZ$vw0}8eq|8nh1=Y{jM zJ)ybbV|$W_PjBR70HHLS#gulzFSFpufg*L>ZEZt^rKqHywPI7JNsu0R_pQ67#yP+J zpO_?p$*}D*D zJKaioamfs(tb;8?^7#*>Z}RU>=G}b~Q&P0TbG=1`+^eOu|1G0;Z-=gXa|UBZiP(3B zSu8B=4YxHh&q#wCTghwmZ|GyQdiMg03{;+bO0|DW`_fjq$-msNsgmX@bFt7i-b=Tx z+sHQ3OrU!|d@`@yq}HAzyN7e#`N>9= zvPr|Ex&BPsUP|jpA5mixg{kJD#+*%_>TqvrnOd@>q@x!r7+(>N9u*KJ`#k7GNalvh zARA_p^J)9})y^1D|i=$3;OLB_+)>O}kiItIt@vnee`9PT=Z6d??;D(rn|umP4(Zdzt675vO2L$R0z zxd-7+20;X8cvR9#t&6=!hs>T%zj{QYxJK{@XPI)kNPg7p^iF$!ln)U(@4HRKyBZf- zD3zeG{0(SK*Mut@(4!!^*MflTeHILV(DYy_;;LacR_?} zaV_-S_-Za`_$~G(6Whp@E0*&)7ZzagK2X5V9-?_9+o@Q|A6$NtMjZ-L@8IaFOl_&< za*qsiR7g8l7W3t5NQ!2?+pZj70%|eGh`v*5Em=RK9^4Y~&Z;Kld#lI(jqW$$va&sr z!Mulj(w$|(t2Q>D4o%zo`%o^n#+p5(XDGa1_TkYs!CAhi&(^`>?GnMIXTBL?R4*+GdF zYP5%$SXJI`yO!H4C2wPdKhb@?5K!=}|F(pd8go!fJ2z{>f73-f=DL*2 zn{<2kVL$2zEfY)exwdWdTC1p+h`vAB5t@MZ5K zmP+srDVGl4AfB|N)T1BoLngxQ%AM`1UF6^F=6mah_2{VFZ}b`xvlWS_H7ui3qH{Dz zM4!uDyL53ypTR@^jA`lk+`b_7L;l$3v))WU#H(3Ra>}pQ*h=-0-P%8yvf~u9G+x|# zaDjn5d<>-J$)@AlCYRa;#Y~H3d`^hQ-6aT5(S#W%RnxT#;BIlGmGZ$#xOU*k=Omx$ z$GkP|n=o0+bcGHMM$v15o05vB$cW7!&PNbrQ$T6d*IZirFE+-jtZ;xa-?4K9-J3xQ7<~Y+@M4j*pWh z0nFlMxxbGJZok9Fwx;qcuzOwUg1m_5-W)wFRwm_nBz0REFeiPokfW3@ggp%PG4cqa zGcJImLh7+h!}l#%4fGT2J8yi><6nb});Nu@k*4zZ^L$s@TCLd6BIcEu_$^STTz=nW zrLP6W9GyTLlqsQTJHeqpDx&DI<@BOjUujw=kO*&9+&J&Au)1s4R<`xeG|VGHZ|=S8`O&o(rdzzmS3 z&XYTwL04(hKhYUcwAWEp;g@<1qF;7J^{dbC+pYl5E8$YgLc&68fUESGrRvCZ_k}h% zVWu`+DtGXe9{XCEW+=v>Zd-d}E2Lj$T}$|Ujr|BmAN+N?(ea(cE-S@_(JR^oGWWCz zOP?ZZ??LAf3#vw%Z7*tyh4l79CT&iBE4tjg)eIk8?TTXSBwd)Va{fR)_$;RM;76Vf47MKV>-cg{R@B!(Z0?t= zWceWllqe(`fkJ*&mJzLGIbt0-;S^rDlgw}!6xs@o#=ub~Bs3apVueLnStI|2`6uQ- zY=A=ofJmJEdI_OE41fo489)@&(GerUfu^M!4VTrbNvW%}HMPhMFQa7r@b-wnknCAM{Efmki;;=OQEg^w}ZXK$_ZvGc@RnHnL+qv@(dQ&Xru6zr_`9opX6-fpu;wSiq& zQW8?g;PpjbSAvYB#@htDEZTlfwcea}< zub!t=Z)r1BqQ=05``hojq5k6GM9WnJ%dFP}F=_K+b?&8{ZRG+{GJ#RPKPIo?4uoA;qop<@pz)7j+CZtwJ&ouc`GJn_4@k%4qZ#U$l; zsc7$vPhyj*7+L&4@;LMSjsCy@`a4BtG{M!Pyyc9qwjw6jE}vYGn|t`xj=Cv*!){6B zxZNHY?=4w-_1O=OtU_L$oy(eTx_Du7lzox>_Gyi;V0t3Rl6mHd`Oc61Oa|jH=nO(D zOu?Yt2C-G>lOy&^IGENc?{)2$p(iaRx`M?4RoJW)}eUOdm?FB&vF|2Z>n%tTM|(Ic~^h8N1$4tAykKkjS@ zDpnV5oa)@?nVF!%7imw3uIMg5;@S4i0nVlRAmRR7O%g2U0k{c4*A?9as)y;f?xXd9-WN!_VEOuMd76Od6D%Wa(yBP$6m z<5ho{@-MMpm=~<^5uOW;r4R?n0wc>Y)MY-}NwFUaetvGQZ{)yJ0$(5x=@(c^_>duL zr4f6JQjIv8F;VVwIIRbHkkQvhmikeKM=^Q%QrD@i5tP}pUDaiGr+T_v!Bt~vt)a=` z!Gnf5=a0_nvxUNejwBTK0(f9+X;*)$D7PT;SZWVOdGzpQtphJbEp%~+4(+tiKyn1W ztu?L1?Do6a2R(9R>!X?jiyNowl>0*mYh%VD>3{Zk6*vBo9MC*medmbQL>n+hjLo@% z+Elw24wLje4%76wGZ2(?eUR$q?mAt7(*`{wEk69|)CFnzG~@~~IAkzAiDYQJISXZF zmwu)IY!Jl0F*J>;?TgURc{)mVga~P>tfeK-7uo;qf9hGiV^0Ld+>98Qg7rwt^``lP z!hqG;YLAS`kA9nMI`8dwC^^=+(CS{O0?ZlD^1r1^aR?A5q;lOn^r z_iNtB>Ef#>E}YSz!~(6r_HkjCK30baDma$x87c-Tccmx z^t2sU-`z{q1oy&XE8`5Q_1aV|EqsW@<=)jeVkaSUggIDLfWJoP@AxaUxG||?FeS4& z`}U?Ebb>=8SZjD*^0;Wj((?p9IPlWz-j$Al{KfLQweeN)P-mn58@)$YKSu3PHtDX9 zU5-nH%xm5<9#&bImtcVre>;W5O5LZj*L0L~MIrtoBgn7$<0r^m;a9$wjjRicUFLE}-Y&EJy%TRP^tq=PkCm--LCl|| e-dOgKUz6J@wYXcWsY6)*=iQz0PE8J>DgOhUP? Date: Tue, 3 Dec 2019 13:44:57 +0100 Subject: [PATCH 3/3] fix formatting to space --- src/main/kotlin/gui/MainHandler.kt | 2 +- src/main/kotlin/gui/WorldPanel.kt | 38 +++++++++++++++--------------- src/main/kotlin/logic/Problem.kt | 10 ++++---- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/main/kotlin/gui/MainHandler.kt b/src/main/kotlin/gui/MainHandler.kt index 57a821c..9a9272c 100644 --- a/src/main/kotlin/gui/MainHandler.kt +++ b/src/main/kotlin/gui/MainHandler.kt @@ -20,7 +20,7 @@ class MainHandler : MainFlow() { initialWorld = currentProblem.createWorld() atomicWorld.set(initialWorld) - worldPanel.levelImagePath(currentProblem.levelImagePath) + worldPanel.levelImagePath(currentProblem.levelImagePath) worldPanel.binaryLines = currentProblem.binaryLines worldPanel.repaint() diff --git a/src/main/kotlin/gui/WorldPanel.kt b/src/main/kotlin/gui/WorldPanel.kt index 6afee86..6f8ee71 100644 --- a/src/main/kotlin/gui/WorldPanel.kt +++ b/src/main/kotlin/gui/WorldPanel.kt @@ -24,18 +24,18 @@ private fun readTile(size: Int, name: String): BufferedImage { return ImageIO.read(WorldPanel::class.java.getResourceAsStream("/tiles/$size/$name.png")) } -private fun readTile(size: Int, level: String, name: String) : BufferedImage { - if(level.length > 0) { - val resource = WorldPanel::class.java.getResourceAsStream("/tiles/$size/$level/$name.png") - if(resource != null) { - return ImageIO.read(resource) - } - } - return readTile(size, name); +private fun readTile(size: Int, level: String, name: String): BufferedImage { + if (level.length > 0) { + val resource = WorldPanel::class.java.getResourceAsStream("/tiles/$size/$level/$name.png") + if (resource != null) { + return ImageIO.read(resource) + } + } + return readTile(size, name); } private fun BufferedImage.rotatedCounterclockwise(): BufferedImage { - val tx = AffineTransform() + val tx = AffineTransform() tx.rotate(Math.toRadians(-90.0), width / 2.0, height / 2.0) return AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR).filter(this, null) } @@ -57,16 +57,16 @@ class WorldPanel(private val atomicWorld: AtomicReference) : JPanel() { private var karels = emptyArray() private var walls = emptyArray() - private var levelPath = "" + private var levelPath = "" - fun levelImagePath(path : String ) { + fun levelImagePath(path : String ) { - if(path != levelPath) { - levelPath = path + if(path != levelPath) { + levelPath = path initializeBeeper() - initializeKarels() - } - } + initializeKarels() + } + } private fun initialize() { initializeBeeper() @@ -79,9 +79,9 @@ class WorldPanel(private val atomicWorld: AtomicReference) : JPanel() { maximumSize = panelSize } - private fun initializeBeeper() { - beeper = readTile(tileSize, levelPath, "beeper") - } + private fun initializeBeeper() { + beeper = readTile(tileSize, levelPath, "beeper") + } private fun initializeKarels() { val east = readTile(tileSize, levelPath, "karel") diff --git a/src/main/kotlin/logic/Problem.kt b/src/main/kotlin/logic/Problem.kt index 2e5d043..91026bc 100644 --- a/src/main/kotlin/logic/Problem.kt +++ b/src/main/kotlin/logic/Problem.kt @@ -2,12 +2,12 @@ package logic class Problem(val index: String, val name: String, val story: String, val goal: String, val binaryLines: Int, val createWorld: () -> World) { - constructor(index:String, name: String, story:String, goal:String, binaryLines:Int, levelPath: String, createWorld:() -> World ): - this(index,name,story,goal,binaryLines, createWorld) { - this.levelImagePath = levelPath; - } + constructor(index:String, name: String, story:String, goal:String, binaryLines:Int, levelPath: String, createWorld:() -> World ): + this(index,name,story,goal,binaryLines, createWorld) { + this.levelImagePath = levelPath; + } - var levelImagePath: String = "" + var levelImagePath: String = "" val level: Int get() = index[0] - '0'