AntMe Problem



  • Mahlzeit zusammen!

    Ich habe mal angefangen mit AntMe. Allerdings nich in C# wie es wohl weit verbreitet ist sondern in C++/CLI.

    (Auf http://www.codeplex.com/AntMe/ gibts das bevor wieder jemand sagt ich würde c# meinen.) Mein Problem ist nun, dass die ganzen Tutorials alle für C# sind und ich natürlich nu alles umsetzen muss. Was teilweise kein problem ist und teilweise aber auch recht schwer zumal ich ich gerade mal nen anfänger bin.

    Folgendes problem stellt sich mir immoment:

    public ref class Koordinatenspeicher {
    			private	static ArrayList^ zuckerKoordinaten = new ArrayList();
    			private	static ArrayList^ obstKoordinaten = new ArrayList();
    			private	static ArrayList^ gelöschteKoordinaten = new ArrayList();
    			};
    

    Gibt mir folgende Fehlermeldung:

    error C3379: 'AntMe::Spieler::MeineAmeise::Koordinatenspeicher': Eine geschachtelte Klasse kann keinen Assembler-Zugriffsspezifizierer als Teil seiner Deklaration haben
    error C2144: Syntaxfehler: 'System::Collections::ArrayList' sollte auf ':' folgen
    Syntaxfehler: 'System::Collections::ArrayList' sollte auf ':' folgen
    Syntaxfehler: 'System::Collections::ArrayList' sollte auf ':' folgen
    

    Wäre für hilfe recht dankbar 🙂

    Mfg Phil



  • versuchs halt ma mit List<T> vll funkt damit



  • nach dem "private" fehlt der "Doppelpunkt"... und "new" durch "gcnew" ersetzen... aber statische erzeugeung von Objekten ohne Konstruktor ist in C++/CLI nicht möglich. Schreibe einen statischen Konstruktor und füge die Zeilen dort ein...

    IMHO macht es keinen Sinn Antme mit C++/CLI zu machen... Warum nimmst Du nicht C#?



  • pat94 schrieb:

    versuchs halt ma mit List<T> vll funkt damit

    Wie genau meinst das? Bin wie gesagt noch blutiger anfänger. 😕



  • Jochen Kalmbach schrieb:

    IMHO macht es keinen Sinn Antme mit C++/CLI zu machen... Warum nimmst Du nicht C#?

    Naja weil ich mich in c++ einarbeiten will und Antme dafür eigentlich nich schlecht ist. Mir sind leider sonst keine ähnlichen Projekte bekannt die in c++ sind.
    Lasse mich aber gern eines besseren belehren 🙂



  • ThePhil schrieb:

    Jochen Kalmbach schrieb:

    IMHO macht es keinen Sinn Antme mit C++/CLI zu machen... Warum nimmst Du nicht C#?

    Naja weil ich mich in c++ einarbeiten will und Antme dafür eigentlich nich schlecht ist. Mir sind leider sonst keine ähnlichen Projekte bekannt die in c++ sind.
    Lasse mich aber gern eines besseren belehren 🙂

    C++/CLI ist aber nicht C++.



  • Ja ich weiss danke hatte nur das cli vergessen.



  • Gut schon wieder ich ^^
    Versuch gerade nen constructor zu hin zu bekommen sieht auch alles nich schlecht aus(Der Fehlermeldunge nach zu Urteilen) sind jetzt nur noch 3 😃

    error C2143: Syntaxfehler: Es fehlt ';' vor 'private'
    error C2143: Syntaxfehler: Es fehlt ';' vor 'private'
    error C2143: Syntaxfehler: Es fehlt ';' vor 'private'
    
    ref class Koordinatenspeicher {
    private:
    	static int i = 0;
    	static Koordinatenspeicher() {
    		Console::WriteLine("in static constructor");
    		i=9;
    	}
    public:
    	static void Hirn() {
    		i++;
    		Console::WriteLine(i);
    	}
    };
    int main() {
    	Koordinatenspeicher::Hirn();
    			private: ArrayList^ zuckerKoordinaten = gcnew ArrayList();
    			private: ArrayList^ obstKoordinaten = gcnew ArrayList();
    			private: ArrayList^ gelöschteKoordinaten = gcnew ArrayList();
    };
    

    Kann mir wer sagen was ihm da fehlt? Nur nen Semikolon davor hilft nich also was hab ich vergessen?

    Danke 🙂



  • Was gibt denn das!?????
    In der Funktion "main" kannst Du keine Fielder einer Klasse deklarieren...

    Wenn, dann nur lokale Variablen:

    int main() { 
        Koordinatenspeicher::Hirn(); 
        ArrayList^ zuckerKoordinaten = gcnew ArrayList(); 
        ArrayList^ obstKoordinaten = gcnew ArrayList(); 
        ArrayList^ gelöschteKoordinaten = gcnew ArrayList(); 
    };
    


  • hallo ich habe ein problem mit antme!!!
    nur ein kleines!
    wenn ich speichern will wird immer nur der quelltext gespeichert und nie das formular mit den buttons und dem label usw.
    kann mir jemand weiterhelfen.

    bin noch ein anfänger und auch erst 12 also bitte auf deutsch

    schon mal im vorraus
    danke!!!!



  • Ich hab zuerst C++ gelernt, bin zufällig auf Windows Forms gestoßen und jetzt mach ich wieder normales C++. Das geht schon und dabei hab ich ne Menge gelernt. War vor einem jahr und war auch nur zwölf
    @Fabioni: Wenn du deine Ameisen testen willst, musst du dein dein Projekt erst mit F7 erstellen. Dann kannst du es mit F5 ausführen bzw. debuggen.
    @ThePhil: vor lokale variablen in der main und anderen funktionen hat ein zugriffsmodifizierer gar keinen sinn 😞 weil man sowieso nicht von außen drauf zugreifen kann 😉 Übrigens reicht es zu schreiben:

    public ref class Datenbank {
    private: //oder auch public oder protected; alle folgenden felder, methoden und co. sind jetzt private
        ArrayList ^gefundener_zucker; //Keine direkte Initialisierung in C++ :-(
        ArrayList ^gefundenes_obst;
        ArrayList ^gesichtete_wanzen;
    public: //Jetzt Konstruktor und weitere dinge auf die deine Ameise zugreift
        Datenbank() {
            gefundener_zucker = gcnew ArrayList();
            gefundenes_obst = gcnew ArrayList();
            gesichtete_wanzen = gcnew ArrayList();
        }
        property Wanze ^zeigeWanze; //TODO: get und set hinzufügen
        property Zucker ^zeigeZuckerberg;
        property Obst ^zeigeApfel;
        //...
    };
    

    Ach ja: das c++ - AntMe! gibt's bei codeplex gar nicht mehr.. konnte es jedenfalls nicht finden. Wäre schön wenn die das mal wieder hochladen würden - ich krieg meine C++Ameisen wegen den eingeschränkten Berechtigungen eh nicht zum laufen 😞

    gruß paulrei



  • Konnte auch nur die CS-Version finden

    http://antme.codeplex.com/SourceControl/list/changesets

    Gibt das ganze aber als Buch von Galileo Press

    Spie­lend C++ ler­nen ... oder wie man Kä­fern Beine macht, m. DVD-ROM
    ISBN-10: 3836214415
    ISBN-13: 9783836214414


Anmelden zum Antworten