资源简介
大富翁 C++ 游戏编程 对于许多刚刚入门C++的同学来说很有帮助的,可以参考一下
代码片段和文件信息
#include “dxcls.h“
/*
Defination for DDraw
*/
CDDraw::CDDraw(HWND hWndinDWORD dwWidthDWORD dwHeightDWORD dwColor)
{
m_hwnd=hWndin;
m_lpdd=NULL;
if(FAILED(DirectDrawCreateEx(NULL(LPVOID*)&m_lpddIID_IDirectDraw7NULL)))
{
m_bActive=false;
InitError(“DirectDraw Init Failed!\n“);
}
if(FAILED(m_lpdd->SetCooperativeLevel(m_hwndDDSCL_EXCLUSIVE|DDSCL_FULLSCREEN)))
{
m_bActive=false;
InitError(“DirectDraw SetCooperative Level Failed!\n“);
}
if(FAILED(m_lpdd->SetDisplayMode(dwWidthdwHeightdwColor
0DDSDM_STANDARDVGAMODE)))
{
m_bActive=false;
InitError(“DirectDraw Set Display Mode Failed!\n“);
}
m_bActive=true;
#ifdef _DXDEBUG
DebugOut(“DirectDraw Initialized!\n“);
#endif
}
CDDraw::~CDDraw()
{
if(m_bActive!=false)
{
m_lpdd->Release();
}
#ifdef _DXDEBUG
DebugOut(“DirectDraw Released!\n“);
#endif
}
void CDDraw::InitError(char szErr[])
{
MessageBox(m_hwndszErr“DirectX Error“MB_OK);
#ifdef _DXDEBUG
DebugOut(szErr);
#endif
SendMessage(m_hwndWM_DESTROYNULLNULL);
}
void CDDraw::SetDispMode(DWORD dwWidthDWORD dwHeightDWORD dwColor)
{
if(FAILED(m_lpdd->SetDisplayMode(dwWidthdwHeight
dwColor0DDSDM_STANDARDVGAMODE)))
{
InitError(“DirectDraw Set Display Mode Failed!\n“);
}
}
void CDDraw::SetDispMode(int flag)
{
DWORD dwWidthdwHeightdwColor;
switch(flag)
{
case HIGH_RES:
dwWidth=HI_WID;
dwHeight=HI_HEI;
dwColor=HI_COL;
break;
case MED_RES:
dwWidth=ME_WID;
dwHeight=ME_HEI;
dwColor=ME_COL;
break;
case LOW_RES:
dwWidth=LO_WID;
dwHeight=LO_HEI;
dwColor=LO_COL;
break;
}
if(FAILED(m_lpdd->SetDisplayMode(dwWidthdwHeight
dwColor0DDSDM_STANDARDVGAMODE)))
{
InitError(“DirectDraw Set Display Mode Failed!\n“);
}
}
/*
End of the DDraw Block
*/
//////////////////////////////////////////////////////////////////////////////////////
/*
Defination for base Surface class
*/
LPDIRECTDRAWSURFACE7 CDDSurf::GetSurfHandle() const
{
if(m_bActive!=false)
{
return m_lpdds;
}
else
{
return NULL;
}
}
void CDDSurf::LoadBMP(char szName[])
{
HBITMAP hbm;
HDC hdcImage=NULL;
HDC hdcSurf=NULL;
if(m_bActive==false) {InitError(“Surface Not Inittialized!“); return;}
hbm=(HBITMAP)LoadImage(NULLszNameIMAGE_BITMAP
m_ddsd.dwWidthm_ddsd.dwHeight
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hbm==NULL)
{
Deleteobject(hbm);
InitError(“Load Bitmap Error!\n“);
return;
}
hdcImage=CreateCompatibleDC(NULL);
Selectobject(hdcImagehbm);
if(FAILED(m_lpdds->GetDC(&hdcSurf)))
{
DeleteDC(hdcImage);
Deleteobject(hbm);
InitError(“GetSurface DC Failed!\n“);
return;
}
if(FAILED(BitBlt(hdcSurf00m_ddsd.dwWidth
m_ddsd.dwHeighthdcImage00SRCCOPY)))
{
DeleteDC(hdcImage);
m_lpdds->ReleaseDC(hdcSurf);
Deleteobject(hbm);
InitError(“Bit Blt Failed!\n“);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 28 2003-05-08 16:56 大富翁\back.int
文件 31 2003-05-13 01:37 大富翁\board.int
文件 36 2003-05-11 15:53 大富翁\box.int
文件 19 2003-05-12 05:55 大富翁\button1.int
文件 19 2003-05-12 05:56 大富翁\button2.int
文件 21 2003-05-19 13:23 大富翁\button3.int
文件 19 2003-05-21 12:52 大富翁\button4.int
文件 3 2003-05-21 13:39 大富翁\card.txt
文件 10 2003-05-09 01:15 大富翁\ddraw.int
文件 483770 2008-03-15 20:52 大富翁\Debug.txt
文件 327 2003-05-13 02:17 大富翁\def.h
文件 4400 2003-05-17 22:27 大富翁\DirectX Test.dsp
文件 549 2003-05-09 17:45 大富翁\DirectX Test.dsw
文件 647226 2006-12-21 17:55 大富翁\DirectX Test.exe
文件 238592 2003-07-07 12:53 大富翁\DirectX Test.ncb
文件 53760 2003-07-07 12:53 大富翁\DirectX Test.opt
文件 1348 2003-05-24 19:17 大富翁\DirectX Test.plg
文件 11554 2003-05-19 12:02 大富翁\dxcls.cpp
文件 9373 2003-05-13 02:51 大富翁\dxcls.h
文件 30 2003-05-12 06:21 大富翁\fr
文件 295 2003-05-16 08:44 大富翁\map.int
文件 398 2003-05-24 13:41 大富翁\market.int
文件 28 2003-05-13 09:21 大富翁\mini.int
文件 1438 2003-05-11 21:30 大富翁\mouse.bmp
文件 188 2003-05-21 12:52 大富翁\panel.int
文件 33 2003-05-12 10:33 大富翁\pclip.int
文件 36 2003-05-23 15:29 大富翁\pla
文件 34 2003-05-23 15:29 大富翁\pla
文件 32 2003-05-12 13:19 大富翁\pla
文件 6264 2003-05-23 10:43 大富翁\position.txt
............此处省略59个文件信息
- 上一篇:数据结构C++殷人昆第二版答案
- 下一篇:C语言写的音乐播放器(含源码注释)
相关资源
- 数据结构C++殷人昆第二版答案
- C++ 快速解析大容量Excel文件 使用破解
- eclipse c_c++自动补全auto activation 自动激
- C++基于UDP的控制台局域网聊天程序
- PDFDemo和资料
- C++PCM音频格式录音
- wavelet的dll封装与c++调用
- c++教程谭浩强pdf版
- C++ 基于数据包过滤的防火墙设计与实
- 图书管理系统C++课设
- 用visual C++ 6.0编写的计算机图形的一些
- PC游戏编程-人机博弈王小春 编著
- NTL库VC 数论C++函数库
- 学生选课管理系统C++实现
- VC++图像处理源码库
- Data Structures and Algorithm Analysis in C++
- 人工神经网络之BP网络模拟三角函数
- B样条曲线生成算法,用VC++加OpenGL写的
- 不规则三角网生长算法
- c++大作业(程序以及报告)
- 计算机图形学 大作业 多功能图形学程
- 用C++stl与QT实现的A*算法Demo
- 挖金矿游戏源码c++
- C++多人联网泡泡大战完整源码
- 移动曲面拟合法C++描述
- 十个网络驱动层封包截取防火墙源码
- C++清华大学-郑莉-第四版-讲稿(学堂
- vs使用纯c++编写的com组件
- apriori算法c++程序实现,附测试数据以
- 仿360UI界面QT源码
评论
共有 条评论