1.
学完C语言语法,没有经历大型项目,接着学C++。结果用C语言写代码,看不懂,写不了。比如游戏大师编程技巧。
C++写的也看不懂,比如MFC。
C语言的核心是把全局对象提出来,程序就是处理这些对象。
C++主要是封装,设计模式。和其他面向对象语言一样。比如客户端代码都是面向对象语言+MVC。
有一些代码是用MFC写的C语言程序,其核心是C语言。
/
// 数据结构定义
/
typedef struct
{ int qi; //动作起点
unsigned short bc; //动作步数
} JCDZ; //对象动作结构 [5章]
typedef struct
{ short int jisu; //序号
short int xix,xiy; //角色座标
short int x0,y0; //目标位置
short int lb;
short int p; //计数
short int m0,m1; //位置初值、终值
short int zs; //动作:人[0站1走2刺3劈4倒]
short int js; //角色:人[0男1女]
short int fw; //方位: [0南1西南2西3西北4北5东北6东7东南]
} MAN; //对象结构 [5章]
/
// 全局变量定义
/
#define SBUF 2801 //兽最大数 [5章]
#define RBUF 801 //人最大数 [5章]
HBITMAP bit; //设备相关位图 [2章]
HDC MemDC; //角色设备场景 [2章]
HDC DCBak; //地图设备场景 [4章]
int w,h; //图形尺寸 [2章]
CString dir; //定义路径变量 [2章]
CString cc; //公用变量 [2章]
char appdir[256]; //当前目录 [3章]
CRect rect; //定义窗口尺寸变量 [3章]
MAN man[1]; //定义对象变量 [5章]
short int sbufx [SBUF];//兽的偏移量x [5章]
short int sbufy [SBUF];//兽的偏移量y [5章]
short int rbufx [RBUF];//人的偏移量x [5章]
short int rbufy [RBUF];//人的偏移量y [5章]
JCDZ zjdz[5]= {0,5,40,10,120,10,200,10,280,10};//主角动作[5章]
//0站, 1走 , 2刺 , 3劈, 4倒下
// 函数定义
BOOL getpic(CString cc,int p); //调图片到相关位图 [3章]
BOOL loadbmp(CString cc); //调BMP图片 [2章]
void TransparentBlt2( HDC hdc0, // 目标DC
int nX0,int nY0,// 目标偏移
int nW0,int nH0,// 目标宽高度
HDC hdc1, // 源DC
int nX1,int nY1,// 源起点
int nW1,int nH1,// 源宽高度
UINT Tcol // 透明色,COLORREF类型
); //透明显示 [4章]
void bianfw (int q); //方位转换 [5章]
void manmove(int i); //角色移动 [5章]
void setman (int q); //设置人物动作方位 [5章]
/
// CMyDlg dialog
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)//[MFC自动生成]
: CDialog(CMyDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CMyDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
...