TFiniteAutomaton& TFiniteAutomaton::Iterate() { // FIXME: expected exactly one final state const size_t mySize = Size(), myFinal = *FinalStates.begin(); Resize(mySize + 2); AddTransition(mySize, StartState); AddTransition(myFinal, mySize + 1); AddTransition(myFinal, StartState); AddTransition(mySize, mySize + 1); SetStartState(mySize); SetFinalState(myFinal, false); SetFinalState(mySize + 1); return *this; }
void PxGraphicsRoot::Init() { Window = PxWindow::Window(); Window->Init( PxConfiguration::GetLong("g_screenwidth"), PxConfiguration::GetLong("g_screenheight"), PxConfiguration::GetLong("g_bpp"), PxConfiguration::GetLong("g_debug_window" ) == 0 ); PxExtensionManager::Init(); PxImageProvider::Init(); PxTextureManager::Init(); PxTextWriter::Init(); PxModelManager::Init(); PxSceneRegulator * pRegulator = new PxSceneRegulator(); Window->EnableVSync(); SetStartState(pRegulator); }
TFiniteAutomaton& TFiniteAutomaton::operator |= (const TFiniteAutomaton& rhs) { // FIXME: expected exactly one final state from both the automata const size_t mySize = Size(), myFinal = *FinalStates.begin(); Import(rhs); const size_t newSize = Size(); Resize(newSize + 2); AddTransition(newSize, StartState); AddTransition(newSize, mySize + rhs.StartState); AddTransition(myFinal, newSize + 1); AddTransition(mySize + *rhs.FinalStates.begin(), newSize + 1); SetStartState(newSize); SetFinalState(myFinal, false); SetFinalState(mySize + *rhs.FinalStates.begin(), false); SetFinalState(newSize + 1); return *this; }
FrogBoss::FrogBoss(Level* levelData, mjResourceManager* resourceManager) : KosmoObject(MJ_AABB, resourceManager, levelData) { srand(time(0)); model = resourceManager->FetchModel("entities/evilFrog/evilfrog.mesh.xml"); glTexture = resourceManager->FetchTexture("entities/evilFrog/evilfrog.png", GL_REPEAT);//("/sdcard/mjEngineCPP/bluesky/wandering_cloud0.png"); // for (unsigned i = 0; i < model->meshes.size(); i++) { model->meshes[i]->glTexture = glTexture; } FrogBossAutomatonState* waitForLandingState = new FrogBossAutomatonWaitForLandingState(this); LOGI("%s %d: new %s", __FILE__, __LINE__, "frogBossLandingState"); FrogBossAutomatonState* huntState = new FrogBossAutomatonHuntState(this); LOGI("%s %d: new %s", __FILE__, __LINE__, "frogBossHuntState"); FrogBossAutomatonState* slamState = new FrogBossAutomatonSlamState(this); LOGI("%s %d: new %s", __FILE__, __LINE__, "frogBossSlammingState"); states.push_back(waitForLandingState); states.push_back(huntState); states.push_back(slamState); SetStartState(waitForLandingState); MatchAABBToModel(); soundSource = new mjSoundSource(); LOGI("%s %d: new %s", __FILE__, __LINE__, "soundSource"); soundSource->attenuation = 0.001; // Essentially heard everywhere soundSource->Load(resourceManager->FetchSound("sounds/ribbit.wav"), 0); gravity.y = -9.81; }
static void Init(CJcScanner* scanner){ jc_int i; scanner->EOL = '\n'; scanner->eofSym = 0; scanner->maxT = 87; scanner->noSym = 87; for (i = 65; i <= 90; ++i) SetStartState(&scanner->start, i, 1); for (i = 95; i <= 95; ++i) SetStartState(&scanner->start, i, 1); for (i = 97; i <= 122; ++i) SetStartState(&scanner->start, i, 1); for (i = 49; i <= 57; ++i) SetStartState(&scanner->start, i, 71); SetStartState(&scanner->start, 48, 72); SetStartState(&scanner->start, 39, 2); SetStartState(&scanner->start, 34, 9); SetStartState(&scanner->start, 46, 73); SetStartState(&scanner->start, 62, 74); SetStartState(&scanner->start, 60, 75); SetStartState(&scanner->start, 33, 76); SetStartState(&scanner->start, 37, 77); SetStartState(&scanner->start, 94, 78); SetStartState(&scanner->start, 38, 79); SetStartState(&scanner->start, 42, 80); SetStartState(&scanner->start, 45, 81); SetStartState(&scanner->start, 43, 82); SetStartState(&scanner->start, 124, 83); SetStartState(&scanner->start, 47, 84); SetStartState(&scanner->start, 61, 85); SetStartState(&scanner->start, 126, 61); SetStartState(&scanner->start, 40, 62); SetStartState(&scanner->start, 41, 63); SetStartState(&scanner->start, 123, 64); SetStartState(&scanner->start, 125, 65); SetStartState(&scanner->start, 91, 66); SetStartState(&scanner->start, 93, 67); SetStartState(&scanner->start, 58, 86); SetStartState(&scanner->start, 59, 68); SetStartState(&scanner->start, 44, 69); SetStartState(&scanner->start, 63, 70); SetStartState(&scanner->start, EoF, -1); SetKeyword(&scanner->keywords, "auto", 6); SetKeyword(&scanner->keywords, "break", 7); SetKeyword(&scanner->keywords, "case", 8); SetKeyword(&scanner->keywords, "char", 9); SetKeyword(&scanner->keywords, "const", 10); SetKeyword(&scanner->keywords, "continue", 11); SetKeyword(&scanner->keywords, "default", 12); SetKeyword(&scanner->keywords, "do", 13); SetKeyword(&scanner->keywords, "double", 14); SetKeyword(&scanner->keywords, "else", 15); SetKeyword(&scanner->keywords, "enum", 16); SetKeyword(&scanner->keywords, "extern", 17); SetKeyword(&scanner->keywords, "float", 18); SetKeyword(&scanner->keywords, "for", 19); SetKeyword(&scanner->keywords, "goto", 20); SetKeyword(&scanner->keywords, "host", 21); SetKeyword(&scanner->keywords, "if", 22); SetKeyword(&scanner->keywords, "int", 23); SetKeyword(&scanner->keywords, "long", 24); SetKeyword(&scanner->keywords, "register", 25); SetKeyword(&scanner->keywords, "return", 26); SetKeyword(&scanner->keywords, "share", 27); SetKeyword(&scanner->keywords, "short", 28); SetKeyword(&scanner->keywords, "signed", 29); SetKeyword(&scanner->keywords, "sizeof", 30); SetKeyword(&scanner->keywords, "static", 31); SetKeyword(&scanner->keywords, "struct", 32); SetKeyword(&scanner->keywords, "switch", 33); SetKeyword(&scanner->keywords, "typedef", 34); SetKeyword(&scanner->keywords, "union", 35); SetKeyword(&scanner->keywords, "unsigned", 36); SetKeyword(&scanner->keywords, "void", 37); SetKeyword(&scanner->keywords, "volatile", 38); SetKeyword(&scanner->keywords, "while", 39); SetKeyword(&scanner->keywords, "alignof", 86); scanner->tvalLength = 128; scanner->tval = (char*)g_oInterface.Malloc(scanner->tvalLength); /* text of current token */ /* HEAP_BLOCK_SIZE byte heap + pointer to next heap block */ scanner->pHeap = g_oInterface.Malloc(HEAP_BLOCK_SIZE + sizeof(void*)); scanner->pFirstHeap = scanner->pHeap; scanner->pHeapEnd = (void**) (((char*) scanner->pHeap) + HEAP_BLOCK_SIZE); *scanner->pHeapEnd = 0; scanner->pHeapTop = scanner->pHeap; if(sizeof(CJcToken) > HEAP_BLOCK_SIZE){ g_oInterface.PrintError(0, "--- Too small HEAP_BLOCK_SIZE\n"); g_oInterface.Abort(); } scanner->pos = -1; scanner->line = 1; scanner->col = 0; scanner->oldEols = 0; }