最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)打地鼠游戲設(shè)計(jì)

 更新時(shí)間:2020年12月24日 09:13:46   作者:無(wú)菌與  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)打地鼠游戲設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)打地鼠游戲的具體代碼,供大家參考,具體內(nèi)容如下

代碼:

#include <afxwin.h>
 
class CMyWnd :public CFrameWnd
{
private:
 CDC *m_pmdc;
 CBitmap *m_pbitmap[5];
 CRect myRect[6];
 CString picPath[5];
 int hit;
 BOOL m_state[6];
 int counter;
 int num;
 int hammer_x;
 int hammer_y;
public:
 CMyWnd()
 {
 
 Create(NULL,"Third App");
 
 CClientDC dc(this);
 picPath[0]="../image/background.bmp";
 picPath[1]="../image/mouse1.bmp";
 picPath[2]="../image/mouse2.bmp";
 picPath[3]="../image/hammer1.bmp";
 picPath[4]="../image/hammer2.bmp";
 //
 myRect[0].SetRect(30,10,130,110);
 myRect[1].SetRect(190,10,290,110);
 myRect[2].SetRect(340,10,440,110);
 myRect[3].SetRect(30,140,130,240);
 myRect[4].SetRect(190,140,290,240);
 myRect[5].SetRect(340,140,440,240);
 //
 hit=0;
 for(int i=0;i<6;i++)
  m_state[i]=FALSE;
 
 counter=0;
 hammer_x=hammer_y=0;
 num=0;
 //不顯示鼠標(biāo)
 //ShowCursor(FALSE);
 
 m_pmdc=new CDC;
 for(int i=0;i<5;i++)
 {
  m_pbitmap[i]=new CBitmap;
  m_pbitmap[i]->m_hObject=(HBITMAP)::LoadImage(NULL,picPath[i],
       IMAGE_BITMAP, 0,0,LR_LOADFROMFILE);
 }
 m_pmdc->CreateCompatibleDC(&dc);
 MoveWindow(200,20,480,320);
 this->SetTimer(1,1000,NULL);
 
 }
 void myPait(int flag);
 
 ~CMyWnd()
 {
 for(int i=0;i<5;i++)
 delete m_pbitmap[i];
 delete m_pmdc;
 
 }
 DECLARE_MESSAGE_MAP()
 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
// afx_msg void OnPaint();
 afx_msg void OnTimer(UINT_PTR nIDEvent);
 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
// afx_msg void OnPaint();
};
 
class CMyApp:public CWinApp
{
public:
 BOOL InitInstance();
};
 
BOOL CMyApp::InitInstance()
{
 CMyWnd *pf=new CMyWnd;
 pf->ShowWindow(m_nCmdShow);
 this->m_pMainWnd=pf;
 return TRUE;
}
CMyApp FirstApp;BEGIN_MESSAGE_MAP(CMyWnd, CFrameWnd)
 ON_WM_LBUTTONUP()
// ON_WM_PAINT()
 ON_WM_TIMER()
 ON_WM_MOUSEMOVE()
// ON_WM_PAINT()
 END_MESSAGE_MAP()
 
void CMyWnd::OnLButtonUp(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
 counter++;
 m_state[num]=FALSE;
 num=rand()%6;
 m_state[num]=TRUE;
 for(int i=0;i<6;i++)
 {
 if(myRect[i].PtInRect(point)&&m_state[i])
 {
  hit++;
 }
 else
  hit=0;
 }
 CFrameWnd::OnLButtonUp(nFlags, point);
}
 
 
void CMyWnd::OnTimer(UINT_PTR nIDEvent)
{
 // TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
 CClientDC dc(this); // device context for painting
 m_pmdc->SelectObject(m_pbitmap[0]);
 dc.BitBlt(0,0,480,320,m_pmdc,0,0,SRCCOPY);
 m_pmdc->SelectObject(m_pbitmap[3]);
 dc.BitBlt(hammer_x,hammer_y,148,148,m_pmdc,0,0,SRCAND);
 m_pmdc->SelectObject(m_pbitmap[4]);
 dc.BitBlt(hammer_x,hammer_y,148,148,m_pmdc,0,0,SRCPAINT);
 for(int i=0;i<6;i++)
 {
 if(m_state[i])
 {
  m_pmdc->SelectObject(m_pbitmap[1]);
  dc.BitBlt(myRect[i].left,myRect[i].top,100,100,m_pmdc,0,0,SRCAND);
  m_pmdc->SelectObject(m_pbitmap[2]);
  dc.BitBlt(myRect[i].left,myRect[i].top,100,100,m_pmdc,0,0,SRCPAINT);
 }
 }
 if(hit>=3)
 {
 KillTimer(1);
 MessageBox("你贏了!");
 }
 if(counter>=10)
 {
 KillTimer(1);
 MessageBox("你輸了!");
 }
 CFrameWnd::OnTimer(nIDEvent);
}
 
 
 
void CMyWnd::OnMouseMove(UINT nFlags, CPoint point)
{
 // TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
 hammer_x=point.x;
 hammer_y=point.y;
 CFrameWnd::OnMouseMove(nFlags, point);
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

宜丰县| 武穴市| 襄樊市| 邳州市| 乐清市| 德惠市| 新闻| 信丰县| 同心县| 易门县| 姚安县| 朝阳区| 喀什市| 三原县| 崇左市| 九龙坡区| 思茅市| 潮州市| 丰镇市| 锦屏县| 黄山市| 武定县| 元阳县| 西吉县| 黄平县| 仲巴县| 祥云县| 英德市| 林甸县| 郸城县| 措勤县| 信阳市| 屏山县| 梁河县| 凤山县| 黔江区| 广汉市| 嵩明县| 威宁| 镇安县| 文昌市|