Ameise selbst nummieren

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ameise selbst nummieren

      Ich benutze die Einsteiger Version mit Visual Basic 2010.

      Da ich nicht direkt auf die ID der Ameise zugreifen kann, möchte ich jede Ameise selbst nummieren, weiß aber nicht wie ich dies bewerkstelligen kann.

      Ich kann zwar eine Variable (z. B. Nr) öffentlich zugänglich machen, und diese immer um 1 erhöhe (Nr=Nr+1) aber wie weise ich die Variable Nr nun jeder Ameise zu?

      Gruß

      Tanja
    • Ungetestet
      Direkt durchnummerieren kannst du sie nicht, aber du kannst sie in eine Liste packen und mit einer Nummer auf jede einzelne Ameise zugreifen.

      Quellcode

      1. ...
      2. Private Shared Ameisenliste as List(of HierKlassennameeinfügen)
      3. ...
      4. Public Overrides Function BestimmeKaste(ByVal anzahl As Dictionary(Of String, Integer)) As String
      5. ...
      6. Ameisenliste.Add(Me)
      7. ...
      8. End Function
      Alles anzeigen

      Jetzt kannst du z.B mit Ameisenliste.Item(Nummer) auf eine Ameise zugreifen (um Laufzeitfehler zu vermeiden solltest du sicherstellen, dass die Ameise mit der Nummer existiert)
      MUH!
    • Danke, aber ich möchte, dass die jeweilige Ameise sich selbst identifizieren kann.

      Zur Zeit: Sobald irgendeine Ameise ein Zuckerberg gesehen hat, wird der Standort (in ArrayList) gespeichert, und der jeweils nächstliegene Zuckerberg wird an die "Zuckerameise" über den "Tick" mitgeteilt, wenn diese kein Ziel ist und keine Last trägt.

      Es funktioniert auch, aber alle Zuckerameisen laufen zum Zuckerberg, auch wenn nur noch Zucker für z. B. 2 Ameisen übrig sind, da der Zuckerberg noch immer da ist. Ich wollte, dass der Zucker auf die Zuckerameisen gleich zugeordnet wird, sobald eine Ameise wieder keine Ziel und keine Last hat, soll er den nächsten Zuckerberg abfragen, und sofort seinen Anteil "reservieren". Dies kann ich aber nur, wenn ich die jeweilige Ameise eindeutig zuordnen kann, denn ich muss schließlich auch überprüfen können, ob die Ameise überhaupt noch am Leben ist. Wenn ich z. B. die Löschung der Koordinaten des Zuckerberges vornehme, wenn z. B. nur noch eine Menge von 10 übrig ist und die Ameise los schicken, diese aber stirbt, wird der Zuckerberg nie abgetragen. Deshalb wollte ich neben den Koordinationen auch die jeweilige Ameisenr. speichert, und über diese den Gesundheitszustand abfragen, außerdem kann die Ameise Ihr Ziel jederzeit neu Abfragen, wenn dieses wg. Wanze oder Müdigkeit das Ziel ändern musste. So in der Art Me.Nr