From 191c4e9e24b230c8ad0fb4f3ec86bb3a85bfead0 Mon Sep 17 00:00:00 2001 From: Zocker1999NET Date: Wed, 29 Jun 2016 19:48:42 +0200 Subject: [PATCH] =?UTF-8?q?Vereinfachung=20bei=20initProvinces=20(fehlerfr?= =?UTF-8?q?ei)=20Diese=20Vereinfachung=20fasst=20die=20Daten=20der=20Provi?= =?UTF-8?q?nzen=20zum=20Besitzer=20und=20zur=20Einheitenanzahl=20in=20ein?= =?UTF-8?q?=20Array=20namens=20dataL=20zusammen.=20Bisher=20ist=20der=20al?= =?UTF-8?q?te=20Code=20noch=20im=20Einsatz,=20eine=20For-Schleife=20=C3=BC?= =?UTF-8?q?berpr=C3=BCft=20bisher=20nur=20den=20Inhalt=20des=20dataL-Array?= =?UTF-8?q?s=20mit=20den=20vom=20alten=20Code=20gegeben=20Daten.=20Sp?= =?UTF-8?q?=C3=A4ter,=20sobald=20feststeht,=20dass=20die=20Arrays=20korrek?= =?UTF-8?q?t=20erzeugt=20werden,=20der=20Pr=C3=BCfcode=20durch=20einen=20C?= =?UTF-8?q?ode=20ersetzt=20werden,=20der=20die=20Daten=20des=20Arrays=20ve?= =?UTF-8?q?rwendet=20und=20den=20Provinzen=20=C3=BCbergibt.=20Damit=20werd?= =?UTF-8?q?en=20die=20langen=20Zeilen=20dann=20ersetzt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GeneralMap.java | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/GeneralMap.java b/GeneralMap.java index 5cf4c62..0fc3ce3 100644 --- a/GeneralMap.java +++ b/GeneralMap.java @@ -95,14 +95,21 @@ public abstract class GeneralMap extends World implements ButtonEvent /* Legt die Startprovincen der Spieler fest. */ - int[] ownerL; - int[] entitiesL; + int[] dataL = new int[(provinces.length-1)*2]; + /* + dataL speichert folgende Daten: + 0. Spieler-ID des Besitzers (Provinz 1) + 1. Einheitenanzahl (Provinz 1) + 2. Spieler-ID des Besitzers (Provinz 2) + 3. [...] + */ if(players.length==3) { /* Spieler 1 darf beginnen; Hauptstadt: 40 Spieler 2 ist als zweites dran; Hauptstadt: 20 Spieler 3 ist als drittes dran und bekommt eine Karte; Hauptstadt: 9 */ + dataL = new int[] {1,1,3,2,2,2,2,1,1,1,1,1,3,2,1,1,3,4,3,1,2,2,1,2,1,2,3,3,3,3,3,3,1,1,2,2,2,4,2,3,1,1,3,4,1,2,3,4,2,2,2,1,3,1,1,3,1,3,1,4,3,1,2,1,2,1,1,2,2,2,3,1,2,2,2,4,2,3,1,4,3,1,1,2}; provinces[1].setOwner(1); provinces[1].setEntityCount(1); provinces[2].setOwner(3); @@ -194,6 +201,7 @@ public abstract class GeneralMap extends World implements ButtonEvent Spieler 3 ist als drittes dran und bekommt eine Karte; Hauptstadt:2 Spieler 4 ist als viertes dran und bekommt eine Karte; Hauptstadt:39 */ + dataL = new int[] {1,1,3,3,3,3,3,2,3,2,3,3,2,2,1,2,2,2,3,2,2,3,3,2,2,3,1,3,1,3,1,3,3,2,4,2,2,4,2,4,1,1,1,2,1,5,1,3,2,2,4,3,4,1,4,2,2,2,2,2,4,1,2,1,4,5,3,2,3,2,3,2,4,1,4,1,4,4,4,1,1,2,4,4}; provinces[1].setOwner(1); provinces[1].setEntityCount(1); provinces[2].setOwner(3); @@ -286,6 +294,7 @@ public abstract class GeneralMap extends World implements ButtonEvent Spieler 4 ist als viertes dran und bekommt eine Karte; Hauptstadt:20 Spieler 5 ist als fünftes dran und bekommt zwei Karte; Hauptstadt:41 */ + dataL = new int[] {3,1,1,2,4,2,2,2,2,2,2,2,2,4,4,1,2,2,4,1,4,3,3,1,1,4,1,2,3,3,1,2,2,3,4,2,4,5,4,3,2,2,3,5,3,3,1,2,3,3,3,2,2,3,5,2,5,3,5,3,1,3,1,3,4,1,5,1,5,1,5,2,3,2,4,2,5,2,1,2,5,4,5,2}; provinces[1].setOwner(3); provinces[1].setEntityCount(1); provinces[2].setOwner(1); @@ -371,6 +380,31 @@ public abstract class GeneralMap extends World implements ButtonEvent provinces[42].setOwner(5); provinces[42].setEntityCount(2); } + int errors = 0; + for(int i = 1; i < provinces.length; i++) { + Province p = provinces[i]; + int oI = (i-1)*2; // ownerID inside dataL + int eI = oI+1; // entitiesCountID inside dataL + // Dieser Code überprüft die Datenliste mit den Daten, die die alte Methode (mit den vielen Zeilen) bereits hinterlegt haben sollte. Nur für Debugging! + if(p.getOwner() != dataL[oI]) { + errors++; + showDialog("dataL-Index " + oI + ", got " + dataL[oI] + ", expected " + p.getOwner()); + } else if(p.getEntityCount() != dataL[eI]) { + errors++; + showDialog("dataL-Index " + eI + ", got " + dataL[eI] + ", expected " + p.getEntityCount()); + } + } + if(errors == 0) { + showDialog("No errors found!"); + } + } + + /** + Zeigt die angegebene Nachricht in einem JOptionPane Dialogfeld an. + @param msg Die anzuzeigende Nachricht + */ + private void showDialog(String msg) { + JOptionPane.showMessageDialog(null,msg); } public void act() {