diff --git a/Map_World.java b/Map_World.java index 31a7707..bf36975 100644 --- a/Map_World.java +++ b/Map_World.java @@ -4,51 +4,364 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) * Klasse der Standard-Welt * (Also die normale Weltkarte mit allen Kontinenten) * - * @author GruenerWal - * @version 0.0.1 + * @author GruenerWal, MaxiJohl + * @version 0.3.0 */ public class Map_World extends GeneralMap { /** - * Anzahl der Provinzen - * Muss später ggf. korrigiert werden! + * Anzahl der Provinzen. */ - int provinzen = 42; + int provinceCount = 42; /** - * Konstruktor der Weltkarte - * Ausdehnung 1280x720 eingetragen - * Muss später ggf. korrigiert werden! + * Konstruktor der Weltkarte; + * konstruiert eine GeneralMap mit den Ausmassen 1600 auf 900 Pixel. */ public Map_World() { - super(1280,720,1); + super(1600,900,1); + Province[] provinces; int[] neighbours; /** * Hier werden später sämtliche Provinzen der Standard-Map erstellt. * Dies funktioniert folgendermassen: + * ================================================================= * + * Im Folgenden wird nun jede Provinz einzeln erstellt: + * |--- * nextProvinces = new int[]; * - * Province = new Province(,,,,,"",nextProvinces); - * addObject(,,); + * provinces[] = new Province(,,,,,"",nextProvinces); + * addObject(provinces[],,); + * ---| * - * Zwei Provinzen sind bereits als Beispiel erstellt. - * Muss später auf jeden Fall korrigiert werden! + * ================================================================= + * Der Speicherplatz für provinces[0] bleibt leer, da es keine Provinz mit der ID 0 gibt! + * + * Und ja, ich weiss, dass das scheisse viel Schreibarbeit ist. + * Aber da muss man durch, wir habens auch hinbekommen :P + * + * ~GruenerWal */ - neighbours = new int[1]; - neighbours[0] = 2; - Province Mongolei = new Province(1,1,1000,100,1,"Mongolei",neighbours); - addObject(Mongolei,1000,100); + // Festlegung der Provinz-Anzahl + + provinces = new Province[provinceCount + 1]; + + // Implementierung sämtlicher Provinzen + // ACHTUNG! Gaaaaanz viel Code! - neighbours = new int[1]; + // cID 1 - Nordamerika + neighbours = new int[3]; + neighbours[0] = 2; + neighbours[1] = 3; + neighbours[2] = 36; + provinces[1] = new Province(1,1,64,106,1,"Alaska",neighbours); + + neighbours = new int[4]; + neighbours[0] = 1; + neighbours[1] = 3; + neighbours[2] = 4; + neighbours[3] = 9; + provinces[2] = new Province(2,1,162,106,1,"NW-Territorien",neighbours); + + neighbours = new int[4]; neighbours[0] = 1; - Province China = new Province(2,1,1000,350,2,"China",neighbours); - addObject(China,1000,350); + neighbours[1] = 2; + neighbours[2] = 4; + neighbours[3] = 5; + provinces[3] = new Province(3,1,53,170,1,"Alberta",neighbours); + + neighbours = new int[6]; + neighbours[0] = 2; + neighbours[1] = 3; + neighbours[2] = 5; + neighbours[3] = 6; + neighbours[4] = 7; + neighbours[5] = 9; + provinces[4] = new Province(4,1,223,177,2,"Ontario",neighbours); + + neighbours = new int[4]; + neighbours[0] = 3; + neighbours[1] = 4; + neighbours[2] = 6; + neighbours[3] = 8; + provinces[5] = new Province(5,1,160,236,2,"Weststaaten",neighbours); + + neighbours = new int[4]; + neighbours[0] = 4; + neighbours[1] = 5; + neighbours[2] = 7; + neighbours[3] = 8; + provinces[6] = new Province(6,1,232,273,2,"Oststaaten",neighbours); + + neighbours = new int[3]; + neighbours[0] = 4; + neighbours[1] = 6; + neighbours[2] = 9; + provinces[7] = new Province(7,1,300,180,2,"Quebec",neighbours); + + neighbours = new int[3]; + neighbours[0] = 5; + neighbours[1] = 6; + neighbours[2] = 17; + provinces[8] = new Province(8,1,181,347,1,"Mittelamerika",neighbours); + + neighbours = new int[4]; + neighbours[0] = 2; + neighbours[1] = 4; + neighbours[2] = 7; + neighbours[3] = 10; + provinces[9] = new Province(9,1,365,55,1,"Groenland",neighbours); + + // cID 2 - Europa + + neighbours = new int[3]; + neighbours[0] = 9; + neighbours[1] = 11; + neighbours[2] = 12; + provinces[10] = new Province(10,2,454,142,1,"Island",neighbours); + + neighbours = new int[4]; + neighbours[0] = 10; + neighbours[1] = 12; + neighbours[2] = 14; + neighbours[3] = 15; + provinces[11] = new Province(11,2,424,221,2,"Grossbritannien",neighbours); + + neighbours = new int[4]; + neighbours[0] = 10; + neighbours[1] = 11; + neighbours[2] = 13; + neighbours[3] = 14; + provinces[12] = new Province(12,2,520,153,1,"Skandinavien",neighbours); + + neighbours = new int[6]; + neighbours[0] = 12; + neighbours[1] = 14; + neighbours[2] = 16; + neighbours[3] = 27; + neighbours[4] = 31; + neighbours[5] = 32; + provinces[13] = new Province(13,2,636,180,2,"Russland",neighbours); + + neighbours = new int[5]; + neighbours[0] = 11; + neighbours[1] = 12; + neighbours[2] = 13; + neighbours[3] = 15; + neighbours[4] = 16; + provinces[14] = new Province(14,2,528,232,2,"Nordeuropa",neighbours); + + neighbours = new int[4]; + neighbours[0] = 11; + neighbours[1] = 14; + neighbours[2] = 16; + neighbours[3] = 25; + provinces[15] = new Province(15,2,449,335,2,"Westeuropa",neighbours); + + neighbours = new int[6]; + neighbours[0] = 13; + neighbours[1] = 14; + neighbours[2] = 15; + neighbours[3] = 25; + neighbours[4] = 26; + neighbours[5] = 27; + provinces[16] = new Province(16,2,537,296,2,"Suedeuropa",neighbours); + + // cID 3 - Suedamerika + + neighbours = new int[3]; + neighbours[0] = 8; + neighbours[1] = 18; + neighbours[2] = 19; + provinces[17] = new Province(17,3,245,396,1,"Venezuela",neighbours); + + neighbours = new int[3]; + neighbours[0] = 17; + neighbours[1] = 19; + neighbours[2] = 20; + provinces[18] = new Province(18,3,255,498,1,"Peru",neighbours); + + neighbours = new int[4]; + neighbours[0] = 17; + neighbours[1] = 18; + neighbours[2] = 20; + neighbours[3] = 25; + provinces[19] = new Province(19,3,327,467,2,"Brasilien",neighbours); + + neighbours = new int[2]; + neighbours[0] = 18; + neighbours[1] = 19; + provinces[20] = new Province(20,3,274,572,1,"Argentinien",neighbours); + + // cID 4 - Afrika + + neighbours = new int[2]; + neighbours [0] = 24; + neighbours [1] = 22; + provinces[21] = new Province (21,4,680,630,1,"Madagaskar",neighbours); + + neighbours = new int[3]; + neighbours [0] = 21; + neighbours [1] = 23; + neighbours [2] = 24; + provinces[22] = new Province (22,4,580,624,1,"Südafrika",neighbours); + + neighbours = new int[3]; + neighbours [0] = 22; + neighbours [1] = 25; + neighbours [2] = 24; + provinces[23] = new Province (23,4,572,537,2,"Zentralafrika",neighbours); + + neighbours = new int[5]; + neighbours [0] = 21; + neighbours [1] = 22; + neighbours [2] = 25; + neighbours [3] = 23; + neighbours [4] = 26; + provinces[24] = new Province (24,4,632,500,2,"Ostafrika",neighbours); + addObject(provinces[24],632,500); + + neighbours = new int[5]; + neighbours [0] = 15; + neighbours [1] = 16; + neighbours [2] = 26; + neighbours [3] = 23; + neighbours [4] = 24; + provinces[25] = new Province (25,4,491,444,1,"Nordafrika",neighbours); + + neighbours = new int[4]; + neighbours [0] = 27; + neighbours [1] = 25; + neighbours [2] = 24; + neighbours [3] = 16; + provinces[26] = new Province (26,4,574,414,1,"Aegypten",neighbours); + + // cID 5 - Asien + + neighbours = new int[6]; + neighbours [0] = 24; + neighbours [1] = 26; + neighbours [2] = 16; + neighbours [3] = 13; + neighbours [4] = 31; + neighbours [5] = 28; + provinces[27] = new Province (27,5,664,345,2,"Mittlerer Osten",neighbours); + + neighbours = new int[4]; + neighbours [0] = 29; + neighbours [1] = 31; + neighbours [2] = 27; + neighbours [3] = 30; + provinces[28] = new Province (28,5,784,370,2,"Indien",neighbours); + + neighbours = new int[6]; + neighbours [0] = 30; + neighbours [1] = 28; + neighbours [2] = 31; + neighbours [3] = 32; + neighbours [4] = 33; + neighbours [5] = 37; + provinces[29] = new Province (29,5,863,322,2,"China",neighbours); + + neighbours = new int[3]; + neighbours [0] = 29; + neighbours [1] = 39; + neighbours [2] = 28; + provinces[30] = new Province (30,5,867,400,1,"Südost Asien",neighbours); + + neighbours = new int[5]; + neighbours [0] = 29; + neighbours [1] = 28; + neighbours [2] = 27; + neighbours [3] = 13; + neighbours [4] = 32; + provinces[31] = new Province (31,5,724,262,1,"Afganistan",neighbours); + + neighbours = new int[4]; + neighbours [0] = 29; + neighbours [1] = 33; + neighbours [2] = 31; + neighbours [3] = 13; + provinces[32] = new Province (32,5,740,163,1,"Ural",neighbours); + + neighbours = new int[5]; + neighbours [0] = 34; + neighbours [1] = 35; + neighbours [2] = 37; + neighbours [3] = 29; + neighbours [4] = 32; + provinces[33] = new Province (33,5,802,128,1,"Sibirien",neighbours); + + neighbours = new int[3]; + neighbours [0] = 36; + neighbours [1] = 35; + neighbours [2] = 33; + provinces[34] = new Province (34,5,884,82,1,"Jakutien",neighbours); + + neighbours = new int[4]; + neighbours [0] = 34; + neighbours [1] = 36; + neighbours [2] = 37; + neighbours [3] = 33; + provinces[35] = new Province (35,5,867,176,2,"Irkutsk",neighbours); + + neighbours = new int[5]; + neighbours [0] = 1; + neighbours [1] = 38; + neighbours [2] = 37; + neighbours [3] = 35; + neighbours [4] = 34; + provinces[36] = new Province (36,5,973,89,1,"Kamtschatka",neighbours); + + neighbours = new int[5]; + neighbours [0] = 29; + neighbours [1] = 33; + neighbours [2] = 35; + neighbours [3] = 36; + neighbours [4] = 38; + provinces[37] = new Province (37,5,882,243,1,"Mongolei",neighbours); + + neighbours = new int[2]; + neighbours [0] = 37; + neighbours [1] = 36; + provinces[38] = new Province (38,5,994,249,2,"Japan",neighbours); + + // cID 6 - Ozeanien + + neighbours = new int[3]; + neighbours [0] = 30; + neighbours [1] = 40; + neighbours [2] = 42; + provinces[39] = new Province (39,6,889,519,1,"Indonesien",neighbours); + + neighbours = new int[3]; + neighbours [0] = 39; + neighbours [1] = 41; + neighbours [2] = 42; + provinces[40] = new Province (40,6,983,492,2,"Neuguinea",neighbours); + + neighbours = new int[2]; + neighbours [0] = 40; + neighbours [1] = 42; + provinces[41] = new Province (41,6,1000,595,1,"Ost Australien",neighbours); + + neighbours = new int[3]; + neighbours [0] = 40; + neighbours [1] = 41; + neighbours [2] = 39; + provinces[42] = new Province (42,6,934,628,1,"West Australien",neighbours); + + + for (int c = 1; c <= provinceCount; c++) + { + addObject(provinces[c],provinces[c].getXPos(),provinces[c].getYPos()); + } } } diff --git a/Province.java b/Province.java index 1bb4df4..042f91e 100644 --- a/Province.java +++ b/Province.java @@ -66,6 +66,18 @@ public class Province extends Actor 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() @@ -142,8 +154,74 @@ public class Province extends Actor return eCount; } - public void redrawProvince() { - //Platzhalter + public void redrawProvince() + { + GreenfootImage province = new GreenfootImage(100,65); + GreenfootImage provinceName = new GreenfootImage(displayName,16,new Color(0,0,0),new Color(1.0f,1.0f,1.0f,0.5f)); + province.drawImage(provinceName,0,0); + eCalculate(province); } - + + private void eCalculate(GreenfootImage province) + { + int eCountTanks = eCount / 5; + GreenfootImage tryOut = new GreenfootImage("C:\\Users\\samue\\Documents\\GitHub\\zweiundvierzig\\Tank.jpg"); + if(eCountTanks <= 3) + { + if(eCountTanks == 1) + { + province.drawImage(tryOut,0,17); + } + if(eCountTanks == 2) + { + province.drawImage(tryOut,0,17); + province.drawImage(tryOut,17,17); + } + if(eCountTanks == 3) + { + province.drawImage(tryOut,0,17); + province.drawImage(tryOut,17,17); + province.drawImage(tryOut,34,17); + } + } + else + { + GreenfootImage eCountTanksImage = new GreenfootImage(Integer.toString(eCountTanks) + "x",16,Color.CYAN,new Color(1.0f,1.0f,1.0f,0.5f)); + province.drawImage(eCountTanksImage,0,17); + province.drawImage(tryOut,22,18); + } + int eCountHorse = (eCount - (eCountTanks * 5))/3; + if(eCountHorse == 1) + { + province.drawImage(tryOut,0,34); + } + int eCountInf = eCount - (eCountTanks * 5) - (eCountHorse * 3); + if(eCountInf <= 4) + { + if(eCountInf == 1) + { + province.drawImage(tryOut,0,51); + } + if(eCountInf == 2) + { + province.drawImage(tryOut,0,51); + province.drawImage(tryOut,17,51); + } + if(eCountInf == 3) + { + province.drawImage(tryOut,0,51); + province.drawImage(tryOut,17,51); + province.drawImage(tryOut,34,51); + } + if(eCountInf == 4) + { + province.drawImage(tryOut,0,51); + province.drawImage(tryOut,17,51); + province.drawImage(tryOut,34,51); + province.drawImage(tryOut,51,51); + } + } + setImage(province); + } + } diff --git a/images/Risiko Karte Gimp.xcf b/images/Risiko Karte Gimp.xcf new file mode 100644 index 0000000..cb24a44 Binary files /dev/null and b/images/Risiko Karte Gimp.xcf differ diff --git a/images/Risiko Karte.png b/images/Risiko Karte.png new file mode 100644 index 0000000..988f2f8 Binary files /dev/null and b/images/Risiko Karte.png differ diff --git a/images/Risiko Karte.xcf b/images/Risiko Karte.xcf deleted file mode 100644 index 3f79fd1..0000000 Binary files a/images/Risiko Karte.xcf and /dev/null differ diff --git a/planung/PAP.ods b/planung/PAP.ods deleted file mode 100644 index cc703d5..0000000 Binary files a/planung/PAP.ods and /dev/null differ diff --git a/planung/Programmablaufplan.ods b/planung/Programmablaufplan.ods new file mode 100644 index 0000000..1025ba3 Binary files /dev/null and b/planung/Programmablaufplan.ods differ