Benutzer mit den meisten Antworten
Visual-Basic Version?

Frage
Antworten
-
Hi CitrixOlm,
nein, wir arbeiten dran, das Problem war wie immer die Zeit. Als alter VB-Fan (sein Version 1.0! Echt!) kann ich auch nicht damit leben daß es noch keine VB-Version gibt... also immer mal wieder hier gucken, sollte nicht mehr lang dauern...
Liebe Grüße,
Uwe
Dienstag, 7. November 2006 13:55
Alle Antworten
-
Hi CitrixOlm,
nein, wir arbeiten dran, das Problem war wie immer die Zeit. Als alter VB-Fan (sein Version 1.0! Echt!) kann ich auch nicht damit leben daß es noch keine VB-Version gibt... also immer mal wieder hier gucken, sollte nicht mehr lang dauern...
Liebe Grüße,
Uwe
Dienstag, 7. November 2006 13:55 -
Grüß dich!
Also wenns dir zu lange dauert zu warten und du schon ein bisschen Erfahrung mit Klassenprogrammierung und ähnlichem hast kannst du dir im Grunde schon selbst weiter helfen.
Was du wissen musst ist, dass du für eine Ameisen-KI eine Klasse erstellen musst die von der "Urameisen"-Klasse erbt. Die Urklasse kannst du im Simulations-Assembly finden, indem du die passende DLL als Referenz in ein neues VB-Projekt hinzufügst.
Weiter ist noch wichtig, dass die Klasse über die Attribute "Spieler" und mindestens einem Attribut "Typ" verfügt.
Falls dus versuchen willst aber meine Beschreibung zu knapp war kann ich eine etwas ausführlichere Beschreibung posten - lass es mich einfach wissen.
Viele Grüße
vom TomMittwoch, 8. November 2006 01:14 -
Hi Tom.
Hab leider noch das Problem, das ich die Anwendung nicht erstellen kann (siehe anderer Post von mir). Wenn ich soweit bin , das ich AntME mal ans laufen bekomme, komme ich gerne auf Dein Angebot zurück. Bin zwar NewBee, was OOP angeht (komme aus der prozeduralen Entwicklung), aber ich lerne schnell. ;-)
Habe übrigens schon die Arbeitkollegen "heiß" gemacht auf AntMe, alles wartet, dass es bei mir läuft und wir anfangen können, unsere Völker zu designen.Mittwoch, 8. November 2006 12:52 -
Schönen, guten Morgen.
Schande über mich für die lange Wartezeit obwohl ich geschrieben habe, dass es soooo einfach ist. Nuuun, ich war jetzt auch ein paar Minuten damit beschäftigt die Klasse zu bauen - mit VB-Handbuch vor mir ;-)
Das hier wird jetzt ein kleines Tutorial wie man sich schnell mal eben eine eigene VB-Version des Templates bauen kann. Ich hoffe es ist ausführlichst genug:
Schritt 1:
Man ergattere sich den Einsteiger-Kit des AntMe-Projekts
Schritt 2:
Man erstelle ein neues VB-Projekt in Visual Studio. Vorzugsweise eine Klassenbibliothek.
Schritt 3:
Man speichere das Projekt an einem beliebigen Ort und kopiert erstmal die nötigen Dateien aus dem Einsteiger-Kit in das neue VB-Projekt. Das ist im Grunde der komplette "lib"-Ordner im Verzeichnis "AntMeSpielerCS" des Einsteiger-Kits. Diesen Ordner kopiert man entsprechend in das neue Projektverzeichnis.
Schritt 4:
Man importiert die nötigen Referenzen in das neue VB-Projekt durch Rechtsklick auf das Projekt im Projekt-Explorer rechts oben (Visual Studio) und "Referenz hinzufügen". Es wird eine Referenz auf die Datei "AntMe.Plugin.dll" und "AntMe.Plugin.Simulation.dll" benötigt. Beide bitte einfügen.
Schritt 5:
AntMe-Namespace importieren, eigene Klasse von der "Ameise"-Klasse ableiten, die ganzen Methoden überschreiben, Attribute für Spieler und Ameisentypen einfügen. Ich hab das schon mal vorbereitet - also einfach den vorhandenen Code der neuen Klasse mit folgenden Code überschreiben:
Imports AntMe
<Spieler( _
Name:="Testameisen", _
Vorname:="Tom", _
Nachname:="Wendel" _
)> _
<Typ( _
Name:="", _
GeschwindigkeitModifikator:=0, _
DrehgeschwindigkeitModifikator:=0, _
EnergieModifikator:=0, _
LastModifikator:=0, _
ReichweiteModifikator:=0, _
SichtweiteModifikator:=0 _
)> _
Public Class Tom
Inherits Ameise
Public Sub New(ByVal volk As Volk, ByVal typ As Integer)
MyBase.New(volk, typ)
End Sub
Public Overrides Sub GreiftAn(ByVal käfer As AntMe.Käfer)
End Sub
Public Overrides Sub IstMüde()
End Sub
Public Overrides Sub IstUnterwegs()
End Sub
Public Overloads Overrides Sub Sieht(ByVal käfer As AntMe.Käfer)
End Sub
Public Overloads Overrides Sub Sieht(ByVal markierung As AntMe.Markierung)
End Sub
Public Overloads Overrides Sub Sieht(ByVal obst As AntMe.Obst)
End Sub
Public Overloads Overrides Sub Sieht(ByVal zucker As AntMe.Zucker)
End Sub
Public Overrides Sub Wartet()
Me.GeheGeradeaus(10)
End Sub
Public Overloads Overrides Sub ZielErreicht(ByVal obst As AntMe.Obst)
End Sub
Public Overloads Overrides Sub ZielErreicht(ByVal zucker As AntMe.Zucker)
End Sub
End Class
Klassenname, Namespacename und Attributeinstellungen können natürlich beliebig geändert werden. Kann ja nicht jeder so heißen wie ich :-D
Schritt 6:
Man kompiliere das Projekt zu einer dll, tataaaaMittwoch, 22. November 2006 12:34 -
Wie kann ich z.B. in der Sieht(Zucker) Routine abprüfen, was das aktuelle Ziel meiner Ameise ist? Also z.B.:
Public Overloads Overrides Sub Sieht(ByVal zucker As Zucker)
If (Ziel Is Käfer) Then Exit Sub
End Sub
Hier kommt unter VB.Net immer die Fehlermeldung "<Käfer> ist ein Typ und kann nicht als Ausdruck verwendet werden".
Also meine Frage: Was mache ich falsch? Wie geht es richtig? Ich bin für jede Hilfe dankbar.
MichaelDienstag, 16. Januar 2007 21:36 -
hallihallo
sind zwar meine ersten schritte mit vb
aber mit:
If (Me.ErzeugeInfo.Zustand = Plugin.InsektenZustandInfo.GreiftKäferAn) Then Exit Sub
müsste es eigentlich auch gehen.
Kruza
PS: für Neulinge ist das vb-tutorial ganz schön schwer, habs aber irgendwie geschafftSamstag, 17. Februar 2007 20:40 -
Hi Michael,
um deine Frage - zuzugeben etwas spät - zu beantworten:
Dein Ansatz ist nicht schlecht. So in etwa funktioniert das auch. Unter VB ist die Syntax dafür aber etwas anders. Da sagt man
if (TypeOf Ziel Is Käfer) then
Der Weg über den Zustand funktioniert zwar, ist aber eigentlich nicht gewollt. Der freie Zugriff auf den Zustand ist eher ein Bug und wird in den kommenden Versionen nicht mehr erlaubt sein.
Hab Spaß
Tom
Montag, 5. März 2007 14:30 -
Hallo,
ich als VB.Net-Beginner würde mich auch gerne mit den Ameisen beschäftigen.
Die Schritte, die Tom beschrieben hat, habe ich auch durchgeführt und somit nun eine DLL erhalten.
Aber nun stehe ich etwas auf dem Schlauch. Wie geht es denn weiter? Meine Kenntnisse über das Einbinden und Aufrufen von DLL's sind quasi bisher nicht vorhanden.
Es wäre nett, wenn mir hier jemand helfen könnte.
Danke im Voraus!
Viele Grüße
ComputerFeeFreitag, 9. März 2007 13:28 -
Moin, moin ComputerFee.
Wenn du eine DLL hast ist der Krieg schon so gut wie gewonnen :-)
Du brauchst diese Datei nur noch im AntMe-Starter auszuwählen und schon wird simuliert. Um den Starter zu erhalten lädst du dir am besten das Einsteigerpaket für C# herunter und wirfst mal einen Blick in das Verzeichnis "lib". Dort drinnen solltest du eine AntMe.exe und eine Menge anderer DLLs finden. Diese Sammlung von Dateien brauchst du um AntMe ohne Entwicklungsumgebung zu starten.
Wenn du also diese AntMe.exe ausführtst startet AntMe. auf dem Tab "Simulation" gibts unten einen "Durchsuchen..."-Knopf der dir erlaubt eine DLL-Datei auszuwählen. Suche dir dort deine erstellte DLL und deine Ameise sollte dann in der Volk-Liste weiter oben auftauchen. Dort kannst du dein Volk dann auswählen und starten.
Ach übrigens: Herzlichen Glückwunsch zur ersten Ameise und ich drück dir die Daumen für eine gute Punktezahl.
Viele Grüße
TomMontag, 12. März 2007 17:01 -
So, jetzt hab ich meine dll. Wie ich das verstehe muss man jetz da seinen code reinschreiben. Na ich newbie bin hab ich mich erstmal ans tutorial gehalten. Also den code Tom reinkopiert und dann losgelegt. Aber schon bei dem Last sagt es mir irgenwas von AntMe.Insekt.last is not accessible because it is Private. Das mag alles richtig sein, aber wie bekomme ich das zum laufen.Ich find nämlich das das alles schon ziemlich cool aussieht... Naja, ich hoffe dass dann am 6.4 (war das nich das release date?) dann ne "richtige" vb version kommt.
Chiao
LeonSamstag, 31. März 2007 23:16 -
Hi Leon,
ich hab jetzt etwas Schwierigkeiten das nachzuvollziehen. Ich hab beim VB-Tutorial oben wirklich alles gegeben ;-)
Warte am besten noch die 2 Tage auf die neue Version. In der kommenden Version haben sich ohnehin ein paar kleine Funktionsnamen geändert, deshalb ist es vermutlich weniger kompliziert wenn du gleich mit der neuen Version startest.
Viele Grüße
Tom
Dienstag, 3. April 2007 08:28