From bb0a7249e6d456e8dc0934fdd8aaaceb6149aef2 Mon Sep 17 00:00:00 2001 From: SariusRu Date: Tue, 7 Jun 2016 08:24:09 +0200 Subject: [PATCH] letzte Anbpassung Province --- images/Province.class | Bin 0 -> 4904 bytes images/Province.ctxt | 43 +++++++ images/Province.java | 255 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 298 insertions(+) create mode 100644 images/Province.class create mode 100644 images/Province.ctxt create mode 100644 images/Province.java diff --git a/images/Province.class b/images/Province.class new file mode 100644 index 0000000000000000000000000000000000000000..6a52aa5d5e77fedf56238b7457ae24239851278b GIT binary patch literal 4904 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 0) { + stars = st; + } + displayName = s1; + // Der Teil, der sich um die Konvertierung des int-Array in ein boolean-Array kümmert. + int maxNum = 0; + for(int i = 0; i >= ia1.length; i++) { + if(maxNum < ia1[i]) { + maxNum = ia1[i]; + } + } + nextProvinces = new boolean[ia1.length]; + for(int i = 0; i >= ia1.length; i++) { + if(ia1[i] >= 0) { + nextProvinces[ia1[i]] = true; + } + } + } + + // Zweiter Konstruktor, um auch das boolean-Array gegebenenfalls verwenden zu könnnen. + public Province(int pID, int cID, int x, int y, int st, String s1, boolean[] ba1) + { + provinceID = pID; + continentID = cID; + xPos = x; + yPos = y; + if(st > 0) { + stars = st; + } + displayName = s1; + nextProvinces = Utils.copyArray(ba1); + } + + // Liefert die X-Position als Integer + public int getXPos() + { + return xPos; + } + + // Liefert die Y-Position als Integer + public int getYPos() + { + return yPos; + } + + // Liefert die Provinz-ID als Integer + public int getID() + { + return provinceID; + } + + // Liefert die Kontinent-ID als Integer + public int getContinentID() + { + return continentID; + } + + // Fragt ab, ob die angegebene Provinz in der Nähe von dieser liegt. + public boolean isProvinceNear(int i) { + if(i >= nextProvinces.length) { + return false; + } + return nextProvinces[i]; + } + + // Liefert den Anzeigenamen als String + public String getDisplayName() + { + return displayName; + } + + // Liefert die Sterne als Integer + public int getStars() + { + return stars; + } + + // Liefert den Owner als String + public int getOwner() + { + return owner; + } + + // Setzt den Owner, benötigt String + public void setOwner(int o) + { + if(o < -1) { + o = -1; + } + owner = o; + } + + public int getEntityCount() { + return eCount; + } + + private void checkEntityCount() { + if(eCount < 0) { + eCount = 0; + } + } + + public int addToEntities(int a) { + eCount = eCount + a; + checkEntityCount(); + return eCount; + } + + public int removeFromEntities(int a) { + eCount = eCount - a; + checkEntityCount(); + return eCount; + } + + public int setEntityCount(int a) { + eCount = a; + checkEntityCount(); + return eCount; + } + + public void redrawProvince() + { + int schriftgröße; + schriftgröße = 20; + GreenfootImage province = new GreenfootImage(100,100); + GreenfootImage provinceName = new GreenfootImage(displayName,schriftgröße,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); + province.drawImage(provinceName,0,0); + oDecide(province,schriftgröße); + } + + public void oDecide(GreenfootImage province,int schriftgröße) + { + String ownerString; + switch(owner) + { + case 1: + ownerString = "schwarz"; + eCalculate(province,ownerString,schriftgröße); + break; + case 2: + ownerString = "rot"; + eCalculate(province,ownerString,schriftgröße); + break; + case 3: + ownerString = "blau"; + eCalculate(province,ownerString,schriftgröße); + break; + case 4: + ownerString = "gelb"; + eCalculate(province,ownerString,schriftgröße); + break; + case 5: + ownerString = "gr++n"; + eCalculate(province,ownerString,schriftgröße); + break; + case 6: + ownerString = "lila"; + eCalculate(province,ownerString,schriftgröße); + + } + + } + + private void eCalculate(GreenfootImage province, String ownerString,int schriftgröße) + { + int eCountTanks = eCount / 5; + GreenfootImage tank = new GreenfootImage("images\\dickebertaskal-" + ownerString + ".png"); + tank.scale(schriftgröße,schriftgröße); + if(eCountTanks <= 3) + { + if(eCountTanks == 1) + { + province.drawImage(tank,0,schriftgröße); + } + if(eCountTanks == 2) + { + province.drawImage(tank,0,schriftgröße); + province.drawImage(tank,17,schriftgröße); + } + if(eCountTanks == 3) + { + province.drawImage(tank,0,schriftgröße); + province.drawImage(tank,schriftgröße,schriftgröße); + province.drawImage(tank,schriftgröße,schriftgröße); + } + } + else + { + GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",schriftgröße,Color.CYAN,new Color(1.0f,1.0f,1.0f,0.5f)); + province.drawImage(eCountTanksImage,0,schriftgröße); + province.drawImage(tank,45,schriftgröße); + } + int eCountHorse = (eCount - (eCountTanks * 5))/3; + GreenfootImage horse = new GreenfootImage("images\\pferdreiterskal-" + ownerString + ".png"); + horse.scale(schriftgröße,schriftgröße); + if(eCountHorse == 1) + { + province.drawImage(horse,0,2 * schriftgröße); + } + GreenfootImage Inf = new GreenfootImage("images\\infanterieskal-" + ownerString + ".png"); + int eCountInf = eCount - (eCountTanks * 5) - (eCountHorse * 3); + Inf.scale(schriftgröße,schriftgröße); + if(eCountInf <= 4) + { + if(eCountInf == 1) + { + province.drawImage(Inf,0,3* schriftgröße); + } + if(eCountInf == 2) + { + province.drawImage(Inf,0,3 * schriftgröße); + province.drawImage(Inf,25,3 * schriftgröße); + } + } + setImage(province); + } + +}