ich sagte ja bereits das mit dem netzwerk führt nun zu weit^^
@ prissi und die die sich auskennen:
nun erstmal ein paar fragen vorweck, habe in den quellcode geschaut:
A: die klasse ware_t wird benutzt um waren an haltestellen und zügen, etc. zu speichern;
haltestellen und züge enthalten einen vector in dem alle dort vorhandenen waren gespeichert werden.
B: die klasse haltestelle_t hat die funktion vereinige_waren(const ware_t &ware), die immer aufgerufen wird, wenn neue ware an der station eintrifft, sowohl wenn ein vehikel etwas liefert als auch wenn neue ware erzeugt wird(step_passagiere)?
C: step_passagiere der klasse stadt_t kümmert sich um die passagiererzeugung und übergibt mit der funktion haltestelle_t:
tarte_mit_route(ware_t ware) die passagiere an die station.
D: die funktion sint64 vehikel_t::calc_gewinn(koord3d start, koord3d end)
berechnet die einnahmen die man fuer das fahren der ware von halt start zum halt end bekommt. (start ist der vorige halt, end ist der aktuelle halt) abgerechnet wird also immer von halt bis halt.
E: bisher berechnet sich die einnahme (in der in D erwähnten funktion) so:
fuer jede ware:
Code:
const long dist = abs(end.x - start.x) + abs(end.y - start.y);
const sint32 grundwert128 = ware.gib_typ()->gib_preis()<<7;
const sint32 grundwert_bonus = (ware.gib_typ()->gib_preis()*(1000+speed_base*ware.gib_typ()->gib_speed_bonus()));
const sint64 price = (sint64)(grundwert128>grundwert_bonus ? grundwert128 : grundwert_bonus) * (sint64)dist * (sint64)ware.menge;
speed_base kann nicht kleiner als -100 werden, und ist 0 wenn man genau durchschnittlich schnell fährt (durchschnittlich errechnet sich wohl aus den möglichen geschwindigkeiten der zur verführung stehenden fahrzeuge auf dem entsprechenden Wegtyp (schiene,strasse,luft,wasser)
(btw wird tram strasse oder als schiene abgerechnet? )
ist man doppelt so schnell wie durchschnittlich möglich ist speedbase 100.
speedbonus wird im good.x.pak festgelegt, nur wie gespeichert? Ist es Möglich das grundwert_bonus überhaubt kleiner wird als grundwert128? sprich kann speed_bonus größer als 10 sein? Wird speed_bonus also %zahl mal 100 gespeichert, also wäre ein bonus von 15% ein speed_bonus = 15?