01-04-2008, Tuesday-23:26:47
Zitat:Original von Hajo
Ich denke jedoch dass eine vernünftige Schnittstelle zwischen KI und Simutrans so breit sein wird, dass es besser ist, die KI in Simutrans selbst zu belassen.
Ich kenne wie gesagt keine Details aus dem aktuellen Quellcode, daher ist folgendes nur geraten, aber vom theoretischen her würde die Schnittstelle in etwa so aussehen:
void buildThingy(ThingyID, PosX, PosY, PosZ);
void buildTrack(TrackType, Pos1X, Pos1Y, Pos1Z, Pos2X, Pos2Y, Pos2Z);
void setProperty(ThingyID, Property, Value); // +getter; (+ getAllProperties?)
Vector<Train> getTrains();
Vector<Factory> getFactories();
Vector<Building> getCityBuildings();
Vector<Stuff> getOtherStuff(); // moeglicherweise noch aufgeteilt.
Vector<Thingy> getThingies(); //geht auch, aber ist eher hardcore
Dann natürlich noch Dinge an die ich gerade nicht gedacht habe. Und für die GUI sollten da vielleicht noch Dinge hin, die den Bereich einschränken, den man sehen kann. Alles andere braucht man ja nicht durch die Gegend zu kopieren. Wenn man das sauber trennt zwischen GUI und Core, dann kann man da auch "relativ schnell" Rechnernetzkram zwischenpacken. Just under six month or so...
Aber ich sollte aufhören zu spekulieren solange ich mir den Quellcode nicht einmal angeguckt habe. Und bitte nicht hauen!