bool CSECEditor::MoveBackIdentifier (TEXTPOS &textPos) { TEXTPOS tempPos=textPos; if (IsBeginning (tempPos) || tempPos.pLine==NULL) { return (false); }; MoveBack (tempPos); SkipSpacesBack (tempPos); if (!IsIdentifier (GetCharacter (tempPos))) { return (false); }; do { MoveBack (tempPos); } while (!IsBeginning (tempPos) && IsIdentifier (GetCharacter (tempPos))); if (!IsIdentifier (GetCharacter (tempPos))) { MoveForward (tempPos); }; textPos = tempPos; return (true); }
void Camera::Update(GameTime gameTime) { // Check for movement of the camera. if(GetAsyncKeyState('Q')) MoveLeft(gameTime); else if(GetAsyncKeyState('E')) MoveRight(gameTime); if(GetAsyncKeyState('W')) MoveForward(gameTime); else if(GetAsyncKeyState('S')) MoveBack(gameTime); if(GetAsyncKeyState('A')) TurnHorizontal((float)(-gameTime.GetTimeSinceLastTick().Milliseconds) * C_TILTING_SPEED); else if(GetAsyncKeyState('D')) TurnHorizontal((float)gameTime.GetTimeSinceLastTick().Milliseconds * C_TILTING_SPEED); // Check for tilting of camera. //if(GetAsyncKeyState(VK_LBUTTON)) //{ // float dx = prevInput.Mouse.x - currInput.Mouse.x; // float dy = prevInput.Mouse.y - currInput.Mouse.y; // //TurnHorizontal(dx * C_TILTING_SPEED); // //TurnVertical(dy * C_TILTING_SPEED); //} }
void CSECEditor::SkipSpacesBack (TEXTPOS &textPos) { while (!IsBeginning (textPos) && isspace (GetCharacter (textPos))) { MoveBack (textPos); }; }
bool CSECEditor::MoveBackIndexing (TEXTPOS &textPos) { TEXTPOS tempPos=textPos; unsigned int uiBracketCount=0; if (IsBeginning (textPos)) { return (false); }; MoveBack (tempPos); SkipSpacesBack (tempPos); if (GetCharacter (tempPos) != ']') { return (false); }; do { if (GetCharacter (tempPos) == '[') { --uiBracketCount; } else if (GetCharacter (tempPos) == ']') { ++uiBracketCount; }; MoveBack (tempPos); } while (!IsBeginning (tempPos) && uiBracketCount != 0); if (uiBracketCount != 0) { return (false); }; MoveForward (tempPos); textPos = tempPos; return (true); }
//Fonction Stop-------------------------------------------------------------faux void Stop() { //Stopper dépend de la vitesse initiale du bateau. int relay1 = PINC & _BV(RELAY_1); //Lecture de la patte RELAY_1 int relay2 = PINC & _BV(RELAY_2); //Lecture de la patte RELAY_2 //Si le bateau avance (RELAY_1 en travail, RELAY_2 en repos), on donne un petit coup de marche arrière (RELAY_1 en repos, RELAY_2 en travail) pour arrêter sa progression if (relay1 == 1) {MoveBack(); _delay_ms(DELAY_STOP);} //Sinon si le bateau recule (RELAY_2 en travail, RELAY_1 en repos), on donne un petit coup de marche avant (RELAY_2 en repos, RELAY_1 en travail) pour arrêter sa progression else if (relay2 == 1) {MoveForward(); _delay_ms(DELAY_STOP);} //Puis on inactive RELAY_1 et RELAY_2 PORTC &= (0 << RELAY_1) & (0 << RELAY_2); }
bool CFixedStringListW::MoveAt( UInt32 nPosition ) { if( nPosition >= m_nStringCount ) { return MoveBack(); } m_tCurrentPosition = m_ptList->begin(); while( nPosition > 0 ) { ++m_tCurrentPosition; --nPosition; } return true; }
bool CSECEditor::MoveBackComponent (TEXTPOS &textPos) { TEXTPOS tempPos=textPos; if (IsBeginning (textPos)) { return (false); }; MoveBack (tempPos); SkipSpacesBack (tempPos); if (GetCharacter (tempPos) != '.') { return (false); }; textPos = tempPos; return (true); }
/* * main.c */ int main(void) { WDTCTL = WDTPW|WDTHOLD; // stop the watchdog timer initMotors(); while(1) { TurnLeft(); ShortDelay(); StopBot(); Delay(); TurnRight(); ShortDelay(); StopBot(); Delay(); MoveForward(); Delay(); StopBot(); Delay(); MoveBack(); Delay(); StopBot(); Delay(); TurnRight(); Delay(); StopBot(); Delay(); TurnLeft(); Delay(); StopBot(); Delay(); Delay(); Delay(); } }
bool CViewer::ExecuteFreeModeAction(float _fDeltaSeconds, float _fDelta, const char* _pcAction) { if(strcmp(_pcAction, "Run") == 0) { SetRunning(); return true; } if(strcmp(_pcAction, "MoveFwd") == 0) { MoveFwd(); return true; } if(strcmp(_pcAction, "MoveBack") == 0) { MoveBack(); return true; } if(strcmp(_pcAction, "MoveLeft") == 0) { MoveLeft(); return true; } if(strcmp(_pcAction, "MoveRight") == 0) { MoveRight(); return true; } if(strcmp(_pcAction, "MoveUp") == 0) { m_bMoveUp = true; return true; } if(strcmp(_pcAction, "MoveDown") == 0) { m_bMoveDown = true; return true; } //if(strcmp(_pcAction, "AugmentaAmbient") == 0) //{ // IncrementAmbientLight(); // return true; //} //if(strcmp(_pcAction, "DisminueixAmbient") == 0) //{ // DecrementAmbientLight(); // return true; //} //if(strcmp(_pcAction, "ShootBOT") == 0) //{ // if(m_pCharacter) // { // CRenderableAnimatedInstanceModel* l_pAnim = (CRenderableAnimatedInstanceModel*)m_pCharacter; // l_pAnim->GetAnimatedInstanceModel()->ExecuteAction(3,1); // } // return true; //} //if(strcmp(_pcAction, "AimBot") == 0) //{ // if(m_pCharacter) // { // CRenderableAnimatedInstanceModel* l_pAnim = (CRenderableAnimatedInstanceModel*)m_pCharacter; // if ((l_pAnim->GetAnimatedInstanceModel()->GetCurrentCycle() == 1) || // (l_pAnim->GetAnimatedInstanceModel()->GetCurrentCycle() == 0)) // { // l_pAnim->GetAnimatedInstanceModel()->ClearCycle(0.5f); // l_pAnim->GetAnimatedInstanceModel()->BlendCycle(2,0.5f); // } // else if (l_pAnim->GetAnimatedInstanceModel()->GetCurrentCycle() == 2) // { // l_pAnim->GetAnimatedInstanceModel()->ClearCycle(0.5f); // l_pAnim->GetAnimatedInstanceModel()->BlendCycle(1,0.5f); // } // } // return true; //} return false; }
// エントリポイント int WINAPI _tWinMain( HINSTANCE hInst, HINSTANCE, LPTSTR, int ) { LARGE_INTEGER nNowTime, nLastTime; // 現在とひとつ前の時刻 LARGE_INTEGER nTimeFreq; // 時間単位 // 画面サイズ g_nClientWidth = VIEW_WIDTH; // 幅 g_nClientHeight = VIEW_HEIGHT; // 高さ // Register the window class WNDCLASSEX wc = { sizeof( WNDCLASSEX ), CS_CLASSDC, MsgProc, 0L, 0L, GetModuleHandle( NULL ), NULL, NULL, NULL, NULL, _T( "D3D Sample" ), NULL }; RegisterClassEx( &wc ); RECT rcRect; SetRect( &rcRect, 0, 0, g_nClientWidth, g_nClientHeight ); AdjustWindowRect( &rcRect, WS_OVERLAPPEDWINDOW, FALSE ); g_hWnd = CreateWindow( _T( "D3D Sample" ), _T( "Scroll_5_1" ), WS_OVERLAPPEDWINDOW, 100, 20, rcRect.right - rcRect.left, rcRect.bottom - rcRect.top, GetDesktopWindow(), NULL, wc.hInstance, NULL ); // Initialize Direct3D if( SUCCEEDED( InitD3D() ) && SUCCEEDED( MakeShaders() ) ) { // Create the shaders if( SUCCEEDED( InitDrawModes() ) ) { if ( SUCCEEDED( InitGeometry() ) ) { // ジオメトリ作成 // Show the window ShowWindow( g_hWnd, SW_SHOWDEFAULT ); UpdateWindow( g_hWnd ); InitBack(); // キャラクタ初期化 QueryPerformanceFrequency( &nTimeFreq ); // 時間単位 QueryPerformanceCounter( &nLastTime ); // 1フレーム前時刻初期化 // Enter the message loop MSG msg; ZeroMemory( &msg, sizeof( msg ) ); while( msg.message != WM_QUIT ) { Render(); MoveBack(); do { if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } QueryPerformanceCounter( &nNowTime ); } while( ( ( nNowTime.QuadPart - nLastTime.QuadPart ) < ( nTimeFreq.QuadPart / 90 ) ) && ( msg.message != WM_QUIT ) ); while( ( ( nNowTime.QuadPart - nLastTime.QuadPart ) < ( nTimeFreq.QuadPart / 60 ) ) && ( msg.message != WM_QUIT ) ) { QueryPerformanceCounter( &nNowTime ); } nLastTime = nNowTime; g_pSwapChain->Present( 0, 0 ); // 表示 } } } } // Clean up everything and exit the app Cleanup(); UnregisterClass( _T( "D3D Sample" ), wc.hInstance ); return 0; }
bool CSECEditor::GetSmartTextLimits (const TEXTPOS &textPos, TEXTPOS &startTextPos, TEXTPOS &endTextPos) { bool bReady; SmartState state; TEXTPOS lastTextPos; startTextPos = textPos; state = GetInitialSmartState (startTextPos); if (state == SmartError) { return (false); }; bReady = false; while (!bReady) { switch (state) { case SmartIdentifier: if (MoveBackComponent (startTextPos)) { state = SmartComponent; } else { bReady = true; }; break; case SmartIndexing: if (MoveBackIdentifier (startTextPos)) { state = SmartIdentifier; } else if (MoveBackIndexing (startTextPos)) { state = SmartIndexing; } else { MoveForwardIndexing (startTextPos); state = GetInitialSmartState (startTextPos); bReady = true; }; break; case SmartComponent: if (MoveBackIdentifier (startTextPos)) { state = SmartIdentifier; } else if (MoveBackIndexing (startTextPos)) { state = SmartIndexing; } else { MoveForwardComponent (startTextPos); state = GetInitialSmartState (startTextPos); bReady = true; }; break; }; }; if (state == SmartError) { return (false); }; endTextPos = startTextPos; switch (state) { case SmartIdentifier: MoveForwardIdentifier (endTextPos); break; case SmartComponent: MoveForwardComponent (endTextPos); break; case SmartIndexing: MoveForwardIndexing (endTextPos); break; }; bReady = false; while (!bReady) { switch (state) { case SmartIdentifier: if (MoveForwardComponent (endTextPos)) { state = SmartComponent; } else if (MoveForwardIndexing (endTextPos)) { state = SmartIndexing; } else { bReady = true; }; break; case SmartComponent: if (MoveForwardIdentifier (endTextPos)) { state = SmartIdentifier; } else { MoveBackComponent (endTextPos); bReady = true; }; break; case SmartIndexing: if (MoveForwardIndexing (endTextPos)) { state = SmartIndexing; } else if (MoveForwardComponent (endTextPos)) { state = SmartComponent; } else { bReady = true; }; break; }; }; // Text position passed to this method has to be inside the calcu- // lated expression text range. Assume passing the position of '.' // in an invalid expression 'y[a].' to this method. The code above // calculates an expression text range which spans 'y[a]' without // the '.'. We don't want this to be a valid expression text range // for 'y[a].' if the starting point was '.'. However we want this // to be a valid expression text range for 'y[a].' if the starting // point was somewhere inside 'y[a]'. lastTextPos = endTextPos; MoveBack (lastTextPos); if (textPos.pLine->iLineNo < startTextPos.pLine->iLineNo || textPos.pLine->iLineNo == startTextPos.pLine->iLineNo && textPos.iOffset < startTextPos.iOffset || textPos.pLine->iLineNo > lastTextPos.pLine->iLineNo || textPos.pLine->iLineNo == lastTextPos.pLine->iLineNo && textPos.iOffset > lastTextPos.iOffset) { return (false); }; return (true); }