macht jemand beim icfp04 mit?



  • Wir koennen uns ja alle zusammentun und wenn volkard auch noch mitmacht, sollte
    das fuer uns zu schaffen sein, denke ich.

    Naja, bin mir immernoch nicht sicher, ob meine 'skills' ausreichend fuer den
    contest sind. Die Beschreibung der Aufgabe zumindest hoert sich fuer mich so
    an, als ob ich das schaffen koennte (ob in der Zeit alleine, ist ne andere
    frage :)).

    mfg
    v R



  • Ich baue einen Ameisenbär und gewinne den Contest :p 🙂

    Naja mal sehen 🙂

    MfG SideWinder



  • SideWinder schrieb:

    Ich baue einen Ameisenbär und gewinne den Contest :p 🙂

    Naja mal sehen 🙂

    MfG SideWinder

    Natuerlich einen, der _dein_ Ameistenteam unberuehrt laesst 😃

    mfg
    v R



  • Er steht halt so auf schwarze Ameisen, die roten mag er nicht 😃

    MfG SideWinder



  • Wie realisierst du die einzelenen Zellen?

    Ich hab mir da sowas in der Art vorgestellt:

    Cell ist eine abstrakte Basisklasse. Eine Zelle beinhaltet ein Objekt z. B. Ant
    oder es handelt sich einfach nur um eine 'EmptyCell' oder sowas. Sie stellt
    eine Memberfunktion getCellObject() o. ae. bereit, welche reimplementiert werden
    muss.

    Ich will z. B. spaeter sowas machen koennen wie:

    Cell.getCellObject().dosomething();

    Mein Problem: wenn sich auf einer Zelle eine Ameise befindet, muss getCellObject
    z. B. so aussehen:

    virtual Ant *getCellObject() { ... }

    entsprechend anders muss es aussehen, wenn sich auf der Zelle z. B. Futter
    befindet. Das waere aber bereits eine Spezialisierung. Wenn man Ant so
    deklarieren wuerde:

    class Ant : public Cell

    dann waere das kein Problem, nur ist das natuerlich schwachsinn, denn Ant ist
    keine Zelle!

    Wie muss ich das angehen? Hat die Idee ueberhaupt etwas, oder ist sie einfach
    nur, schlicht gesagt, falsch und sinnlos?

    Meine Gedanken sind einwenig ungeordnet und im Moment tue ich mich schwer sie
    zu ordnen, bin fuer kleine Denkanstosse dankbar.

    mfg
    v R



  • Dauert viel zulange :D, hier gehts nicht um einen OOP-Wettbewerb. Der einzige der mit der Karte umzugehen hat ist das Testprogramm, und da mach ichs mir gerade sehr einfach:

    // cell specifiers
    typedef unsigned short int cell;
    const cell cellclear = 0;
    const cell cellrocky = 11;
    const cell cellredanthill = 12;
    const cell cellblackanthill = 13;
    
    ...
    
    // ich mach nur das was auch später abgefragt wird (100*100 also)
    cell world [100][100];
    

    MfG SideWinder



  • Muss jetzt noch schnell einen Lader für die "Gehirne" erstellen der mir die Befehle von Strings in instructions wandelt.

    Dann führt der einfach 10000 Mal die Instruction aus - für jede Instruction eine tolle Funktion die genau wie im PDF aussieht fertig.

    Dann kann man daran gehen das Gehirn der kleinen Wuzler zu bauen, das hab ich eigentlich erstmal auf Papier vor und teste dann immer VersionALT gegen VersionNEU im Tester 🙂

    MfG SideWinder



  • Und ich mach mir hier Gedanken um ein schoenes Design...:D

    mfg
    v R



  • Mich freuts jetzt sowieso nicht da einen Lader zu bauen, den bau ich morgen. Und dann lass ich einfach zum Spaß Ameisen-Gehirne gegeneinander antreten, für den Contest muss man imho 72 Stunden lang Gehirn bauen - am besten in der Gruppe. Der dümmste der Gruppe baut einstweilen das Testprogramm.

    MfG SideWinder



  • SideWinder schrieb:

    Dauert viel zulange :D, hier gehts nicht um einen OOP-Wettbewerb.

    sehr richtig. es geht um funktionales proggen.
    die beschreibung enthält fertigen code, den man bloß nach c++-syntax übersetzen muss. wer am verfahren was ändert, verliert zu viel zeit.

    und das testprogramm muss so schnell wie möglich fertig sein, würde ich sagen, damit man mehr ameisencode ausprobieren kann und auch ameisisch zu denken lernen kann.

    mein testprog sollte heute nacht noch fertig werden, das freut mich ein wenig. worauf ich gar keine lust habe, ist einen weltenerzeuger zu bauen.



  • Meines wäre fertig geworden mich freuts aber nicht mehr, muss aber im Prinzip nur noch die Befehle die in der Datei stehen in interne Befehle umwandeln. und eine schleife mit 10000 aufrufen der jeweiligen Funktion machen.

    Aber mein Ziel ist nicht gewinnen, hat Zeit. Wenn volkard morgen sein Testprogramm hat kommt der viel wichtigere Teil seine Ameisen müssen meine schlagen 🙂

    Wenn du willst bau ich dir gegnerische Ameisen.

    MfG SideWinder



  • Hmmm...also ein bisschen was hab ich auch schon, mal sehn ob ich heute Nacht das
    noch zum laufen bekomme...

    mfg
    v R



  • SideWinder schrieb:

    Wenn volkard morgen sein Testprogramm hat kommt der viel wichtigere Teil seine Ameisen müssen meine schlagen 🙂

    mein programm kann die ausgabe dumps.all jetzt fehlerfrei erzeugen.
    und auf einmal fällt mir ein, daß ich gar keinen überzeugenden plan habe, wie es weitergeht. naja, beim schlafen fällt mir bestimmt was ein.

    Wenn du willst bau ich dir gegnerische Ameisen.

    wenigstens einen guten gegner kann sicherlich jeder gut gebrauchen. ich natürlich auch.



  • Moin,

    wie habt ihr das mit condition.marker geloest? In der Funktion 'cell_matches'
    kommt das ja dann vor, nur wo nehmen die das i her?

    Ich hab hier irgendwie eine kleine Denkblockade.

    mfg
    v R



  • virtuell Realisticer schrieb:

    wie habt ihr das mit condition.marker geloest? In der Funktion 'cell_matches'
    kommt das ja dann vor, nur wo nehmen die das i her?

    hab sie aufgelüst in 6 spezielle MERKER.

    case ROCK:
    				return false;
    			case MARKER0:
    				return checkMarkerAt(p,c,0);
    			case MARKER1:
    				return checkMarkerAt(p,c,1);
    			case MARKER2:
    				return checkMarkerAt(p,c,2);
    ...
    


  • Ah...auf sowas bin ich gar nicht gekommen. Und dabei hatte ich schon einen Typ
    Marker, den ich, wie ich jetzt sehe, hier unterbringen sollte.

    Danke fuer den Denkanstoss 🙂

    mfg
    v R



  • nur noch gut 6 stunden und ich habe noch keinen sieg gegen die zufallsameise von der aufgabenstellung. 😃
    macht ihr noch mit? hab so wenig von ech gehört. oder gab's einfach keine fragen?



  • Also ich hab vor, meine Ameisen abzuschicken. Besser als Random-Ameisen sind sie jedenfalls schon. (meistens 🙄 )
    Mit meinem Präprozessor gehts jetzt auch richtig vorwärts. Ich lade meine Dateien dann nach dem Einsendeschluss hoch.



  • Ich werde nichts einschicken, werde aber das Programm zu Ende schreiben und dann
    noch ne Killerameise erstellen, die dann mal schnell die Ameise des Gewinners
    plaettet ;).

    Mein Hauptproblem: Mein Notebook ist in Reparatur und habe keine anderen
    Compiler zur Auswahl gehabt. Und so war es nur Murphys Law, welcher mich
    einholte und dazu gefuehrt hat, dass ich die entsprechenden Installations-CD's
    nicht finden konnte. Ich habe daher auf dem Rechner meiner Schwester das MinGW
    Developer Studio und den Dev-Cpp installiert. Die Aufgabe habe ich mit dem MinGW
    Developer Studio gemacht und den Dev-Cpp lass ich nebenher laufen um mal schnell
    ein paar Dinge auszuprobieren.

    Nun wollt ich gestern was auszuprobieren und das Programm hat immer mehr
    Speicher gefressen. Nun konnt ich den Fehler aber nicht direkt finden und wollte
    debuggen, allerdings konnt ich unterm Dev-Cpp gar nicht debuggen (trotz das ich
    debugginfos mit einkompiliert hatte, ging es nicht, ich konnte einfach nicht
    debuggen). Dann habe ich also im MinGW-DS doch schnell das Projekt beendet und
    das Testprojekt schnell erstellt. Debuggen an sich kein Problem, aber beim
    'trace in' bei nem CTor aufruf kam ich dann ploetzlich beim DTor der
    vector-Klasse raus (?).

    Hab den Code jetzt hier auf der Arbeit getestet und den Fehler gefunden
    (trotzdem verhaelt sich das Programm an der Stelle merkwuerdig). Das Verhalten
    vom Dev-Cpp und dem MinGW-DS kann ich dennoch nicht aufgrund des Fehlers
    nachvollziehen, denn so schlimm war der Fehler nicht.

    Ich habe Sonntag durch dieses Problem enorm viel Zeit verloren und die fehlt
    mir jetzt bestimmt (mal davon abgesehen, dass ich hier auf der Arbeit nicht
    daran weiterarbeiten kann).

    Aber dennoch wuerde mich mal euer Code interessieren, wenn ihr fertig seit :).

    mfg
    v R



  • SeriousSam schrieb:

    Mit meinem Präprozessor gehts jetzt auch richtig vorwärts.

    jo, nen präpro hab ich auch gemacht. der kann bisher zwar nur einen befehl, den ich im ameisencode auch nur einmal verwende...


Anmelden zum Antworten