Ant Me stürzt dauernd ab.

    • Ant Me stürzt dauernd ab.

      Hi.
      Ich hab mich an der C# Version von AntMe probiert und bei mir stürzt das Programm dauernd ab. Es stürzt aber ers ab, seit dem ich verschiedene Typen deklariert habe. ich stell mal ein bisschen Code rein, wo ich die Ameisen definiere.

      Quellcode

      1. [Typ(
      2. Name = "ObstSammler",
      3. GeschwindigkeitModifikator = 0,
      4. DrehgeschwindigkeitModifikator = 0,
      5. LastModifikator = 0,
      6. ReichweiteModifikator = 0,
      7. SichtweiteModifikator = 0,
      8. EnergieModifikator = 0,
      9. AngriffModifikator = 0
      10. )]
      11. [Typ(
      12. Name = "ZuckerSammler",
      13. GeschwindigkeitModifikator = 0,
      14. DrehgeschwindigkeitModifikator = 0,
      15. LastModifikator = 0,
      16. ReichweiteModifikator = 0,
      17. SichtweiteModifikator = 0,
      18. EnergieModifikator = 0,
      19. AngriffModifikator = 0
      20. )]
      21. [Typ(
      22. Name = "Kundschafter",
      23. GeschwindigkeitModifikator = 0,
      24. DrehgeschwindigkeitModifikator = 0,
      25. LastModifikator = 0,
      26. ReichweiteModifikator = 0,
      27. SichtweiteModifikator = 0,
      28. EnergieModifikator = 0,
      29. AngriffModifikator = 0
      30. )]
      Alles anzeigen


      Hier bestimmt ich mal die Ameisen. Ich weiß, dass alle gleich sind :P

      Quellcode

      1. public static string BestimmeTyp(Dictionary<string, int> anzahl)
      2. {
      3. if(anzahl["ZuckerSammler"] < 40)
      4. return "ZuckerSammler";
      5. if(anzahl["ObstSammler"] <40)
      6. return "ObstSammler";
      7. return "Kundschafter";
      8. }


      Und das ist die Funktion, in der ich eben die Typen zurückgebe

      Alles läuft eigentlich ganz wunderbar, aber nach einer gewissen Zeit - zirka 2 Minuten - stürzt es ab und im Visual Studio wird eine Fehlermeldung gezeigt.

      Was kann das sein, was mach ich falsch. Ich vermute den Fehler auf jedenfall bei den Typen, denn ohne jene geht es einwandfrei
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net
    • BestimmeTyp ist eine Funktion, die den "Typ" einer Ameise bestimmt. Das heißt.

      Wenn weniger als 40 Zuckersammler Ameisen existieren, und eine neue Ameise wird erstellt (man kann maximal 100 Ameisen haben), dann ist diese Ameise eben ein Zuckersammler. wenn 39 Zuckerameisen existieren und weniger als 40 Obstameisen, dann werden eben Obstameisen erstellt und sonst werden Kundschaftler Ameisen erstellt.

      Das AntMe Tutorial erklärt das ganze etwas besser.

      Was die Parameter der Funktion genau bedeuten weiß ich selber nicht. Irgendwie wird die Anzahl übergeben. was das > bzw < vor string bzw anzahl zu bedeuten hat weiß ich auch nicht.

      über der Funktion steht folgendes Kommentar

      Quellcode

      1. /// <summary>
      2. /// Bestimmt den Typ einer neu zu erzeugenden Ameise.
      3. /// </summary>
      4. /// <param name="anzahl">Anzahl der vorhandenen Ameisen pro Typ</param>
      5. /// <returns>Name des Typs</returns>
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net
    • public static string BestimmeTyp(Dictionary<string, int> anzahl)

      public static heißt, es gibt diese Methode nur einmal für diese Klasse. D.h. egal wieviele Objekte erzeugt werden (oder auch garkeins) kann immer auf genau diese Funktion zugreifen.
      string ist einfach der Rückgabewerte - im Normalfall ist string sowas wie ein Char-Array.
      Dictionary ist der Klassentyp der übergeben wird und anzahl ist der Name davon.
      <string, int> bedeutet, dass im Dictionary nur string oder int Werte vorkommen dürfen, aber nicht z.B. ein double, float oder sonstwas.

      Sowas nennt man auch "Generische Klasse". Wird in Java übrigens ab Version 5 (1.5.x) unterstützt.

      EDIT: Es wäre übrigens schön, wenn du sagen würdest, WAS für einen Fehler du bekommst und nicht nur, DASS einer auftritt. ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Retr0Virus ()

    • Mhh komischerweise tritt der Fehler nicht mehr auf, obwohl ich nichts geändert habe.

      Naja ich poste ihn nachträglich rein, fals er nochmal kommt
      James
      [Blockierte Grafik: http://dl.dropbox.com/u/24753690/stuff/forenlinks/rocketsign.png]
      Team Rocket - so schnell wie das Licht,
      gebt lieber auf und bekämpft uns nicht!

      join #teamrocket @iz-smart.net