static void Main(string[] args) { //Nationen Nation Frankreich = new Nation("Frankreich", 20, 3); //Karte 4 auswählen noch basteln! Nation Hannover = new Nation("Hannover", 12, 2); Nation Preußen = new Nation("Preußen", 32, 7); Nation Schweden = new Nation("Schweden", 4, 1); Nation Sachsen = new Nation("Sachsen", 6, 1); //Liste Allies Hannover.allies.add(Preußen); Preußen.allies.add(Hannover); Frankreich.allies.add(Schweden); //für special szenario Schweden.allies.add(Frankreich); //für special szenario Sachsen.allies.add(Schweden, Frankreich); //Städte // 2:=Karo 3:=Herz 5:=Pik 7:=Kreuz Town lx = new Town("Lücke", 0, Schweden); //Lückenfüller //sortiert nach Gebieten //3.1 - Herz(Fr+Ha) von Boppard bis Miltenberg (15) - ready Town Bingen = new Town("Bingen", 3, Frankreich); Town Mainz = new Town("Mainz", 3, Frankreich); Town Wiesbaden = new Town("Wiesbaden", 3, Frankreich); Town Boppard = new Town("Boppard", 3, Frankreich); Town Oppenheim = new Town("Oppenheim", 3, Frankreich); Town Worms = new Town("Worms", 3, Frankreich); Town Mannheim = new Town("Mannheim", 3, Frankreich); Town Bensheim = new Town("Bensheim", 3, Frankreich); Town Darmstadt = new Town("Darmstadt", 3, Frankreich); Town Frankfurt = new Town("Frankfurt", 3, Frankreich); Town Hanau = new Town("Hanau", 3, Hannover); Town Aschaffenburg = new Town("Aschaffenburg", 3, Frankreich); Town Gelnhausen = new Town("Gelnhausen", 3, Frankreich); Town Erbach = new Town("Erbach", 3, Frankreich); Town Miltenberg = new Town("Miltenberg", 3, Frankreich); //5.1 - Pik(Fr) Gemünden bis Erlangen (14) - ready Town Lohr = new Town("Lohr", 5, Frankreich); Town Wertheim = new Town("Wertheim", 5, Frankreich); Town Ochsenfurt = new Town("Ochsenfurt", 5, Frankreich); Town Kitzingen = new Town("Kitzingen", 5, Frankreich); Town Neustadt = new Town("Neustadt", 5, Frankreich); Town Erlangen = new Town("Erlangen", 5, Frankreich); Town Forchheim = new Town("Forchheim", 5, Frankreich); Town Bamberg = new Town("Bamberg", 5, Frankreich); Town Coburg = new Town("Coburg", 5, Frankreich); Town Haßfurt = new Town("Haßfurt", 5, Frankreich); Town Schweinfurt = new Town("Schweinfurt", 5, Frankreich); Town Kissingen = new Town("Kissingen", 5, Frankreich); Town Gemünden = new Town("Gemünden", 5, Frankreich); Town Würzburg = new Town("Würzburg", 5, Frankreich); //7.1 - Kreuz(Fr+Ha) von Olpe bis Nauheim (19) - ready Town Koblenz = new Town("Koblenz", 7, Frankreich); Town Limburg = new Town("Limburg", 7, Frankreich); Town Weilburg = new Town("Weilburg", 7, Frankreich); Town Wetzlar = new Town("Wetzlar", 7, Frankreich); Town Gießen = new Town("Gießen", 7, Frankreich); Town Nauheim = new Town("Nauheim", 7, Frankreich); Town Homburg = new Town("Homburg", 7, Frankreich); Town Betzdorf = new Town("Betzdorf", 7, Frankreich); Town Waldbröll = new Town("Waldbröll", 7, Frankreich); Town Olpe = new Town("Olpe", 7, Frankreich); Town Meschede = new Town("Meschede", 7, Frankreich); Town Siegen = new Town("Siegen", 7, Frankreich); Town Biedenkopf = new Town("Biedenkopf", 7, Frankreich); Town Dillenburg = new Town("Dillenburg", 7, Frankreich); Town Marburg = new Town("Marburg", 7, Hannover); Town Frankenberg = new Town("Frankenberg", 7, Hannover); Town Corbach = new Town("Corbach", 7, Frankreich); Town Wildungen = new Town("Wildungen", 7, Hannover); Town Alsfeld = new Town("Alsfeld", 7, Frankreich); //2.1 - Karo(Fr+Ha+Sa) von Kassel bis Sonneberg (24) - check Town Fritzlar = new Town("Fritzlar", 2, Hannover); Town Hünfeld = new Town("Hünfeld", 2, Frankreich); Town Lauterbach = new Town("Lauterbach", 2, Frankreich); Town Fulda = new Town("Fulda", 2, Frankreich); Town Schlüchtern = new Town("Schlüchtern", 2, Hannover); Fort Kassel = new Fort("Kassel", 2, Hannover, Frankreich); Town Bebra = new Town("Bebra", 2, Hannover); Town Hersfeld = new Town("Hersfeld", 2, Hannover); Town Sontra = new Town("Sontra", 2, Hannover); Town Eschwege = new Town("Eschwege", 2, Hannover); Town Mühlhausen = new Town("Mühlhausen", 2, Frankreich); Town Langensalza = new Town("Langensalza", 2, Sachsen); Town Eisenach = new Town("Eisenach", 2, Frankreich); Town Gotha = new Town("Gotha", 2, Frankreich); Town Erfurt = new Town("Erfurt", 2, Frankreich); Town Sömmerda = new Town("Sömmerda", 2, Frankreich); Town Arnstadt = new Town("Arnstadt", 2, Frankreich); Town Salzungen = new Town("Salzungen", 2, Frankreich); Town Brückenau = new Town("Brückenau", 2, Frankreich); Town Meiningen = new Town("Meiningen", 2, Frankreich); Town Hildburghausen = new Town("Hildburghausen", 2, Frankreich); Town Sonneberg = new Town("Sonneberg", 2, Frankreich); Town Schmalkalden = new Town("Schmalkalden", 2, Hannover); Town Suhl = new Town("Suhl", 2, Frankreich); //3.1 - Herz(Fr+Ha+Pr) von Greven bis Warburg (20/20) Town Iserlohn = new Town("Iserlohn", 3, Frankreich); Town Soest = new Town("Soest", 3, Preußen); Town Lippstadt = new Town("Lippstadt", 3, Frankreich); Town Büren = new Town("Büren", 3, Frankreich); Town Brilon = new Town("Brilon", 3, Frankreich); Town Warburg = new Town("Warburg", 3, Hannover); Town Driburg = new Town("Driburg", 3, Frankreich); Town Paderborn = new Town("Paderborn", 3, Frankreich); Town Detmold = new Town("Detmold", 3, Frankreich); Town Gütersloh = new Town("Gütersloh", 3, Frankreich); Town Münster = new Town("Münster", 3, Frankreich); Town Lemgo = new Town("Lemgo", 3, Frankreich); Town Greven = new Town("Greven", 3, Frankreich); Town Rinteln = new Town("Rinteln", 3, Frankreich); Town Herford = new Town("Herford", 3, Preußen); Town Hamm = new Town("Hamm", 3, Preußen); Town Bielefeld = new Town("Bielefeld", 3, Preußen); Fort Minden = new Fort("Minden", 3, Preußen, Frankreich); Town Osnabrück = new Town("Osnabrück", 3, Frankreich); Town Rheine = new Town("Rheine", 3, Frankreich); //4.1 - Kreuz(FR+Ha+Pr) von Diepholz bis Emden Town Lingen = new Town("Lingen", 7, Preußen); Town Bramsche = new Town("Bramsche", 7, Frankreich); Fort Diebholz = new Fort("Diepholz", 7, Hannover, Frankreich); //2.2 Karo, Nienburg bis Lübeck Town Nienburg = new Town("Nienburg", 2, Hannover); //5.2 - Pik(Ha+Fr+Pr) von Wunstorf bis Nordhausen (4/26) - !!! Town Alfeld = new Town("Alfeld", 5, Hannover); Town Northeim = new Town("Northeim", 5, Hannover); Town Münden = new Town("Münden", 5, Hannover); Fort Göttingen = new Fort("Göttingen", 5, Hannover, Frankreich); Town Hofgeismar = new Town("Hofgeismar", 5, Hannover); Town Holzminden = new Town("Holzminden", 5, Hannover); Town Pyrmont = new Town("Pyrmont", 5, Hannover); Town Wunstorf = new Town("Wunstorf", 5, Hannover); //Nachbarstädte //3.1 - 15 - check Bingen.towns.add(Mainz, Boppard); Mainz.towns.add(Bingen, Wiesbaden, Oppenheim); Wiesbaden.towns.add(Mainz, Limburg, Frankfurt); Boppard.towns.add(Koblenz, Bingen); Oppenheim.towns.add(Mainz, Worms); Worms.towns.add(Oppenheim, Mannheim); Mannheim.towns.add(Bensheim, Worms); Bensheim.towns.add(Darmstadt, Mannheim, Erbach); Darmstadt.towns.add(Frankfurt, Bensheim, Aschaffenburg); Frankfurt.towns.add(Hanau, Wiesbaden, Darmstadt, Homburg); Hanau.towns.add(Frankfurt, Aschaffenburg, Gelnhausen, Nauheim); Aschaffenburg.towns.add(Hanau, Darmstadt, Lohr, Miltenberg); Gelnhausen.towns.add(Schlüchtern, Hanau); Erbach.towns.add(Bensheim, Miltenberg); Miltenberg.towns.add(Erbach, lx); //5.1 - 14 - check Lohr.towns.add(Aschaffenburg, lx); Gemünden.towns.add(Lohr, Würzburg, Kissingen, Schlüchtern); Würzburg.towns.add(Gemünden, Schweinfurt, Wertheim, Kitzingen); Wertheim.towns.add(Miltenberg, Ochsenfurt, Würzburg); Ochsenfurt.towns.add(Wertheim, Kitzingen); Kitzingen.towns.add(Würzburg, Ochsenfurt, Neustadt); Neustadt.towns.add(Kitzingen, Erlangen, Bamberg); Erlangen.towns.add(Neustadt, Forchheim, lx); Forchheim.towns.add(Erlangen, Bamberg); Bamberg.towns.add(Neustadt, Forchheim, Haßfurt, Coburg, lx); Coburg.towns.add(Bamberg, lx); Haßfurt.towns.add(Bamberg, Schweinfurt); Schweinfurt.towns.add(Haßfurt, Würzburg, Kissingen); Kissingen.towns.add(Gemünden, Schweinfurt, lx, lx); //7.1 - 19 - check Koblenz.towns.add(Boppard, Limburg, Betzdorf); Limburg.towns.add(Wiesbaden, Koblenz, Weilburg); Weilburg.towns.add(Limburg, Wetzlar); Wetzlar.towns.add(Weilburg, Wetzlar, Dillenburg); Gießen.towns.add(Wetzlar, Nauheim, Marburg, Lauterbach); Nauheim.towns.add(Gießen, Homburg, Hanau); Homburg.towns.add(Nauheim, Frankfurt); Betzdorf.towns.add(Waldbröll, Siegen, Koblenz); Waldbröll.towns.add(Olpe, Betzdorf); Siegen.towns.add(Olpe, Biedenkopf, Dillenburg, Betzdorf); Biedenkopf.towns.add(Siegen, Marburg); Dillenburg.towns.add(Siegen, Marburg, Wetzlar); Marburg.towns.add(Biedenkopf, Dillenburg, Gießen, Alsfeld, Frankenberg); Alsfeld.towns.add(Marburg, Fritzlar, Hünfeld, Lauterbach); Frankenberg.towns.add(Corbach, Wildungen, Marburg); Corbach.towns.add(Frankenberg, lx, lx); Wildungen.towns.add(Frankenberg, Fritzlar); Meschede.towns.add(Olpe, lx); Olpe.towns.add(Meschede, Waldbröll, Siegen, Iserlohn); //2.2 - 24 - check Fulda.towns.add(Schlüchtern, Lauterbach, Hünfeld, Brückenau); Schlüchtern.towns.add(Gelnhausen, Fulda, lx); Fritzlar.towns.add(Alsfeld, Kassel, Wildungen); Kassel.towns.add(Fritzlar, Münden, lx, lx); Lauterbach.towns.add(Fulda, Gießen, Alsfeld); Hünfeld.towns.add(Fulda, Alsfeld, Salzungen, Hersfeld); Eschwege.towns.add(lx, Göttingen, Sontra); Mühlhausen.towns.add(lx, lx, Langensalza); Sontra.towns.add(Eschwege, Eisenach, Bebra); Langensalza.towns.add(Mühlhausen, Gotha); Bebra.towns.add(Kassel, Sontra, Hersfeld, Salzungen); Eisenach.towns.add(Sontra, Gotha, Salzungen); Sömmerda.towns.add(lx, Erfurt); Gotha.towns.add(Langensalza, Erfurt, Eisenach); Erfurt.towns.add(Sömmerda, Gotha, Arnstadt, lx); Hersfeld.towns.add(Bebra, Hünfeld); Salzungen.towns.add(Eisenach, Bebra, Hünfeld, Schmalkalden, Meiningen); Arnstadt.towns.add(Erfurt, lx); Meiningen.towns.add(Suhl, Salzungen, Hildburghausen, Kissingen); Suhl.towns.add(Schmalkalden, Meiningen); Brückenau.towns.add(Fulda, Kissingen); Hildburghausen.towns.add(Meiningen, Sonneberg); Sonneberg.towns.add(Hildburghausen, lx, Coburg, lx); Schmalkalden.towns.add(Salzungen, Suhl); //3.2 - 2/... - Iserlohn.towns.add(Olpe, Soest); Soest.towns.add(Iserlohn, Hamm, Lippstadt); Hamm.towns.add(Münster, Gütersloh, Soest); Lippstadt.towns.add(Soest, Büren); Büren.towns.add(Lippstadt, Paderborn, Brilon); Brilon.towns.add(Corbach, Meschede, Büren); Warburg.towns.add(Corbach, Hofgeismar, Paderborn); Paderborn.towns.add(Driburg, Paderborn, Holzminden); Münster.towns.add(Gütersloh, Hamm, Greven); Gütersloh.towns.add(Münster, Bielefeld, Hamm, Paderborn); Detmold.towns.add(Paderborn, Pyrmont); Bielefeld.towns.add(Gütersloh, Herford); Lemgo.towns.add(Pyrmont, Herford); Greven.towns.add(Rheine, Osnabrück, Münster); Herford.towns.add(Lemgo, Bielefeld, Minden, Osnabrück); Rinteln.towns.add(Lemgo, Minden); Rheine.towns.add(Greven, Osnabrück, Lingen); Osnabrück.towns.add(Rheine, Greven, Herford, Minden, Diebholz); Osnabrück.towns.add(Bramsche); //Osnabrück hat 6 Nachbarn Oo Minden.towns.add(Rinteln, Herford, Osnabrück, Wunstorf, Nienburg); //5.2 - 4/... - Alfeld.towns.add(Northeim, lx, lx); Northeim.towns.add(Alfeld, Göttingen, lx, lx); Göttingen.towns.add(Northeim, Münden, lx, lx, lx); Münden.towns.add(Kassel, Göttingen); //Hauptstraßen //Von Worms, mit Kringel nach Göttingen Worms.mainStreet.add(Oppenheim, Mannheim); Oppenheim.mainStreet.add(Worms, Mainz); Mainz.mainStreet.add(Oppenheim, Wiesbaden); Wiesbaden.mainStreet.add(Mainz, Frankfurt); Frankfurt.mainStreet.add(Wiesbaden, Hanau, Darmstadt, Homburg); Darmstadt.mainStreet.add(Frankfurt, Bensheim); Bensheim.mainStreet.add(Darmstadt, Mannheim); Mannheim.mainStreet.add(Worms, Bensheim); Homburg.mainStreet.add(Nauheim, Frankfurt); Nauheim.mainStreet.add(Homburg, Gießen); Gießen.mainStreet.add(Nauheim, Wetzlar, Marburg); Wetzlar.mainStreet.add(Gießen); Marburg.mainStreet.add(Gießen, Alsfeld); Alsfeld.mainStreet.add(Marburg, Fritzlar); Fritzlar.mainStreet.add(Kassel, Alsfeld); Kassel.mainStreet.add(Fritzlar, Münden); Münden.mainStreet.add(Kassel, Göttingen); Göttingen.mainStreet.add(Münden, Northeim); Northeim.mainStreet.add(Göttingen, Alfeld); Alfeld.mainStreet.add(Northeim, Pyrmont); //Olpe bis Pyrmont Olpe.mainStreet.add(Iserlohn); Iserlohn.mainStreet.add(Olpe, Soest); Soest.mainStreet.add(Iserlohn, Hamm); Hamm.mainStreet.add(Soest, Gütersloh); Gütersloh.mainStreet.add(Hamm, Bielefeld); Bielefeld.mainStreet.add(Gütersloh, Herford); Herford.mainStreet.add(Bielefeld, Lemgo); Pyrmont.mainStreet.add(Lemgo, Alfeld, lx); General Cumberland = new General("Cumberland", Alfeld, Hannover); General Chevert = new General("Chevert", Iserlohn, Frankreich); General Soubise = new General("Soubise", Fulda, Frankreich); General Richelieu = new General("Richelieu", Iserlohn, Frankreich); General GeneralHildburghausen = new General("Hildburghausen", Hildburghausen, Sachsen); //kann nicht Hildburghausen heißen, da die stadt schon so heißt... :( General TestG = new General("TestG", Kassel, Frankreich); //Du kannst den String so nennen... nur die Variable nicht ;) //Tests //System.Console.WriteLine(Koblenz.towns.resultString()); //System.Console.WriteLine(Wiesbaden.towns.resultString()); //System.Console.WriteLine(Dillenburg.reachDefense(3).resultString()); //System.Console.WriteLine(Wiesbaden.reachDefense(2).resultString()); //System.Console.WriteLine(Wiesbaden.reachDefense(1).resultString()); //System.Console.WriteLine(Frankreich.generals.resultString()); //System.Console.WriteLine(Hannover.generals.resultString()); //System.Console.WriteLine(Preußen.generals.resultString()); //System.Console.WriteLine(Schweden.generals.resultString()); //System.Console.WriteLine(Schweden.allies.resultString()); //System.Console.WriteLine(Fulda.towns.resultString()); //System.Console.WriteLine(Worms.reachSupply(6,Frankreich).resultString()); //System.Console.WriteLine(Iserlohn.inTown.resultString()); //System.Console.WriteLine(Kassel.reachSupply(15, Frankreich).resultString()); //15 schaffe ich in unter 20 sek :) aber 20 dauert länger als 7 min (hab da abgebrochen), aber wir brauchen ja max. 6 ;) //System.Console.WriteLine(Kassel.reachMove(12, Hannover).resultString()); /* System.Console.WriteLine(TestG.currentMovePoints+" "+ TestG.position.reachMove(12, Frankreich).resultString()); System.Console.WriteLine(Kassel.reachDefense(3, Hannover)); TestG.move(Münden); TestG.move(Göttingen); TestG.move(Northeim); System.Console.WriteLine(Kassel.conquered); General TestG2 = new General("TestG2", Fritzlar, Hannover); TestG2.move(Kassel); TestG2.move(Fritzlar); System.Console.WriteLine(Kassel.conquered);*/ Listing Liste = new Listing(1); System.Console.WriteLine(Liste.resultString()); Liste.shuffle(); System.Console.WriteLine(Liste.resultString()); Liste.shuffle(); System.Console.WriteLine(Liste.resultString()); Liste.shuffle(); System.Console.WriteLine(Liste.resultString()); Liste.shuffle(); System.Console.WriteLine(Liste.resultString()); System.Console.ReadKey(); }
//ähnlich wie reachSupply //reachMovePoints: Anzahl restlicher Bewegungspunkte der Einheit, Kosten: 4 für Straßen, nur 3 für Hauptstraßen public Listing reachMove(int reachMovePoints, Nation nationOfGeneral) { Town tow; Listing result = new Listing(); ListElement a = mainStreet.head; int unitType; //0:Kein Gegner, 1:ein eigener General, 2:zwei eigene Generäle, 3:drei eigene Generäle, 4:Verbündeter, 5:gegnerischer Tross, 6:gegnerischer General, negative Werte: Fehler if (reachMovePoints >= 3) //HauptstraßenTeil { while (a.next != null) { a = a.next; if (a.data.GetType() == typeof(Town) || a.data.GetType() == typeof(Fort)) { tow = (Town)a.data; unitType = tow.unitTypeInTown(nationOfGeneral); if (((unitType >= 0 && unitType <= 2) || unitType == 5) && !result.search(a.data)) //Der General darf in die Stadt laufen result.add(a.data); if (unitType == 0) result.add(tow.reachMove(reachMovePoints - 3, nationOfGeneral)); if (unitType < 0) System.Console.WriteLine("Warnung: Die reachMove Methode hatte Probleme den stationierten Einheiten in der Stadt " + tow.name + " zu finden(HauptstraßenTeil)"); } } } a = towns.head; if(reachMovePoints >= 4) //Nebenstraßenteil { while (a.next != null) { a = a.next; if ((a.data.GetType() == typeof(Town) || a.data.GetType() == typeof(Fort)) && !this.mainStreet.search(a.data)) { tow = (Town)a.data; unitType = tow.unitTypeInTown(nationOfGeneral); // System.Console.WriteLine("NebenstraßenTeil reachMove in " + this.name + " unitType der Stadt "+ tow.name+" ist " + unitType+" movePoints: "+ reachMovePoints); if (((unitType >= 0 && unitType <= 2) || unitType == 5) && !result.search(a.data)) //Der General darf in die Stadt laufen result.add(a.data); if (unitType == 0) //Wenn die Stadt leer ist, dann schaue weiter { // System.Console.WriteLine("Z476: "+tow.name+": "+t.resultString()); result.add(tow.reachMove(reachMovePoints - 4, nationOfGeneral)); } if (unitType < 0) System.Console.WriteLine("Warnung: Die reachMove Methode hatte Probleme den stationierten Einheiten in der Stadt " + tow.name + " zu finden(NebenstraßenTeil)"); } } } return result; }
//ähnlich wie reachDefense, nur schaut es, ob gegnerische Charaktere den Nachschub blockieren public Listing reachSupply(int distance, Nation nationOfGeneral) { Town tow; Listing result = new Listing(); if (distance > 0) { ListElement a = towns.head; ListElement b; Character cha; bool isEnemyInTown; while (a.next != null) { a = a.next; isEnemyInTown = true; if (!result.search(a.data)) { result.add(a.data); } if (distance > 1) { if (a.data.GetType() == typeof(Town) || a.data.GetType() == typeof(Fort)) { tow = (Town)a.data; b = tow.inTown.head; if (b.next == null) isEnemyInTown = false; while (b.next != null) { b = b.next; cha = (Character)b.data; if (cha.nation == nationOfGeneral || nationOfGeneral.allies.search(cha.nation)) isEnemyInTown = false; } if (!isEnemyInTown) result.add(tow.reachSupply(distance - 1, nationOfGeneral)); } } } } return result; }
//Völlig überarbeitet, gibt jetzt aus: true: wenn Fort verteidigt wird, false, wenn nicht public bool reachDefense(int distance, Nation defendNation) { Town tow; Listing result = new Listing(); if (distance > 0) { ListElement a = towns.head; while (a.next != null) { a = a.next; if (a.data.GetType() == typeof(Town) || a.data.GetType() == typeof(Fort)) { tow = (Town)a.data; if (unitTypeInTown(defendNation) <= 3 && unitTypeInTown(defendNation) >= 1) return true; if (distance > 1) { if (tow.reachDefense(distance - 1, defendNation) == true) return true; } } } } return false; }
public Town(String newName, int newTacticalColor, Nation newNation) { id = counter; counter++; name = newName; tacticalColor = newTacticalColor; nation = newNation; towns = new Listing(); inTown = new Listing(); mainStreet = new Listing(); }
public Nation(String newName, int newMaxArmy, int newCardsPerRound) { generals = new Listing(); forts = new Listing(); cards = new Listing(); startTowns = new Listing(); allies = new Listing(); name = newName; maxArmies = newMaxArmy; cardsPerRound = newCardsPerRound; }
//mischt eine Liste zufällig durch public void shuffle() { ListElement lisE; Random random = new Random(); int position; int oldNumber = this.number; Listing lis = new Listing(); lis.head.next = this.head.next; this.head.next = null; this.number = 0; for (int i = oldNumber; i > 0; i--) { position = random.Next(1, i+1); lisE = lis.head; for (int j = 1; j <= position; j++) { lisE = lisE.next; } this.add(lisE.data); lis.remove(lisE.data); } }
//Methode um ganze Listen zusammenzufügen public void add(Listing newListing) { ListElement temp = newListing.head; while (temp.next != null) //solange temp nicht das letzte Listenelement ist, dann { temp = temp.next; //gehe zum nächsten Listenelement if (!this.search(temp.data)) this.add(temp.data); //und füge dessen data zur eigentlichen Liste hinzu } }