亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ccontroller.cpp

?? 《游戲編程中的人工智能技術(shù)》書中源代碼和可執(zhí)行文件
?? CPP
字號(hào):
#include "CController.h"

//number of stars
const int NumStars = 20;

//this defines the vertices for the lander shape
const int	 NumPadVerts = 4;

const SPoint Pad[NumPadVerts] = {SPoint(-20, 0),
                                 SPoint(20, 0),
                                 SPoint(20, 5),
                                 SPoint(-20, 5)};
                                      
//------------------------------dtor -------------------------------------
//
//------------------------------------------------------------------------
CController::~CController()
{
  if (m_pUserLander)
  {
    delete m_pUserLander;
  }
}
//-----------------------------ctor---------------------------------------
//
//------------------------------------------------------------------------
CController::CController(int cxClient,
                         int cyClient):
                                       m_bSuccess(false),                                  
                                       m_vPadPos(SVector2D(RandFloat()*cxClient, 50)),
                                       m_cxClient(cxClient),
                                       m_cyClient(cyClient)
                                       
{


  //create a starting postion for the landers
  SVector2D vStartPos = SVector2D(WINDOW_WIDTH/2, cyClient-50);

  //create the user controlled lander
  m_pUserLander = new CLander(cxClient, cyClient, PI, vStartPos, m_vPadPos);

  //set up the VB for the landing pad
  for (int i=0; i<NumPadVerts; ++i)
  {
    m_vecPadVB.push_back(Pad[i]);
  }

  //setup the stars
  for (i=0; i<NumStars; ++i)
  {
    m_vecStarVB.push_back(SPoint(RandInt(0, cxClient), RandInt(100, cyClient)));
  }

}

                                    
//------------------------------- NewRun ---------------------------------
//
//  reinitializes all the variables for a new run
//------------------------------------------------------------------------
void CController::NewRun()
{

  //change position of landing pad
   m_vPadPos = SVector2D(50+ RandFloat()*(m_cxClient-100), 50);

   //reset the spaceship
   m_pUserLander->Reset(m_vPadPos);

}

//-----------------------Render--------------------------------------
//
//	given a GDI surface this function renders the ship and the
//	landing pad
//-------------------------------------------------------------------
void CController::Render(HDC &surface)
{
  //change the mapping mode so that the origin is at the bottom left
  //of our window and so that the y axis increases as it goes from
  //bottom to top     
  SetMapMode( surface, MM_ANISOTROPIC );
  SetViewportExtEx( surface, 1, -1, NULL );
  SetWindowExtEx( surface, 1, 1, NULL );
  SetViewportOrgEx( surface, 0, m_cyClient, NULL );

   //select in the pen we want to use
  HPEN OldPen = (HPEN)SelectObject(surface, GetStockObject(WHITE_PEN));

  //first render the stars
  for (int i=0; i<m_vecStarVB.size(); ++i)
  {
    //add some twinkle
    if (RandFloat() > 0.1)
    {
      SetPixel(surface, m_vecStarVB[i].x, m_vecStarVB[i].y, RGB(255, 255, 255));
    }
  }
  
  //render the user controlled ship
  m_pUserLander->Render(surface);

  //render the landing pad...
  RenderLandingPad(surface);

      
  //return the mapping mode to its default state so text is rendered
  //correctly
  SetMapMode( surface, MM_ANISOTROPIC );
  SetViewportExtEx( surface, 1, 1, NULL );
  SetWindowExtEx( surface, 1, 1, NULL );
  SetViewportOrgEx( surface, 0, 0, NULL );

  //Render additional information
  SetBkMode(surface, TRANSPARENT);
  SetTextColor(surface, RGB(0,0,255));
 
  string s= "Cursor Keys - Rotate   Spacebar - Thrust   R - Retry";
  TextOut(surface, 30, m_cyClient - 20, s.c_str(), s.size());

  //replace the pen
  SelectObject(surface, OldPen);
}
//----------------------------- RenderLandingPad ------------------------
//
//  Does exactly that
//-----------------------------------------------------------------------
void CController::RenderLandingPad(HDC &surface)
{
    //create a temp buffer
  vector<SPoint> PadVB = m_vecPadVB;

  //transform the vertices
  WorldTransform(PadVB);

  //draw the lines
  MoveToEx(surface, (int)PadVB[0].x, (int)PadVB[0].y, NULL);

  for (int vert=1; vert<4; ++vert)
	{
		LineTo(surface, (int)PadVB[vert].x, (int)PadVB[vert].y);
	}

  LineTo(surface, (int)PadVB[0].x, (int)PadVB[0].y);
}

