コード例 #1
0
ファイル: bmpclock.c プロジェクト: turmary/smalls
void DrawLine(HDC hDC, DWORD dwDegree, DWORD dwRadius) {
	DWORD dwX1, dwY1, dwX2, dwY2;

	dwX1 = CalcX(dwDegree, dwRadius);
	dwY1 = CalcY(dwDegree, dwRadius);
	dwDegree += 180;
	dwX2 = CalcX(dwDegree, 10);
	dwY2 = CalcY(dwDegree, 10);
	MoveToEx(hDC, dwX1, dwY1, NULL);
	LineTo(hDC, dwX2, dwY2);
	return;
}
コード例 #2
0
void TileSelector::OnLButtonDown(int mX, int mY) {
    int x = CROOM->GetXTile((float)mX);
    int y = CROOM->GetYTile((float)mY);

    switch (App::Application.GameMode) {
    case GAME_MODE_PLAN:
    {
        Soldier* o = App::Application.SelectedSoldier;
        if (CROOM->TileIsFree(o, y, x)) {
            if (!o->IsPlaced) {
                std::string s = std::string("./gfx/Soldier/SoldierStill") + o->bmSuffix + ".png";
                const char * img = s.c_str();
                Object::Instantiate(o, img, (float)CalcX(mX)+Width/2, (float)CalcY(mY)+Height/2, NULL, MIDDLECENTER);
                CROOM->OccupyTile(o, y, x);
            }
            else {
                CROOM->LeaveTile(o, CROOM->GetYTile(o->Y), CROOM->GetXTile(o->X));

                o->Y = (float)CalcY(mY)+Height/2;
                o->X = (float)CalcX(mX)+Width/2;
                o->DestX = o->X;
                CROOM->OccupyTile(o, y, x);
            }
            o->IsPlaced = true;

            // Select next soldier
            App::Application.AutoSelectSoldier();
        }
        else {
#ifdef PRINTDEBUG
            printf("Tile is already occupied\n");
#endif
        }
    }
    break;
    case GAME_MODE_PLAY:
        // Do nothing yet
        return;
        break;
    }
}
コード例 #3
0
ファイル: cholesky.cpp プロジェクト: slehm/sac
void Cholesky::Solve(const std::vector<double> &b,std::vector<double> &x)
{
  //vector<double> bx=b;
  //for (int i=0;i<b.size();i++) bx[i]=bx[i]+regp/double(n);
  CalcY(b);
  int i,j;
  double sum;
  for (i=n-1;i>=0;i--) {
    sum=y[i];
    for (j=i+1;j<n;j++) sum-=(m[j][i]*x[j]);
    x[i]=sum/m[i][i];
  }
}
コード例 #4
0
ファイル: cholesky.cpp プロジェクト: slehm/sac
// solve for all orders
void Cholesky::Solve(const std::vector<double> &b)
{
  CalcY(b);

  int i,j;
  double sum;
  for (int o=0;o<n;o++)
  {
    for (i=o;i>=0;i--) {
      sum=y[i];
      for (j=i+1;j<=o;j++) sum-=(m[j][i]*sol[o][j]);
      sol[o][i]=sum/m[i][i];
    }
  }
}
コード例 #5
0
FF_ANIMATION_DYNAMIC_OBJECT FFLineMoveStrategy::Calculate(orxVECTOR* outPos,const orxCLOCK_INFO* pClockInfo )
{
	FFVector3 a = outPos;
	FF_ANIMATION_DYNAMIC_OBJECT anim;

	switch(_direction)
	{
	case MD_X:
		anim = CalcX(&a,pClockInfo);
		break;
	case MD_Y:
		anim =  CalcY(&a,pClockInfo);
		break;
	}
	outPos->fX = a._x;
	outPos->fY = a._y;
	outPos->fZ = a._z;

	return anim;
}
コード例 #6
0
void TileSelector::OnMouseMove(int mX, int mY, int relX, int relY, bool Left, bool Right, bool Middle) {
    X = (float)CalcX(mX);
    Y = (float)CalcY(mY);
}