123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045 |
- #include "Aktionen.h"
- #include "Trigger.h"
- #include "Spiel.h"
- #include "Bestenliste.h"
- #define zParam( x ) zEvaluatedParam( x, zMemory, zPC )
- #define getParam( x ) getEvaluatedParam( x, zMemory, zPC )
- #define setReturn( x ) zMemory->setVar( "__return__", x )
- #define zReturn zMemory->zVariable( "__return__" )
- #define getReturn zMemory->getVariable( "__return__" )
- Aktion::Aktion(AktionTyp typ, RCArray< Aktion >* subActions)
- : Variable(AKTION)
- {
- this->subActions = subActions;
- for (int i = 0; i < subActions->getEintragAnzahl(); i++)
- erlaubteTypen.add(ALLE);
- this->typ = typ;
- }
- Aktion::~Aktion()
- {
- subActions->release();
- }
- Variable* Aktion::zEvaluatedParam(int number, LocalMemory* zMemory, ProgramCounter* zPC)
- {
- return zMemory->zVariable(zPC->getUniqueString() + "R" + number + "__");
- }
- Variable* Aktion::getEvaluatedParam(int number, LocalMemory* zMemory, ProgramCounter* zPC)
- {
- return zMemory->getVariable(zPC->getUniqueString() + "R" + number + "__");
- }
- bool Aktion::runNext(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- if (waitCount > 0)
- return 0;
- zPC->stepIn();
- // evaluate parameters
- for (int i = zPC->currentPosition(); i < subActions->getEintragAnzahl(); i++)
- {
- if (!subActions->z(i)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount))
- {
- zPC->stepOut();
- return 0;
- }
- Variable* result = zReturn;
- if ((!result && erlaubteTypen.get(i) != NICHTS) || (result && result->getVariableTyp() != erlaubteTypen.get(i)))
- {
- zPC->stepOut();
- return 1;
- }
- if (result)
- zMemory->setVar(zPC->getUniqueString() + "R" + i + "__", dynamic_cast<Variable*>(result->getThis()));
- zPC->count();
- if (waitCount > 0)
- {
- zPC->stepOut();
- return 0;
- }
- }
- if (zPC->currentPosition() == subActions->getEintragAnzahl())
- {
- // evaluate result
- run(zSpiel, zEreignis, zMemory, zPC, waitCount);
- zPC->stepOut();
- return 1;
- }
- zPC->stepOut();
- return 0;
- }
- void Aktion::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {}
- void Aktion::writeOptions(Datei& dat)
- {}
- AktionTyp Aktion::getTyp() const
- {
- return typ;
- }
- RCArray< Aktion >* Aktion::zSubActions() const
- {
- return subActions;
- }
- KonstantNichts::KonstantNichts()
- : Aktion(KONSTANT_NICHTS, new RCArray< Aktion >())
- {}
- void KonstantNichts::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Variable(NICHTS));
- }
- KonstantInteger::KonstantInteger(int val)
- : Aktion(KONSTANT_INTEGER, new RCArray< Aktion >())
- {
- this->value = val;
- }
- void KonstantInteger::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(value));
- }
- void KonstantInteger::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&value, 4);
- }
- KonstantGegenstandTyp::KonstantGegenstandTyp(GegenstandTyp val)
- : Aktion(KONSTANT_INTEGER, new RCArray< Aktion >())
- {
- this->value = val;
- }
- void KonstantGegenstandTyp::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar(value));
- }
- void KonstantGegenstandTyp::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&value, 4);
- }
- KonstantTaste::KonstantTaste(unsigned char val)
- : Aktion(KONSTANT_TASTE, new RCArray< Aktion >())
- {
- this->value = val;
- }
- void KonstantTaste::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer((int)value, 1));
- }
- void KonstantTaste::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&value, 1);
- }
- KonstantBoolean::KonstantBoolean(bool val)
- : Aktion(KONSTANT_BOOLEAN, new RCArray< Aktion >())
- {
- value = val;
- }
- void KonstantBoolean::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(value));
- }
- void KonstantBoolean::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&value, 1);
- }
- KonstantString::KonstantString(Text val)
- : Aktion(KONSTANT_STRING, new RCArray< Aktion >())
- {
- value = val;
- }
- void KonstantString::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(value));
- }
- void KonstantString::writeOptions(Datei& dat)
- {
- char len = (char)value.getLength();
- dat.schreibe((char*)&len, 1);
- dat.schreibe(value, len);
- }
- KonstantFloat::KonstantFloat(float val)
- : Aktion(KONSTANT_FLOAT, new RCArray< Aktion >())
- {
- value = val;
- }
- void KonstantFloat::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(value));
- }
- void KonstantFloat::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&value, 4);
- }
- KonstantVariable::KonstantVariable(Text name)
- : Aktion(KONSTANT_VARIABLE, new RCArray< Aktion >())
- {
- this->name = name;
- }
- void KonstantVariable::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- if (zMemory->zVariable(name))
- setReturn(zMemory->getVariable(name));
- else if (zEreignis->zParameter(name))
- setReturn(zEreignis->getParameter(name));
- else if (zSpiel->zVariable(name))
- setReturn(zSpiel->getVariable(name));
- else
- setReturn(new Variable(NICHTS));
- }
- void KonstantVariable::writeOptions(Datei& dat)
- {
- char len = (char)name.getLength();
- dat.schreibe((char*)&len, 1);
- dat.schreibe(name, len);
- }
- Warten::Warten(RCArray< Aktion >* subActions)
- : Aktion(WARTEN, subActions)
- {
- this->erlaubteTypen.add(FLOAT);
- }
- void Warten::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- waitCount += ((Float*)zParam(0))->getValue();
- }
- WennDannSonst::WennDannSonst(RCArray< Aktion >* subActions)
- : Aktion(WENN_DANN_SONST, subActions)
- {}
- bool WennDannSonst::runNext(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- zPC->stepIn();
- if (zPC->currentPosition() == 0)
- {
- bool finished = subActions->z(0)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount);
- if (finished)
- {
- Variable* ret = zReturn;
- zPC->count();
- if (!isTrue(ret))
- {
- zPC->count();
- if (!subActions->z(2))
- {
- zPC->stepOut();
- return 1;
- }
- }
- else
- {
- if (!subActions->z(1))
- {
- zPC->stepOut();
- return 1;
- }
- }
- }
- }
- if (zPC->currentPosition() == 1 && waitCount <= 0)
- {
- bool finished = subActions->z(1)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount);
- if (finished)
- {
- zPC->stepOut();
- return 1;
- }
- }
- if (zPC->currentPosition() == 2 && waitCount <= 0)
- {
- bool finished = subActions->z(2)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount);
- if (finished)
- {
- zPC->stepOut();
- return 1;
- }
- }
- zPC->stepOut();
- return 0;
- }
- SetVariable::SetVariable(Text name, RCArray< Aktion >* subActions)
- : Aktion(SET_VARIABLE, subActions)
- {
- this->name = name;
- }
- void SetVariable::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- if (zMemory->zVariable(name) || zEreignis->zParameter(name) || !zSpiel->zVariable(name))
- zMemory->setVar(name, getParam(0));
- else
- zSpiel->setVariable(name, getParam(0));
- }
- void SetVariable::writeOptions(Datei& dat)
- {
- char len = (char)name.getLength();
- dat.schreibe((char*)&len, 1);
- dat.schreibe(name, len);
- }
- TriggerAktion::TriggerAktion(RCArray< Aktion >* subActions)
- : Aktion(TRIGGER_AKTION, subActions)
- {}
- bool TriggerAktion::runNext(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- zPC->stepIn();
- if (zPC->currentPosition() == 0)
- {
- if (subActions->z(0)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount))
- {
- Variable* t = zReturn;
- if (!t || t->getVariableTyp() != INTEGER)
- {
- zPC->stepOut();
- return 1;
- }
- zMemory->setVar(zPC->getUniqueString() + "R0__", dynamic_cast<Variable*>(t->getThis()));
- zPC->count();
- }
- }
- if (zPC->currentPosition() == 1 && waitCount <= 0)
- {
- if (subActions->z(1)->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount))
- {
- Variable* t = zReturn;
- if (!t || t->getVariableTyp() != TRIGGER)
- {
- zPC->stepOut();
- return 1;
- }
- int id = ((Integer*)zParam(0))->getValue();
- if (id >= ((Trigger*)t)->getAktionAnzahl())
- {
- zPC->stepOut();
- return 1;
- }
- zMemory->setVar(zPC->getUniqueString() + "R0__", ((Trigger*)t)->getAktion(id));
- zPC->count();
- }
- }
- if (zPC->currentPosition() == 2 && waitCount <= 0)
- {
- if (((Aktion*)zParam(0))->runNext(zSpiel, zEreignis, zMemory, zPC, waitCount))
- {
- zPC->stepOut();
- return 1;
- }
- }
- zPC->stepOut();
- return 0;
- }
- SpielerNachricht::SpielerNachricht(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_NACHRICHT, subActions)
- {
- erlaubteTypen.add(SPIELER);
- erlaubteTypen.add(STRING);
- }
- void SpielerNachricht::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- // this is handeld on client side directly (no need to send the message to the player)
- }
- DisplayText::DisplayText(RCArray< Aktion >* subActions)
- : Aktion(DISPLAY_TEXT, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(STRING);
- }
- void DisplayText::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- // do nothing because the server does not need to show text
- }
- SpielPause::SpielPause(RCArray< Aktion >* subActions)
- : Aktion(SPIEL_PAUSE, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- }
- void SpielPause::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- zSpiel->setPausiert(((Boolean*)zParam(0))->getValue());
- }
- SpielEnde::SpielEnde(RCArray< Aktion >* subActions)
- : Aktion(SPIEL_ENDE, subActions)
- {}
- void SpielEnde::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Variable* t = zParam(0);
- if (t->getVariableTyp() != NICHTS && t->getVariableTyp() != TEAM)
- t = 0;
- zSpiel->setEnde((!t || t->getVariableTyp() == NICHTS) ? 0 : (Team*)t);
- }
- SpielerSetLevel::SpielerSetLevel(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_LEVEL, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetLevel::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setLevel(((Integer*)zParam(0))->getValue(), zSpiel);
- }
- SpielerGiveItem::SpielerGiveItem(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_GIVE_ITEM, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerGiveItem::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(2))->addItem(((GegenstandTypVar*)zParam(0))->getValue(),
- ((Integer*)zParam(1))->getValue(), zSpiel);
- }
- SpielerRemoveItem::SpielerRemoveItem(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_REMOVE_ITEM, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerRemoveItem::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(2))->removeItem(((GegenstandTypVar*)zParam(0))->getValue(),
- ((Integer*)zParam(1))->getValue());
- }
- SpielerSetLeben::SpielerSetLeben(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_LEBEN, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setLeben(((Float*)zParam(0))->getValue());
- }
- SpielerSetMaxLeben::SpielerSetMaxLeben(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_LEBEN, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetMaxLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setMaxLeben(((Integer*)zParam(0))->getValue());
- }
- SpielerSetErfahrung::SpielerSetErfahrung(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_ERFAHRUNG, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetErfahrung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setErfahrung(((Float*)zParam(0))->getValue(), zSpiel);
- }
- SpielerSetMaxErfahrung::SpielerSetMaxErfahrung(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_MAX_ERFAHRUNG, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetMaxErfahrung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setMaxErfahrung(((Integer*)zParam(0))->getValue());
- }
- SpielerSetTempo::SpielerSetTempo(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_TEMPO, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetTempo::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setLaufTempo(((Float*)zParam(0))->getValue());
- }
- SpielerSetWaffenTempo::SpielerSetWaffenTempo(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_GESCHOSS_TEMPO, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetWaffenTempo::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setGeschossTempo(((Float*)zParam(0))->getValue());
- }
- SpielerSetArmor::SpielerSetArmor(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_ARMOR, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetArmor::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setArmor(((Float*)zParam(0))->getValue());
- }
- SpielerSetSchadenBonus::SpielerSetSchadenBonus(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_SCHADEN_BONUS, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetSchadenBonus::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setSchadenBonus(((Float*)zParam(0))->getValue());
- }
- SpielerSetLebensraub::SpielerSetLebensraub(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_LEBENSRAUB, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetLebensraub::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setLebensRaub(((Float*)zParam(0))->getValue());
- }
- SpielerSetLebensregeneration::SpielerSetLebensregeneration(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_LEBENSRAUB, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetLebensregeneration::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setLebensRegeneration(((Float*)zParam(0))->getValue());
- }
- SpielerSetAbklingzeitverringerung::SpielerSetAbklingzeitverringerung(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_SET_ABKLINGZEITVERRINGERUNG, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(SPIELER);
- }
- void SpielerSetAbklingzeitverringerung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Spieler*)zParam(1))->setAbklingZeitVerringerung(((Float*)zParam(0))->getValue());
- }
- DropSetTime::DropSetTime(RCArray< Aktion >* subActions)
- : Aktion(DROP_SET_TIME, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(DROP);
- }
- void DropSetTime::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Drop*)zParam(1))->setTime(((Float*)zParam(0))->getValue());
- }
- DropSetMaxTime::DropSetMaxTime(RCArray< Aktion >* subActions)
- : Aktion(DROP_SET_MAX_TIME, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(DROP);
- }
- void DropSetMaxTime::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Drop*)zParam(1))->setMaxTime(((Integer*)zParam(0))->getValue());
- }
- DropSetArea::DropSetArea(RCArray< Aktion >* subActions)
- : Aktion(DROP_SET_AREA, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(DROP);
- }
- void DropSetArea::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Drop*)zParam(4))->setMinX(((Integer*)zParam(0))->getValue());
- ((Drop*)zParam(4))->setMaxX(((Integer*)zParam(1))->getValue());
- ((Drop*)zParam(4))->setMinY(((Integer*)zParam(2))->getValue());
- ((Drop*)zParam(4))->setMaxY(((Integer*)zParam(3))->getValue());
- }
- DropDoDrop::DropDoDrop(RCArray< Aktion >* subActions)
- : Aktion(DROP_DO_DROP, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void DropDoDrop::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Drop*)zParam(0))->doDrop(zSpiel);
- }
- BariereBewegung::BariereBewegung(RCArray< Aktion >* subActions)
- : Aktion(BARIERE_BEWEGUNG, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void BariereBewegung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bariere*)zParam(0))->startAutoVerschiebung(zSpiel);
- }
- BariereSetEingeschaltet::BariereSetEingeschaltet(RCArray< Aktion >* subActions)
- : Aktion(BARIERE_SET_EINGESCHALTET, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(DROP);
- }
- void BariereSetEingeschaltet::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bariere*)zParam(1))->setStyle(Bariere::Style::Aktiv, ((Boolean*)zParam(0))->getValue(), zSpiel);
- }
- GameObjektSetPosition::GameObjektSetPosition(RCArray< Aktion >* subActions)
- : Aktion(GAME_OBJEKT_SET_POSITION, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void GameObjektSetPosition::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((GameObject*)zParam(2))->setX(((Float*)zParam(0))->getValue());
- ((GameObject*)zParam(2))->setY(((Float*)zParam(1))->getValue());
- }
- GameObjektSetSize::GameObjektSetSize(RCArray< Aktion >* subActions)
- : Aktion(GAME_OBJEKT_SET_SIZE, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void GameObjektSetSize::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((GameObject*)zParam(2))->setWidth(((Float*)zParam(0))->getValue());
- ((GameObject*)zParam(2))->setHeight(((Float*)zParam(1))->getValue());
- }
- BariereSetTeam::BariereSetTeam(RCArray< Aktion >* subActions)
- : Aktion(BARIERE_SET_TEAM, subActions)
- {
- erlaubteTypen.add(TEAM);
- erlaubteTypen.add(BARIERE);
- }
- void BariereSetTeam::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bariere*)zParam(1))->setTeam(((Team*)getParam(0)));
- }
- SchalterSetErlaubt::SchalterSetErlaubt(RCArray< Aktion >* subActions)
- : Aktion(SCHALTER_SET_ERLAUBT, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(SCHALTER);
- }
- void SchalterSetErlaubt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Schalter*)zParam(1))->setAktive(((Boolean*)zParam(0))->getValue());
- }
- SchalterAktivieren::SchalterAktivieren(RCArray< Aktion >* subActions)
- : Aktion(SCHALTER_AKTIVIEREN, subActions)
- {
- erlaubteTypen.add(SCHALTER);
- }
- void SchalterAktivieren::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- zSpiel->activateShalter(((Schalter*)zParam(0))->getId());
- }
- TunnelSetZielPosition::TunnelSetZielPosition(RCArray< Aktion >* subActions)
- : Aktion(TUNNEL_SET_ZIEL_POSITION, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(TUNNEL);
- }
- void TunnelSetZielPosition::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Tunnel*)zParam(2))->setZielX(((Integer*)zParam(0))->getValue());
- ((Tunnel*)zParam(2))->setZielY(((Integer*)zParam(1))->getValue());
- }
- TunnelSetErlaubt::TunnelSetErlaubt(RCArray< Aktion >* subActions)
- : Aktion(TUNNEL_SET_ERLAUBT, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(TUNNEL);
- }
- void TunnelSetErlaubt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Tunnel*)zParam(1))->setAktiv(((Boolean*)zParam(0))->getValue());
- }
- UmlenkungSetRichtung::UmlenkungSetRichtung(RCArray< Aktion >* subActions)
- : Aktion(UMLENKUNG_SET_RICHTUNG, subActions)
- {
- erlaubteTypen.add(RICHTUNG);
- erlaubteTypen.add(UMLENKUNG);
- }
- void UmlenkungSetRichtung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Umlenkung*)zParam(1))->setRichtung(getRichtungFromString(((String*)zParam(0))->getValue()));
- }
- UmlenkungSetMaxAbk::UmlenkungSetMaxAbk(RCArray< Aktion >* subActions)
- : Aktion(UMLENKUNG_SET_MAX_ABK, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(UMLENKUNG);
- }
- void UmlenkungSetMaxAbk::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Umlenkung*)zParam(1))->setMaxAbklingzeit(((Integer*)zParam(0))->getValue());
- }
- UmlenkungSetEnabled::UmlenkungSetEnabled(RCArray< Aktion >* subActions)
- : Aktion(UMLENKUNG_SET_ERLAUBT, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(UMLENKUNG);
- }
- void UmlenkungSetEnabled::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Umlenkung*)zParam(1))->setAktiv(((Boolean*)zParam(0))->getValue());
- }
- BaseSetTeam::BaseSetTeam(RCArray< Aktion >* subActions)
- : Aktion(BASE_SET_TEAM, subActions)
- {
- erlaubteTypen.add(TEAM);
- erlaubteTypen.add(BASE);
- }
- void BaseSetTeam::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Base*)zParam(1))->setTeam(((Team*)getParam(0)), zSpiel);
- }
- BaseStartTeamChange::BaseStartTeamChange(RCArray< Aktion >* subActions)
- : Aktion(BASE_START_TEAM_CHANGE, subActions)
- {
- erlaubteTypen.add(TEAM);
- erlaubteTypen.add(BASE);
- }
- void BaseStartTeamChange::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Base*)zParam(1))->startChange(((Team*)getParam(0)));
- }
- TriggerRunStart::TriggerRunStart(RCArray< Aktion >* subActions)
- : Aktion(TRIGGER_RUN_START, subActions)
- {
- erlaubteTypen.add(TRIGGER);
- }
- void TriggerRunStart::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- zSpiel->addTriggerRun(((Trigger*)zParam(0))->runTrigger(dynamic_cast<Ereignis*>(zEreignis->getThis()), zSpiel));
- }
- TriggerSetEnabled::TriggerSetEnabled(RCArray< Aktion >* subActions)
- : Aktion(TRIGGER_SET_ENABLED, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(TRIGGER);
- }
- void TriggerSetEnabled::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Trigger*)zParam(1))->setAktiv(((Boolean*)zParam(0))->getValue());
- }
- TeamSetPunkte::TeamSetPunkte(RCArray< Aktion >* subActions)
- : Aktion(TEAM_SET_PUNKTE, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(TEAM);
- }
- void TeamSetPunkte::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Team*)zParam(1))->setPunkte(((Integer*)zParam(0))->getValue());
- }
- TimerSetPause::TimerSetPause(RCArray< Aktion >* subActions)
- : Aktion(TIMER_SET_PAUSE, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(TIMER);
- }
- void TimerSetPause::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Timer*)zParam(1))->setPause(zSpiel, ((Boolean*)zParam(0))->getValue());
- }
- TimerStart::TimerStart(RCArray< Aktion >* subActions)
- : Aktion(TIMER_START, subActions)
- {
- erlaubteTypen.add(TIMER);
- }
- void TimerStart::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Timer*)zParam(0))->start(zSpiel);
- }
- TimerSetZeit::TimerSetZeit(RCArray< Aktion >* subActions)
- : Aktion(TIMER_SET_ZEIT, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(TIMER);
- }
- void TimerSetZeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Timer*)zParam(1))->setZeit(((Float*)zParam(0))->getValue());
- }
- TimerSetSichtbar::TimerSetSichtbar(RCArray< Aktion >* subActions)
- : Aktion(TIMER_SET_SICHTBAR, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- erlaubteTypen.add(TIMER);
- }
- void TimerSetSichtbar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Timer*)zParam(1))->setSichtbar(((Boolean*)zParam(0))->getValue());
- }
- GeschossNeu::GeschossNeu(RCArray< Aktion >* subActions)
- : Aktion(GESCHOSS_NEU, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(GESCHOSS_TYP);
- erlaubteTypen.add(RICHTUNG);
- }
- void GeschossNeu::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Geschoss* g = new Geschoss(zSpiel->getNextId(), 0,
- getGeschossTypFromString(((String*)zParam(2))->getValue()),
- getRichtungFromString(((String*)zParam(3))->getValue()),
- ((Integer*)zParam(0))->getValue(),
- ((Integer*)zParam(1))->getValue(), 0);
- zSpiel->addGeschoss(dynamic_cast<Geschoss*>(g->getThis()));
- setReturn(g);
- }
- GeschossSetSpeed::GeschossSetSpeed(RCArray< Aktion >* subActions)
- : Aktion(GESCHOSS_SET_SPEED, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(GESCHOSS);
- }
- void GeschossSetSpeed::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Geschoss*)zParam(1))->setSpeed(((Float*)zParam(0))->getValue());
- }
- GeschossSetPlayer::GeschossSetPlayer(RCArray< Aktion >* subActions)
- : Aktion(GESCHOSS_SET_PLAYER, subActions)
- {
- erlaubteTypen.add(SPIELER);
- erlaubteTypen.add(GESCHOSS);
- }
- void GeschossSetPlayer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Geschoss*)zParam(1))->setBesitzer(((Spieler*)zMemory->getVariable(zPC->getUniqueString() + "R0__")));
- }
- GeschossSetRichtung::GeschossSetRichtung(RCArray< Aktion >* subActions)
- : Aktion(GESCHOSS_SET_RICHTUNG, subActions)
- {
- erlaubteTypen.add(RICHTUNG);
- erlaubteTypen.add(GESCHOSS);
- }
- void GeschossSetRichtung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Geschoss*)zParam(1))->setRichtung(getRichtungFromString(((String*)zParam(0))->getValue()));
- }
- GeschossSetType::GeschossSetType(RCArray< Aktion >* subActions)
- : Aktion(GESCHOSS_SET_TYPE, subActions)
- {
- erlaubteTypen.add(GESCHOSS_TYP);
- erlaubteTypen.add(GESCHOSS);
- }
- void GeschossSetType::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Geschoss*)zParam(1))->setTyp(getGeschossTypFromString(((String*)zParam(0))->getValue()));
- }
- TriggerZufall::TriggerZufall()
- : Aktion(TRIGGER_ZUFALL, new RCArray< Aktion >())
- {}
- void TriggerZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomTrigger());
- }
- TriggerLastRunned::TriggerLastRunned()
- : Aktion(TRIGGER_LAST_RUNNED, new RCArray< Aktion >())
- {}
- void TriggerLastRunned::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getLastRunnedTrigger());
- }
- BariereZufall::BariereZufall()
- : Aktion(BARIERE_ZUFALL, new RCArray< Aktion >())
- {}
- void BariereZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomBariere());
- }
- BariereZuletztEingeschaltet::BariereZuletztEingeschaltet()
- : Aktion(BARIERE_ZULETZT_EINGESCHALTET, new RCArray< Aktion >())
- {}
- void BariereZuletztEingeschaltet::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getZuletztEingeschalteteBariere());
- }
- BariereZuletztAusgeschaltet::BariereZuletztAusgeschaltet()
- : Aktion(BARIERE_ZULETZT_AUSGESCHALTET, new RCArray< Aktion >())
- {}
- void BariereZuletztAusgeschaltet::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getZuletztAusgeschalteteBariere());
- }
- BariereZuletztBewegt::BariereZuletztBewegt()
- : Aktion(BARIERE_ZULETZT_BEWEGT, new RCArray< Aktion >())
- {}
- void BariereZuletztBewegt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getZuletztBewegteBariere());
- }
- BaseZufall::BaseZufall()
- : Aktion(BASE_ZUFALL, new RCArray< Aktion >())
- {}
- void BaseZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomBase());
- }
- BaseZuletztBesitzerGewechselt::BaseZuletztBesitzerGewechselt()
- : Aktion(BASE_ZULETZT_BESITZER_GEWECHSELT, new RCArray< Aktion >())
- {}
- void BaseZuletztBesitzerGewechselt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getLastTeamChangedBase());
- }
- DropZufall::DropZufall()
- : Aktion(DROP_ZUFALL, new RCArray< Aktion >())
- {}
- void DropZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomDrop());
- }
- DropZuletztGedropt::DropZuletztGedropt()
- : Aktion(DROP_ZULETZT_GEDROPT, new RCArray< Aktion >())
- {}
- void DropZuletztGedropt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getLastDrop());
- }
- IntegerRechnen::IntegerRechnen(RCArray< Aktion >* subActions, Operator op)
- : Aktion(INTEGER_RECHNEN, subActions),
- op()
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- }
- void IntegerRechnen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Integer* l = (Integer*)zParam(0);
- Integer* r = (Integer*)zParam(1);
- switch (op)
- {
- case PLUS:
- setReturn(new Integer(l->getValue() + r->getValue()));
- break;
- case MINUS:
- setReturn(new Integer(l->getValue() - r->getValue()));
- break;
- case MAHL:
- setReturn(new Integer(l->getValue() * r->getValue()));
- break;
- case GETEILT:
- setReturn(new Integer(l->getValue() / r->getValue()));
- break;
- case HOCH:
- setReturn(new Integer((int)pow(l->getValue(), r->getValue())));
- break;
- case WURZEL:
- setReturn(new Integer((int)pow(l->getValue(), 1.0 / r->getValue())));
- break;
- case BIT_ODER:
- setReturn(new Integer(l->getValue() | r->getValue()));
- break;
- case BIT_UND:
- setReturn(new Integer(l->getValue() & r->getValue()));
- break;
- case BIT_XOR:
- setReturn(new Integer(l->getValue() ^ r->getValue()));
- break;
- case BIT_FLIP:
- setReturn(new Integer(~l->getValue()));
- break;
- case BIT_SHIFT_LEFT:
- setReturn(new Integer(l->getValue() << r->getValue()));
- break;
- case BIT_SHIFT_RIGHT:
- setReturn(new Integer(l->getValue() >> r->getValue()));
- break;
- case INVERT_SIGN:
- setReturn(new Integer(-l->getValue()));
- break;
- case PLUS_PLUS_LEFT:
- l->setValue(l->getValue() + 1);
- setReturn(new Integer(l->getValue()));
- break;
- case PLUS_PLUS_RIGHT:
- {
- int tmp = l->getValue();
- l->setValue(l->getValue() + 1);
- setReturn(new Integer(tmp));
- break;
- }
- case MINUS_MINUS_LEFT:
- l->setValue(l->getValue() - 1);
- setReturn(new Integer(l->getValue()));
- break;
- case MINUS_MINUS_RIGHT:
- {
- int tmp = l->getValue();
- l->setValue(l->getValue() - 1);
- setReturn(new Integer(tmp));
- break;
- }
- case LOGARITHM:
- setReturn(new Integer((int)(log(l->getValue()) / log(r->getValue()))));
- break;
- case MODULO:
- setReturn(new Integer(l->getValue() % r->getValue()));
- break;
- default:
- break;
- }
- }
- void IntegerRechnen::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&this->op, 1);
- }
- IntegerZufall::IntegerZufall(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_ZUFALL, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- }
- void IntegerZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- int mi = ((Integer*)zParam(0))->getValue();
- int ma = ((Integer*)zParam(1))->getValue();
- setReturn(new Integer((int)(zSpiel->getRand() * ((double)ma - mi) + mi)));
- }
- IntegerAusText::IntegerAusText(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_AUS_TEXT, subActions)
- {
- erlaubteTypen.add(STRING);
- }
- void IntegerAusText::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer((int)((String*)zParam(0))->getValue()));
- }
- FloatXVonGameObjekt::FloatXVonGameObjekt(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_X_VON_GAME_OBJEKT, subActions)
- {
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void FloatXVonGameObjekt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((GameObject*)zParam(0))->getX()));
- }
- FloatYVonGameObjekt::FloatYVonGameObjekt(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_Y_VON_GAME_OBJEKT, subActions)
- {
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void FloatYVonGameObjekt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((GameObject*)zParam(0))->getY()));
- }
- IntegerXVonTunnelZiel::IntegerXVonTunnelZiel(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_X_VON_TUNNEL_ZIEL, subActions)
- {
- erlaubteTypen.add(TUNNEL);
- }
- void IntegerXVonTunnelZiel::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Tunnel*)zParam(0))->getZielX()));
- }
- IntegerYVonTunnelZiel::IntegerYVonTunnelZiel(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_Y_VON_TUNNEL_ZIEL, subActions)
- {
- erlaubteTypen.add(TUNNEL);
- }
- void IntegerYVonTunnelZiel::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Tunnel*)zParam(0))->getZielY()));
- }
- IntegerMinXVonDrop::IntegerMinXVonDrop(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_MIN_X_VON_DROP, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void IntegerMinXVonDrop::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Drop*)zParam(0))->getMinX()));
- }
- IntegerMinYVonDrop::IntegerMinYVonDrop(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_MIN_Y_VON_DROP, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void IntegerMinYVonDrop::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Drop*)zParam(0))->getMinY()));
- }
- IntegerMaxXVonDrop::IntegerMaxXVonDrop(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_MAX_X_VON_DROP, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void IntegerMaxXVonDrop::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Drop*)zParam(0))->getMaxX()));
- }
- IntegerMaxYVonDrop::IntegerMaxYVonDrop(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_MAX_Y_VON_DROP, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void IntegerMaxYVonDrop::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Drop*)zParam(0))->getMaxY()));
- }
- IntegerSpielerLevel::IntegerSpielerLevel(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_SPIELER_LEVEL, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerLevel::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getLevel()));
- }
- FloatSpielerLeben::FloatSpielerLeben(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_SPIELER_LEBEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getLeben()));
- }
- bool isBinary(Operator op)
- {
- return op != BIT_FLIP && op != INVERT_SIGN && op != PLUS_PLUS_LEFT && op != PLUS_PLUS_RIGHT &&
- op != MINUS_MINUS_LEFT && op != MINUS_MINUS_RIGHT && op != INVERT_BOOL;
- }
- IntegerSpielerMaxLeben::IntegerSpielerMaxLeben(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_MAX_LEBEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerMaxLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getMaxLeben()));
- }
- FloatSpielerErfahrung::FloatSpielerErfahrung(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_ERFAHRUNG, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerErfahrung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getErfahrung()));
- }
- IntegerSpielerMaxErfahrung::IntegerSpielerMaxErfahrung(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_MAX_ERFAHRUNG, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerMaxErfahrung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getMaxErfahrung()));
- }
- FloatSpielerTempo::FloatSpielerTempo(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_TEMPO, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerTempo::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getLaufTempo()));
- }
- FloatSpielerGeschossTempo::FloatSpielerGeschossTempo(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_GESCHOSS_TEMPO, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerGeschossTempo::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getGeschossTempo()));
- }
- FloatSpielerArmor::FloatSpielerArmor(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_ARMOR, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerArmor::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getArmor()));
- }
- FloatSpielerSchadenBonus::FloatSpielerSchadenBonus(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_SCHADEN_BONUS, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerSchadenBonus::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getSchadenBonus()));
- }
- FloatSpielerLebensraub::FloatSpielerLebensraub(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_LEBENSRAUB, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerLebensraub::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getLebensRaub()));
- }
- FloatSpielerLebensregeneration::FloatSpielerLebensregeneration(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_LEBENSREGENERATION, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerLebensregeneration::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getLebensRegenneration()));
- }
- FloatSpielerAbklingzeitVerringerung::FloatSpielerAbklingzeitVerringerung(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_ABKLINGZEITVERRINGERUNG, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerAbklingzeitVerringerung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getAbklingZeitVerringerung()));
- }
- IntegerSpielerTode::IntegerSpielerTode(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_TODE, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerTode::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getTode()));
- }
- IntegerSpielerKills::IntegerSpielerKills(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_KILLS, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerKills::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getKills()));
- }
- IntegerSpielerTreffer::IntegerSpielerTreffer(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_TREFFER, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerTreffer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getTreffer()));
- }
- IntegerSpielerGetroffen::IntegerSpielerGetroffen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_TREFFER, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerGetroffen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getGetroffen()));
- }
- FloatSpielerErlittenerSchaden::FloatSpielerErlittenerSchaden(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_ERLITTENER_SCHADEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerErlittenerSchaden::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getErlittenerSchaden()));
- }
- FloatSpielerSchaden::FloatSpielerSchaden(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_ERLITTENER_SCHADEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerSchaden::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getGemachterSchaden()));
- }
- FloatSpielerGeheiltesLeben::FloatSpielerGeheiltesLeben(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_SPIELER_GEHEILTES_LEBEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void FloatSpielerGeheiltesLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Spieler*)zParam(0))->getGeheiltesLeben()));
- }
- IntegerSpielerItemsAufgehoben::IntegerSpielerItemsAufgehoben(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_ITEMS_AUFGEHOBEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerItemsAufgehoben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getItemsAufgehoben()));
- }
- IntegerSpielerItemsVerwendet::IntegerSpielerItemsVerwendet(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_ITEMS_VERWENDET, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerItemsVerwendet::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getItemsVerwendet()));
- }
- IntegerSpielerItemsInInventar::IntegerSpielerItemsInInventar(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_ANZAHL_ITEMS_IN_INVENTAR, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerItemsInInventar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getItemsInInventory()));
- }
- IntegerSpielerItemsTypeInInventar::IntegerSpielerItemsTypeInInventar(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_ANZAHL_ITEMS_VON_TYP, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerItemsTypeInInventar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(1))->getItemsInInventory(((GegenstandTypVar*)zParam(0))->getValue())));
- }
- IntegerSpielerTunnelBenutzt::IntegerSpielerTunnelBenutzt(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_TUNNEL_BENUTZT, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerTunnelBenutzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getTunnelBenutzt()));
- }
- IntegerSpielerSchalterAktiviert::IntegerSpielerSchalterAktiviert(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_SCHALTER_AKTIVIERT, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerSchalterAktiviert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getSchalterAktiviert()));
- }
- IntegerSpielerGeschossen::IntegerSpielerGeschossen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SPIELER_GESCHOSSEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void IntegerSpielerGeschossen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Spieler*)zParam(0))->getGeschossen()));
- }
- FloatDropZeit::FloatDropZeit(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_DROP_ZEIT, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void FloatDropZeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Drop*)zParam(0))->getZeit()));
- }
- IntegerDropMaxZeit::IntegerDropMaxZeit(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_DROP_MAX_ZEIT, subActions)
- {
- erlaubteTypen.add(DROP);
- }
- void IntegerDropMaxZeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Drop*)zParam(0))->getMaxTime()));
- }
- FloatGameObjektBreite::FloatGameObjektBreite(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_GAME_OBJEKT_BREITE, subActions)
- {
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void FloatGameObjektBreite::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((GameObject*)zParam(0))->getWidth()));
- }
- FloatGameObjektHeight::FloatGameObjektHeight(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_GAME_OBJEKT_HEIGHT, subActions)
- {
- erlaubteTypen.add(GAME_OBJEKT);
- }
- void FloatGameObjektHeight::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((GameObject*)zParam(0))->getHeight()));
- }
- IntegerBariereVerschiebungen::IntegerBariereVerschiebungen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_BARIERE_VERSCHIEBUNGEN, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void IntegerBariereVerschiebungen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Bariere*)zParam(0))->getVerschiebungAnzahl()));
- }
- IntegerBariereSchaltungen::IntegerBariereSchaltungen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_BARIERE_SCHALTUNGEN, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void IntegerBariereSchaltungen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Bariere*)zParam(0))->getSchaltungAnzahl()));
- }
- IntegerSchalterAktivierungen::IntegerSchalterAktivierungen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_SCHALTER_AKTIVIERUNGEN, subActions)
- {
- erlaubteTypen.add(SCHALTER);
- }
- void IntegerSchalterAktivierungen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Schalter*)zParam(0))->getAnzahlAktivierungen()));
- }
- IntegerTunnelBenutzungen::IntegerTunnelBenutzungen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TUNNEL_BENUTZUNGEN, subActions)
- {
- erlaubteTypen.add(TUNNEL);
- }
- void IntegerTunnelBenutzungen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Tunnel*)zParam(0))->getBenutzungen()));
- }
- IntegerUmlenkungBenutzungen::IntegerUmlenkungBenutzungen(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_UMLENKUNG_BENUTZUNGEN, subActions)
- {
- erlaubteTypen.add(UMLENKUNG);
- }
- void IntegerUmlenkungBenutzungen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Umlenkung*)zParam(0))->getBenutzungen()));
- }
- IntegerTeamPunkte::IntegerTeamPunkte(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TEAM_PUNKTE, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void IntegerTeamPunkte::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Team*)zParam(0))->getPunkte()));
- }
- IntegerTeamKills::IntegerTeamKills(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TEAM_KILLS, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void IntegerTeamKills::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Team*)zParam(0))->getKills()));
- }
- IntegerTeamTode::IntegerTeamTode(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TEAM_TODE, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void IntegerTeamTode::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Team*)zParam(0))->getTode()));
- }
- FloatTeamWiederbelegungszeit::FloatTeamWiederbelegungszeit(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_TEAM_WIEDERBELEBUNGSZEIT, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void FloatTeamWiederbelegungszeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Team*)zParam(0))->getMaxWiederbelebungsZeit()));
- }
- IntegerTeamSpieleranzahl::IntegerTeamSpieleranzahl(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TEAM_SPIELERANZAHL, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void IntegerTeamSpieleranzahl::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Team*)zParam(0))->getSpielerAnzahl()));
- }
- FloatTimerAktuelleZeit::FloatTimerAktuelleZeit(RCArray<Aktion>* subActions)
- : Aktion(FLOAT_TIMER_AKTUELLE_ZEIT, subActions)
- {
- erlaubteTypen.add(TIMER);
- }
- void FloatTimerAktuelleZeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float(((Timer*)zParam(0))->getTimeLeft()));
- }
- IntegerTimerMaxZeit::IntegerTimerMaxZeit(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TIMER_MAX_ZEIT, subActions)
- {
- erlaubteTypen.add(TIMER);
- }
- void IntegerTimerMaxZeit::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Timer*)zParam(0))->getMaxTime()));
- }
- IntegerTriggerRunns::IntegerTriggerRunns(RCArray<Aktion>* subActions)
- : Aktion(INTEGER_TRIGGER_RUNNS, subActions)
- {
- erlaubteTypen.add(TRIGGER);
- }
- void IntegerTriggerRunns::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer(((Trigger*)zParam(0))->getRuns()));
- }
- ItemSpielerInventar::ItemSpielerInventar(RCArray<Aktion>* subActions)
- : Aktion(ITEM_SPIELER_INVENTAR, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(SPIELER);
- }
- void ItemSpielerInventar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar((((Spieler*)zParam(1))->getInventorySlot(((Integer*)zParam(0))->getValue()))));
- }
- ItemZuletztAufgehoben::ItemZuletztAufgehoben()
- : Aktion(ITEM_ZULETZT_AUFGEHOBEN, new RCArray< Aktion >())
- {}
- void ItemZuletztAufgehoben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar(zSpiel->getItemZuletztAufgehoben()));
- }
- ItemZuletztAktiviert::ItemZuletztAktiviert()
- : Aktion(ITEM_ZULETZT_AKTIVIERT, new RCArray< Aktion >())
- {}
- void ItemZuletztAktiviert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar(zSpiel->getItemZuletztAktiviert()));
- }
- ItemZuletztGedropt::ItemZuletztGedropt()
- : Aktion(ITEM_ZULETZT_GEDROPT, new RCArray< Aktion >())
- {}
- void ItemZuletztGedropt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar(zSpiel->getItemZuletztGedropt()));
- }
- ItemZufall::ItemZufall()
- : Aktion(ITEM_ZUFALL, new RCArray< Aktion >())
- {}
- void ItemZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new GegenstandTypVar((GegenstandTyp)(int)(zSpiel->getRand() * ITEMANZAHL)));
- }
- GeschossZufall::GeschossZufall()
- : Aktion(GESCHOSS_ZUFALL, new RCArray< Aktion >())
- {}
- void GeschossZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomGeschoss());
- }
- GeschossZuletztAbgefeuert::GeschossZuletztAbgefeuert()
- : Aktion(GESCHOSS_ZULETZT_ABGEFEUERT, new RCArray< Aktion >())
- {}
- void GeschossZuletztAbgefeuert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getGeschossZuletztAbgefeuert());
- }
- GeschossZuletztUmgelenkt::GeschossZuletztUmgelenkt()
- : Aktion(GESCHOSS_ZULETZT_UMGELENKT, new RCArray< Aktion >())
- {}
- void GeschossZuletztUmgelenkt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getGeschossZuletztUmgelenkt());
- }
- GeschossZuletztBarjereGetroffen::GeschossZuletztBarjereGetroffen()
- : Aktion(GESCHOSS_ZULETZT_BARIERE_GETROFFEN, new RCArray< Aktion >())
- {}
- void GeschossZuletztBarjereGetroffen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getGeschossZuletztBariereGetroffen());
- }
- GeschossZuletztTunnelBenutzt::GeschossZuletztTunnelBenutzt()
- : Aktion(GESCHOSS_ZULETZT_TUNNEL_BENUTZT, new RCArray< Aktion >())
- {}
- void GeschossZuletztTunnelBenutzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getGeschossZuletztTunnelBenutzt());
- }
- GeschossZuletztGeschossGetroffen::GeschossZuletztGeschossGetroffen()
- : Aktion(GESCHOSS_ZULETZT_GESCHOSS_GETROFFEN, new RCArray< Aktion >())
- {}
- void GeschossZuletztGeschossGetroffen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getGeschossZuletztGeschossGetroffen());
- }
- RichtungZufall::RichtungZufall()
- : Aktion(RICHTUNG_ZUFALL, new RCArray< Aktion >())
- {}
- void RichtungZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String((Richtung)(int)(zSpiel->getRand() * RICHTUNG_ANZAHL)));
- }
- RichtungVonUmlenkung::RichtungVonUmlenkung(RCArray< Aktion >* subActions)
- : Aktion(RICHTUNG_VON_UMLENKUNG, subActions)
- {
- erlaubteTypen.add(UMLENKUNG);
- }
- void RichtungVonUmlenkung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Umlenkung*)zParam(0))->getRichtung()));
- }
- RichtungVonGeschoss::RichtungVonGeschoss(RCArray< Aktion >* subActions)
- : Aktion(RICHTUNG_VON_GESCHOSS, subActions)
- {
- erlaubteTypen.add(GESCHOSS);
- }
- void RichtungVonGeschoss::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Geschoss*)zParam(0))->getRichtung()));
- }
- SchalterZufall::SchalterZufall()
- : Aktion(SCHALTER_ZUFALL, new RCArray< Aktion >())
- {}
- void SchalterZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomSchalter());
- }
- SchalterZuletztAktiviert::SchalterZuletztAktiviert()
- : Aktion(SCHALTER_ZULETZT_AKTIVIERT, new RCArray< Aktion >())
- {}
- void SchalterZuletztAktiviert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSchalterZuletztAktiviert());
- }
- SpielerZufall::SpielerZufall()
- : Aktion(SPIELER_ZUFALL, new RCArray< Aktion >())
- {}
- void SpielerZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomSpieler());
- }
- SpielerZufallAusTeam::SpielerZufallAusTeam(RCArray< Aktion >* subActions)
- : Aktion(SPIELER_ZUFALL_AUS_TEAM, subActions)
- {
- erlaubteTypen.add(TEAM);
- }
- void SpielerZufallAusTeam::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomSpieler((Team*)zParam(0)));
- }
- SpielerZuletztSchadenGemacht::SpielerZuletztSchadenGemacht()
- : Aktion(SPIELER_ZULETZT_SCHADEN_GEMACHT, new RCArray< Aktion >())
- {}
- void SpielerZuletztSchadenGemacht::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztSchadenGemacht());
- }
- SpielerZuletztSchadenGenommen::SpielerZuletztSchadenGenommen()
- : Aktion(SPIELER_ZULETZT_SCHADEN_GENOMMEN, new RCArray< Aktion >())
- {}
- void SpielerZuletztSchadenGenommen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztSchadenGenommen());
- }
- SpielerZuletztGeheilt::SpielerZuletztGeheilt()
- : Aktion(SPIELER_ZULETZT_GEHEILT, new RCArray< Aktion >())
- {}
- void SpielerZuletztGeheilt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztGeheilt());
- }
- SpielerZuletztLevelUp::SpielerZuletztLevelUp()
- : Aktion(SPIELER_ZULETZT_LEVEL_UP, new RCArray< Aktion >())
- {}
- void SpielerZuletztLevelUp::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztLevelUp());
- }
- SpielerZuletztErfahrungBekommen::SpielerZuletztErfahrungBekommen()
- : Aktion(SPIELER_ZULETZT_ERFAHRUNG_BEKOMMEN, new RCArray< Aktion >())
- {}
- void SpielerZuletztErfahrungBekommen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztErfahrungBekommen());
- }
- SpielerZuletztGegenstandAktiviert::SpielerZuletztGegenstandAktiviert()
- : Aktion(SPIELER_ZULETZT_GEGENSTAND_AKTIVIERT, new RCArray< Aktion >())
- {}
- void SpielerZuletztGegenstandAktiviert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztGegenstandAktiviert());
- }
- SpielerZuletztGegenstandAufgehoben::SpielerZuletztGegenstandAufgehoben()
- : Aktion(SPIELER_ZULETZT_GEGENSTAND_AUFGEHOBEN, new RCArray< Aktion >())
- {}
- void SpielerZuletztGegenstandAufgehoben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztGegenstandAufgehoben());
- }
- SpielerZuletztSchalterAktiviert::SpielerZuletztSchalterAktiviert()
- : Aktion(SPIELER_ZULETZT_SCHALTER_AKTIVIERT, new RCArray< Aktion >())
- {}
- void SpielerZuletztSchalterAktiviert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztSchalterAktiviert());
- }
- SpielerZuletztTunnelBenutzt::SpielerZuletztTunnelBenutzt()
- : Aktion(SPIELER_ZULETZT_TUNNEL_BENUTZT, new RCArray< Aktion >())
- {}
- void SpielerZuletztTunnelBenutzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztTunnelBenutzt());
- }
- SpielerZuletztGestorben::SpielerZuletztGestorben()
- : Aktion(SPIELER_ZULETZT_GESTORBEN, new RCArray< Aktion >())
- {}
- void SpielerZuletztGestorben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztGestorben());
- }
- SpielerZuletztWiederbelebent::SpielerZuletztWiederbelebent()
- : Aktion(SPIELER_ZULETZT_WIEDERBELEBT, new RCArray< Aktion >())
- {}
- void SpielerZuletztWiederbelebent::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztWiederbelebt());
- }
- SpielerZuletztGeschossGeschossen::SpielerZuletztGeschossGeschossen()
- : Aktion(SPIELER_ZULETZT_GESCHOSSEN, new RCArray< Aktion >())
- {}
- void SpielerZuletztGeschossGeschossen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getSpielerZuletztGeschossen());
- }
- TextConcat::TextConcat(RCArray< Aktion >* subActions)
- : Aktion(TEXT_CONCAT, subActions)
- {
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(STRING);
- }
- void TextConcat::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- String* p1 = (String*)zParam(0);
- String* p2 = (String*)zParam(1);
- String* res = new String(p1->getValue().operator+(p2->getValue().getText()));
- setReturn(res);
- }
- TextAusInteger::TextAusInteger(RCArray< Aktion >* subActions)
- : Aktion(TEXT_AUS_INTEGER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void TextAusInteger::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(Text(((Integer*)zParam(0))->getValue())));
- }
- TextAusRichtung::TextAusRichtung(RCArray< Aktion >* subActions)
- : Aktion(TEXT_AUS_RICHTUNG, subActions)
- {
- erlaubteTypen.add(RICHTUNG);
- }
- void TextAusRichtung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((String*)zParam(0))->getValue()));
- }
- TextAusBoolean::TextAusBoolean(RCArray< Aktion >* subActions)
- : Aktion(TEXT_AUS_BOOLEAN, subActions)
- {
- erlaubteTypen.add(BOOLEAN);
- }
- void TextAusBoolean::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Boolean*)zParam(0))->getValue() ? "true" : "false"));
- }
- TextSpielerName::TextSpielerName(RCArray< Aktion >* subActions)
- : Aktion(TEXT_SPIELER_NAME, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void TextSpielerName::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Spieler*)zParam(0))->getName()));
- }
- TextItemName::TextItemName(RCArray< Aktion >* subActions)
- : Aktion(TEXT_ITEM_NAME, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- }
- void TextItemName::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- switch (((GegenstandTypVar*)zParam(0))->getValue())
- {
- case PFEIL:
- setReturn(new String("PFEIL"));
- break;
- case LEBEN:
- setReturn(new String("LEBEN"));
- break;
- case SCHILD:
- setReturn(new String("SCHILD"));
- break;
- case SCHUH:
- setReturn(new String("SCHUH"));
- break;
- case GEIST:
- setReturn(new String("GEIST"));
- break;
- case KUGEL:
- setReturn(new String("KUGEL"));
- break;
- case ROLLE:
- setReturn(new String("ROLLE"));
- break;
- case STURM:
- setReturn(new String("STURM"));
- break;
- case DRACHENAUGE:
- setReturn(new String("DRACHENAUGE"));
- break;
- case FEUERBALL:
- setReturn(new String("FEUERBALL"));
- break;
- case ENTERHAKEN:
- setReturn(new String("ENTERHAKEN"));
- break;
- case MINE:
- setReturn(new String("MINE"));
- break;
- case RWEISHEIT:
- setReturn(new String("RWEISHEIT"));
- break;
- case RSTRENGTH:
- setReturn(new String("RSTRENGTH"));
- break;
- case RBOSHEIT:
- setReturn(new String("RBOSHEIT"));
- break;
- case RLEBEN:
- setReturn(new String("RLEBEN"));
- break;
- case RTEMPO:
- setReturn(new String("RTEMPO"));
- break;
- default:
- setReturn(new String("NICHTS"));
- break;
- }
- }
- TextTriggerName::TextTriggerName(RCArray< Aktion >* subActions)
- : Aktion(TEXT_TRIGGER_NAME, subActions)
- {
- erlaubteTypen.add(TRIGGER);
- }
- void TextTriggerName::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Trigger*)zParam(0))->getName()));
- }
- TextTeilVonText::TextTeilVonText(RCArray< Aktion >* subActions)
- : Aktion(TEXT_TEIL_VON_TEXT, subActions)
- {
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(INTEGER);
- erlaubteTypen.add(STRING);
- }
- void TextTeilVonText::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Text* txt = ((String*)zParam(2))->getValue().getTeilText(((Integer*)zParam(0))->getValue(), ((Integer*)zParam(1))->getValue());
- setReturn(new String(txt->getText()));
- txt->release();
- }
- TeamZufall::TeamZufall()
- : Aktion(TEAM_ZUFALL, new RCArray< Aktion >())
- {}
- void TeamZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomTeam());
- }
- TeamVonSpieler::TeamVonSpieler(RCArray< Aktion >* subActions)
- : Aktion(TEAM_VON_SPIELER, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void TeamVonSpieler::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(((Spieler*)zParam(0))->getTeam());
- }
- TeamVonBariere::TeamVonBariere(RCArray< Aktion >* subActions)
- : Aktion(TEAM_VON_BARIERE, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void TeamVonBariere::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(((Bariere*)zParam(0))->getTeam());
- }
- TimerZufall::TimerZufall()
- : Aktion(TIMER_ZUFALL, new RCArray< Aktion >())
- {}
- void TimerZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomTimer());
- }
- TimerZuletztAbgelaufen::TimerZuletztAbgelaufen()
- : Aktion(TIMER_ZULETZT_ABGELAUFEN, new RCArray< Aktion >())
- {}
- void TimerZuletztAbgelaufen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTimerZuletztAbgelaufen());
- }
- TimerZuletztGestartet::TimerZuletztGestartet()
- : Aktion(TIMER_ZULETZT_GESTARTET, new RCArray< Aktion >())
- {}
- void TimerZuletztGestartet::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTimerZuletztGestartet());
- }
- TimerZuletztPausiert::TimerZuletztPausiert()
- : Aktion(TIMER_ZULETZT_PAUSIERT, new RCArray< Aktion >())
- {}
- void TimerZuletztPausiert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTimerZuletztPausiert());
- }
- TimerZuletztFortgesetzt::TimerZuletztFortgesetzt()
- : Aktion(TIMER_ZULETZT_PAUSIERT, new RCArray< Aktion >())
- {}
- void TimerZuletztFortgesetzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTimerZuletztFortgesetzt());
- }
- TunnelZufall::TunnelZufall()
- : Aktion(TUNNEL_ZUFALL, new RCArray< Aktion >())
- {}
- void TunnelZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomTunnel());
- }
- TunnelZuletztBenutzt::TunnelZuletztBenutzt()
- : Aktion(TUNNEL_ZULETZT_BENUTZT, new RCArray< Aktion >())
- {}
- void TunnelZuletztBenutzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTunnelZuletztBenutzt());
- }
- UmlenkungZufall::UmlenkungZufall()
- : Aktion(UMLENKUNG_ZUFALL, new RCArray< Aktion >())
- {}
- void UmlenkungZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRandomUmlenkung());
- }
- UmlenkungZuletztBenutzt::UmlenkungZuletztBenutzt()
- : Aktion(UMLENKUNG_ZULETZT_BENUTZT, new RCArray< Aktion >())
- {}
- void UmlenkungZuletztBenutzt::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getUmlenkungZuletztBenutzt());
- }
- BooleanZufall::BooleanZufall()
- : Aktion(BOOLEAN_ZUFALL, new RCArray< Aktion >())
- {}
- void BooleanZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getRand() < 0.5 ? new Boolean(false) : new Boolean(true));
- }
- BooleanSpielPausiert::BooleanSpielPausiert()
- : Aktion(BOOLEAN_SPIEL_PAUSIERT, new RCArray< Aktion >())
- {}
- void BooleanSpielPausiert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(zSpiel->istPausiert()));
- }
- BooleanSpielerAmLeben::BooleanSpielerAmLeben(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_SPIELER_AM_LEBEN, subActions)
- {
- erlaubteTypen.add(SPIELER);
- }
- void BooleanSpielerAmLeben::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Spieler*)zParam(0))->istAmLeben()));
- }
- BooleanSpielerHatGegenstand::BooleanSpielerHatGegenstand(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_SPIELER_HAT_GEGENSTAND, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- erlaubteTypen.add(SPIELER);
- }
- void BooleanSpielerHatGegenstand::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Spieler*)zParam(1))->getItemsInInventory(((GegenstandTypVar*)zParam(0))->getValue()) != 0));
- }
- BooleanSpielerIstVerwundbar::BooleanSpielerIstVerwundbar(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_SPIELER_IST_VERWUNDBAR, subActions)
- {
- erlaubteTypen.add(RICHTUNG);
- erlaubteTypen.add(SPIELER);
- }
- void BooleanSpielerIstVerwundbar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Spieler*)zParam(1))->isVerwundbar(getRichtungFromString(((String*)zParam(0))->getValue()))));
- }
- BooleanSpielerKannItemBenutzen::BooleanSpielerKannItemBenutzen(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_SPIELER_KANN_ITEM_BENUTZEN, subActions)
- {
- erlaubteTypen.add(GEGENSTAND_TYP);
- erlaubteTypen.add(SPIELER);
- }
- void BooleanSpielerKannItemBenutzen::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Spieler*)zParam(1))->istGegenstandErlaubt(((GegenstandTypVar*)zParam(0))->getValue())));
- }
- BooleanUmlenkungHatAbk::BooleanUmlenkungHatAbk(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_UMLENKUNG_HAT_ABK, subActions)
- {
- erlaubteTypen.add(UMLENKUNG);
- }
- void BooleanUmlenkungHatAbk::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Umlenkung*)zParam(0))->hatAbklingzeit()));
- }
- BooleanUmlenkungIstDrehend::BooleanUmlenkungIstDrehend(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_UMLENKUNG_IST_DREHEND, subActions)
- {
- erlaubteTypen.add(UMLENKUNG);
- }
- void BooleanUmlenkungIstDrehend::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Umlenkung*)zParam(0))->istDrehend()));
- }
- BooleanBariereBewegtSich::BooleanBariereBewegtSich(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_BARIERE_BEWEGT_SICH, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void BooleanBariereBewegtSich::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Bariere*)zParam(0))->hatStyle(Bariere::Style::InVerschiebung)));
- }
- BooleanBariereIstSchaltend::BooleanBariereIstSchaltend(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_BARIERE_IST_SCHALTEND, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void BooleanBariereIstSchaltend::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Bariere*)zParam(0))->hatStyle(Bariere::Style::AutoSchaltung)));
- }
- BooleanBariereIstAktiv::BooleanBariereIstAktiv(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_BARIERE_IST_AKTIV, subActions)
- {
- erlaubteTypen.add(BARIERE);
- }
- void BooleanBariereIstAktiv::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Bariere*)zParam(0))->hatStyle(Bariere::Style::Aktiv)));
- }
- BooleanSchalterIstAktiv::BooleanSchalterIstAktiv(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_SCHALTER_IST_AKTIV, subActions)
- {
- erlaubteTypen.add(SCHALTER);
- }
- void BooleanSchalterIstAktiv::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Schalter*)zParam(0))->isAktive()));
- }
- BooleanTunnelIstAktiv::BooleanTunnelIstAktiv(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_TUNNEL_IST_AKTIV, subActions)
- {
- erlaubteTypen.add(TUNNEL);
- }
- void BooleanTunnelIstAktiv::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Tunnel*)zParam(0))->istAktiv()));
- }
- BooleanBaseIstNeutral::BooleanBaseIstNeutral(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_BASE_IST_NEUTRAL, subActions)
- {
- erlaubteTypen.add(BASE);
- }
- void BooleanBaseIstNeutral::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Base*)zParam(0))->zTeam() == 0));
- }
- BooleanTimerIsRunning::BooleanTimerIsRunning(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_TIMER_IS_RUNNING, subActions)
- {
- erlaubteTypen.add(TIMER);
- }
- void BooleanTimerIsRunning::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Timer*)zParam(0))->isRunning()));
- }
- BooleanTimerIstSichtbar::BooleanTimerIstSichtbar(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_TIMER_IST_SICHTBAR, subActions)
- {
- erlaubteTypen.add(TIMER);
- }
- void BooleanTimerIstSichtbar::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Timer*)zParam(0))->istSichtbar()));
- }
- BooleanAusText::BooleanAusText(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_AUS_TEXT, subActions)
- {
- erlaubteTypen.add(STRING);
- }
- void BooleanAusText::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((String*)zParam(0))->getValue().istGleich("true")));
- }
- BooleanTriggerIstAktiv::BooleanTriggerIstAktiv(RCArray< Aktion >* subActions)
- : Aktion(BOOLEAN_TRIGGER_IST_AKTIV, subActions)
- {
- erlaubteTypen.add(TRIGGER);
- }
- void BooleanTriggerIstAktiv::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Boolean(((Trigger*)zParam(0))->istAktiv()));
- }
- BooleanRechnung::BooleanRechnung(RCArray< Aktion >* subActions, Operator op)
- : Aktion(BOOLEAN_RECHNUNG, subActions)
- {
- this->op = op;
- }
- void BooleanRechnung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- if (op == UND || op == ODER)
- {
- if (zParam(0)->getVariableTyp() != BOOLEAN || zParam(1)->getVariableTyp() != BOOLEAN)
- return;
- Boolean* b1 = (Boolean*)zParam(0);
- Boolean* b2 = (Boolean*)zParam(1);
- if (op == UND)
- setReturn(new Boolean(b1->getValue() && b2->getValue()));
- else
- setReturn(new Boolean(b1->getValue() || b2->getValue()));
- }
- if (op == GLEICH || op == UNGLEICH)
- {
- if (zParam(1)->getVariableTyp() != zParam(0)->getVariableTyp())
- {
- setReturn(new Boolean(op == GLEICH));
- return;
- }
- switch (zParam(0)->getVariableTyp())
- {
- case NICHTS:
- setReturn(new Boolean(op == GLEICH));
- break;
- case INTEGER:
- setReturn(new Boolean((op == GLEICH) == (((Integer*)zParam(0))->getValue() == ((Integer*)zParam(1))->getValue())));
- break;
- case BOOLEAN:
- setReturn(new Boolean((op == GLEICH) == (((Boolean*)zParam(0))->getValue() == ((Boolean*)zParam(1))->getValue())));
- break;
- case STRING:
- setReturn(new Boolean((op == GLEICH) == (((String*)zParam(0))->getValue().istGleich(((String*)zParam(1))->getValue()))));
- break;
- case RICHTUNG:
- setReturn(new Boolean((op == GLEICH) == (((String*)zParam(0))->getValue().istGleich(((String*)zParam(1))->getValue()))));
- break;
- case FLOAT:
- setReturn(new Boolean((op == GLEICH) == (((Float*)zParam(0))->getValue() == ((Float*)zParam(1))->getValue())));
- break;
- case TASTE:
- setReturn(new Boolean((op == GLEICH) == (((Integer*)zParam(0))->getValue() == ((Integer*)zParam(1))->getValue())));
- break;
- case GEGENSTAND_TYP:
- setReturn(new Boolean((op == GLEICH) == (((GegenstandTypVar*)zParam(0))->getValue() == ((GegenstandTypVar*)zParam(1))->getValue())));
- break;
- case GESCHOSS_TYP:
- setReturn(new Boolean((op == GLEICH) == (((String*)zParam(0))->getValue().istGleich(((String*)zParam(1))->getValue()))));
- break;
- default:
- setReturn(new Boolean((op == GLEICH) == (zParam(0) == zParam(1))));
- }
- }
- if (op == GREATER || op == SMALLER || op == GREATER_OR_EQUAL || op == SMALLER_OR_EQUAL)
- {
- if (zParam(1)->getVariableTyp() != zParam(0)->getVariableTyp())
- {
- setReturn(new Boolean(op == GLEICH));
- return;
- }
- if (zParam(1)->getVariableTyp() == INTEGER)
- {
- if (op == SMALLER || op == GREATER_OR_EQUAL)
- setReturn(new Boolean((op == SMALLER) == (((Integer*)zParam(0))->getValue() < ((Integer*)zParam(1))->getValue())));
- else
- setReturn(new Boolean((op == GREATER) == (((Integer*)zParam(0))->getValue() > ((Integer*)zParam(1))->getValue())));
- }
- if (zParam(1)->getVariableTyp() == FLOAT)
- {
- if (op == SMALLER || op == GREATER_OR_EQUAL)
- setReturn(new Boolean((op == SMALLER) == (((Float*)zParam(0))->getValue() < ((Float*)zParam(1))->getValue())));
- else
- setReturn(new Boolean((op == GREATER) == (((Float*)zParam(0))->getValue() > ((Float*)zParam(1))->getValue())));
- }
- }
- if (op == INVERT_BOOL)
- {
- setReturn(new Boolean(!((Boolean*)zParam(0))->getValue()));
- }
- }
- void BooleanRechnung::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&this->op, 1);
- }
- Sequenz::Sequenz(RCArray< Aktion >* subActions)
- : Aktion(SEQUENZ, subActions)
- {}
- void Sequenz::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {}
- FloatRechnung::FloatRechnung(RCArray< Aktion >* subActions, Operator op)
- : Aktion(FLOAT_RECHNUNG, subActions)
- {
- this->op = op;
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(FLOAT);
- }
- void FloatRechnung::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Float* l = (Float*)zParam(0);
- Float* r = (Float*)zParam(1);
- switch (op)
- {
- case PLUS:
- setReturn(new Float(l->getValue() + r->getValue()));
- break;
- case MINUS:
- setReturn(new Float(l->getValue() - r->getValue()));
- break;
- case MAHL:
- setReturn(new Float(l->getValue() * r->getValue()));
- break;
- case GETEILT:
- setReturn(new Float(l->getValue() / r->getValue()));
- break;
- case HOCH:
- setReturn(new Float((float)pow(l->getValue(), r->getValue())));
- break;
- case WURZEL:
- setReturn(new Float((float)pow(l->getValue(), 1.0 / r->getValue())));
- break;
- case INVERT_SIGN:
- setReturn(new Float(-l->getValue()));
- break;
- case PLUS_PLUS_LEFT:
- l->setValue(l->getValue() + 1);
- setReturn(new Float(l->getValue()));
- break;
- case PLUS_PLUS_RIGHT:
- {
- float tmp = l->getValue();
- l->setValue(l->getValue() + 1);
- setReturn(new Float(tmp));
- break;
- }
- case MINUS_MINUS_LEFT:
- l->setValue(l->getValue() - 1);
- setReturn(new Float(l->getValue()));
- break;
- case MINUS_MINUS_RIGHT:
- {
- float tmp = l->getValue();
- l->setValue(l->getValue() - 1);
- setReturn(new Float(tmp));
- break;
- }
- case LOGARITHM:
- setReturn(new Float((float)(log(l->getValue()) / log(r->getValue()))));
- break;
- case MODULO:
- setReturn(new Float(l->getValue() - (float)(int)(l->getValue() / r->getValue()) * r->getValue()));
- break;
- default:
- break;
- }
- }
- void FloatRechnung::writeOptions(Datei& dat)
- {
- dat.schreibe((char*)&op, 1);
- }
- FloatAusInteger::FloatAusInteger(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_AUS_INTEGER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void FloatAusInteger::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float((float)((Integer*)zParam(0))->getValue()));
- }
- FloatAusText::FloatAusText(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_AUS_TEXT, subActions)
- {
- erlaubteTypen.add(STRING);
- }
- void FloatAusText::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Float((float)((String*)zParam(0))->getValue()));
- }
- TextAusFloat::TextAusFloat(RCArray< Aktion >* subActions)
- : Aktion(TEXT_AUS_FLOAT, subActions)
- {
- erlaubteTypen.add(FLOAT);
- }
- void TextAusFloat::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(Text(((Float*)zParam(0))->getValue())));
- }
- FloatZufall::FloatZufall(RCArray< Aktion >* subActions)
- : Aktion(FLOAT_ZUFALL, subActions)
- {
- erlaubteTypen.add(FLOAT);
- erlaubteTypen.add(FLOAT);
- }
- void FloatZufall::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Float* min = ((Float*)zParam(0));
- Float* max = ((Float*)zParam(0));
- setReturn(new Float((float)zSpiel->getRand() * (max->getValue() - min->getValue()) + min->getValue()));
- }
- IntegerAusFloat::IntegerAusFloat(RCArray< Aktion >* subActions)
- : Aktion(INTEGER_AUS_FLOAT, subActions)
- {
- erlaubteTypen.add(FLOAT);
- }
- void IntegerAusFloat::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Integer((int)((Float*)zParam(0))->getValue()));
- }
- BestenlisteNeu::BestenlisteNeu(RCArray<Aktion>* subActions)
- : Aktion(BESTENLISTE_NEU, subActions)
- {}
- void BestenlisteNeu::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new Bestenliste(zSpiel->getNextId()));
- }
- BestenlisteAddZeile::BestenlisteAddZeile(RCArray<Aktion>* subActions)
- : Aktion(BESTENLISTE_ADD_ZEILE, subActions)
- {
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(BESTENLISTE);
- }
- void BestenlisteAddZeile::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bestenliste*)zParam(1))->addZeile(((String*)zParam(0))->getValue());
- }
- BestenlisteAddSpalte::BestenlisteAddSpalte(RCArray<Aktion>* subActions)
- : Aktion(BESTENLISTE_ADD_SPALTE, subActions)
- {
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(BESTENLISTE);
- }
- void BestenlisteAddSpalte::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bestenliste*)zParam(1))->addSpalte(((String*)zParam(0))->getValue());
- }
- BestenlisteSetWert::BestenlisteSetWert(RCArray<Aktion>* subActions)
- : Aktion(BESTENLISTE_SET_WERT, subActions)
- {
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(BESTENLISTE);
- }
- void BestenlisteSetWert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- ((Bestenliste*)zParam(3))->setWert(((String*)zParam(0))->getValue(), ((String*)zParam(1))->getValue(), ((String*)zParam(2))->getValue());
- }
- BestenlisteGetWert::BestenlisteGetWert(RCArray<Aktion>* subActions)
- : Aktion(BESTENLISTE_GET_WERT, subActions)
- {
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(STRING);
- erlaubteTypen.add(BESTENLISTE);
- }
- void BestenlisteGetWert::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(new String(((Bestenliste*)zParam(2))->getWert(((String*)zParam(0))->getValue(), ((String*)zParam(1))->getValue())));
- }
- SchalterMitNummer::SchalterMitNummer(RCArray<Aktion>* subActions)
- : Aktion(SCHALTER_MIT_NUMMER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void SchalterMitNummer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Schalter* s = zSpiel->getSchalter(((Integer*)zParam(0))->getValue());
- if (s)
- setReturn(s);
- else
- setReturn(new Variable(VariableTyp::NICHTS));
- }
- BaseMitNummer::BaseMitNummer(RCArray<Aktion>* subActions)
- : Aktion(BASE_MIT_NUMMER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void BaseMitNummer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Base* b = zSpiel->getBase(((Integer*)zParam(0))->getValue());
- if (b)
- setReturn(b);
- else
- setReturn(new Variable(VariableTyp::NICHTS));
- }
- TeamMitNummer::TeamMitNummer(RCArray<Aktion>* subActions)
- : Aktion(TEAM_MIT_NUMMER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void TeamMitNummer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- setReturn(zSpiel->getTeam(((Integer*)zParam(0))->getValue()));
- }
- TeamVonBase::TeamVonBase(RCArray<Aktion>* subActions)
- : Aktion(TEAM_VON_BASE, subActions)
- {
- erlaubteTypen.add(BASE);
- }
- void TeamVonBase::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Team* t = ((Base*)zParam(0))->getTeam();
- if (t)
- setReturn(t);
- else
- setReturn(new Variable(VariableTyp::NICHTS));
- }
- SpielerMitNummer::SpielerMitNummer(RCArray<Aktion>* subActions)
- : Aktion(SPIELER_MIT_NUMMER, subActions)
- {
- erlaubteTypen.add(INTEGER);
- }
- void SpielerMitNummer::run(Spiel* zSpiel, Ereignis* zEreignis, LocalMemory* zMemory, ProgramCounter* zPC, double& waitCount)
- {
- Spieler* s = zSpiel->getSpieler(((Integer*)zParam(0))->getValue());
- if (s)
- setReturn(s);
- else
- setReturn(new Variable(VariableTyp::NICHTS));
- }
|