//---------------------WorldTransform--------------------------------
//
//	sets up the translation matrices for the landing pad and applies
//  the world transform to the pads vertex buffer
//-------------------------------------------------------------------
void CController::WorldTransform(vector<SPoint> &pad)
{
	//create a transformation matrix
	C2DMatrix matTransform;
	
	//and translate
	matTransform.Translate(m_vPadPos.x, m_vPadPos.y);
	
  //now transform the pads vertices
  matTransform.TransformSPoints(pad);

}
//------------------------------- Update ---------------------------------
//
//------------------------------------------------------------------------
bool CController::Update(double TimeElapsed)
{
   //update user controlled ship
   m_pUserLander->UpdateShip(TimeElapsed);

   return true;
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美在线视频| 午夜精品久久久| 高清在线不卡av| 国产精品午夜久久| 97精品久久久午夜一区二区三区| 国产精品你懂的在线欣赏| 不卡一区二区三区四区| 一区二区在线观看视频在线观看| 日本久久电影网| 亚洲成人免费在线| 久久影院午夜片一区| 成人午夜又粗又硬又大| 亚洲欧美日韩久久精品| 欧美日韩一本到| 久久 天天综合| 最新欧美精品一区二区三区| 欧美午夜宅男影院| 精品在线一区二区三区| 成人欧美一区二区三区黑人麻豆| 欧美视频一区二区三区在线观看| 青青草原综合久久大伊人精品优势| 精品久久国产老人久久综合| 99综合影院在线| 日日欢夜夜爽一区| 日本一区二区综合亚洲| 在线观看精品一区| 看电影不卡的网站| 亚洲欧美日韩系列| 久久综合视频网| 欧美日韩视频不卡| 成人自拍视频在线| 日本成人在线网站| 亚洲免费av网站| 久久你懂得1024| 欧美日韩成人综合| 97久久精品人人做人人爽| 麻豆精品新av中文字幕| 中文字幕佐山爱一区二区免费| 日韩午夜在线观看视频| 91欧美激情一区二区三区成人| 蜜臀91精品一区二区三区| 一区在线播放视频| 精品成人私密视频| 欧美日韩国产高清一区二区 | 亚洲成av人片一区二区梦乃| 国产三级精品在线| 日韩一级在线观看| 在线视频中文字幕一区二区| 国产河南妇女毛片精品久久久 | 91麻豆国产福利在线观看| 久久99久久99小草精品免视看| 日韩理论电影院| 久久久久久99久久久精品网站| 欧美精品乱人伦久久久久久| 91蝌蚪porny成人天涯| 国产成人av影院| 精品一区二区免费视频| 日韩专区在线视频| 一区二区三区国产| 国产精品美女久久久久久久久久久 | 欧美日韩电影在线| 在线视频欧美区| 色婷婷综合久久久| 97久久超碰精品国产| 成人a区在线观看| 成人理论电影网| 丁香激情综合国产| 不卡一区二区在线| 99精品一区二区三区| av爱爱亚洲一区| 一本在线高清不卡dvd| 92国产精品观看| 色猫猫国产区一区二在线视频| 91美女在线观看| 色88888久久久久久影院按摩| 97se亚洲国产综合自在线观| 99久久精品99国产精品| 国产精品综合网| 国产成人亚洲综合a∨婷婷| 国产99久久久精品| 粉嫩av一区二区三区| 丰满放荡岳乱妇91ww| 风流少妇一区二区| 91一区二区在线观看| 91视频在线观看| 欧洲亚洲精品在线| 欧美一三区三区四区免费在线看| 欧美一级久久久久久久大片| 日韩一区二区三区视频在线观看| 欧美成人a∨高清免费观看| 久久久精品综合| 国产精品久久夜| 亚洲一区中文日韩| 欧美a级一区二区| 国产成a人亚洲精品| 91视频91自| 69堂精品视频| 久久精品在线免费观看| 亚洲欧洲日韩在线| 视频一区视频二区在线观看| 韩国三级中文字幕hd久久精品| 国产成人精品亚洲午夜麻豆| 色婷婷av一区| 日韩一区二区中文字幕| 中文字幕 久热精品 视频在线| 亚洲男人天堂一区| 秋霞av亚洲一区二区三| 成人丝袜高跟foot| 欧美日韩午夜精品| 欧美激情一区二区三区蜜桃视频| 一区二区三区国产精华| 久久成人综合网| 色偷偷88欧美精品久久久| 日韩欧美一区在线观看| 中文字幕一区日韩精品欧美| 青青草原综合久久大伊人精品| 国产ts人妖一区二区| 欧美男女性生活在线直播观看| 久久久777精品电影网影网| 亚洲免费观看在线视频| 国产综合久久久久久鬼色| 在线精品视频免费播放| 久久香蕉国产线看观看99| 亚洲一区二区免费视频| 豆国产96在线|亚洲| 欧美一区二区在线免费观看| 自拍av一区二区三区| 国产在线精品一区二区不卡了| 欧美性一二三区| 国产精品拍天天在线| 麻豆精品一区二区av白丝在线| 欧美午夜宅男影院| 亚洲视频香蕉人妖| 韩国在线一区二区| 6080yy午夜一二三区久久| 亚洲欧美激情在线| 高清成人免费视频| 精品少妇一区二区| 日韩在线一二三区| 色婷婷久久久综合中文字幕| 欧美激情一二三区| 国产精品一区二区你懂的| 欧美高清性hdvideosex| 一区二区三区国产| 不卡的av电影在线观看| 久久蜜桃av一区精品变态类天堂| 亚洲成av人综合在线观看| 91在线精品秘密一区二区| 久久久久久久精| 国产一区二区三区国产| 日韩欧美国产一区在线观看| 日韩精品午夜视频| 在线电影一区二区三区| 午夜日韩在线观看| 欧美性猛片aaaaaaa做受| 亚洲乱码国产乱码精品精98午夜| 99re热视频精品| 1区2区3区精品视频| www.一区二区| 亚洲欧美日韩国产一区二区三区| 成人精品国产福利| 国产精品色哟哟| 成a人片国产精品| 亚洲欧洲国产日韩| 91丨porny丨中文| 最新热久久免费视频| 95精品视频在线| 亚洲精品国产高清久久伦理二区| 日本久久电影网| 性做久久久久久久久| 欧美精品 国产精品| 久久精品理论片| 久久人人超碰精品| 成人美女视频在线观看18| 国产精品卡一卡二| 在线一区二区三区| 午夜久久久久久久久| 在线综合+亚洲+欧美中文字幕| 喷水一区二区三区| 国产亚洲欧洲一区高清在线观看| 成人听书哪个软件好| 依依成人精品视频| 欧美一级在线免费| 国产一区二区三区日韩| 欧美国产成人在线| 在线精品国精品国产尤物884a| 首页综合国产亚洲丝袜| 精品国产一区久久| 不卡av免费在线观看| 亚洲va中文字幕| 久久综合久久99| 色婷婷精品久久二区二区蜜臂av | 国产精品每日更新| 91农村精品一区二区在线| 亚洲午夜精品在线| 日韩精品一区二区三区在线| 国产成人啪午夜精品网站男同| 亚洲欧美日韩国产综合在线| 91精品国产综合久久久久久久| 国产一区二区三区免费观看|