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);
}
Esempio n. 2
0
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);
}
Esempio n. 5
0
//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);
}
Esempio n. 6
0
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);
}
Esempio n. 8
0
/*
 * 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();

	}

}
Esempio n. 9
0
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);
}