先写个开头放这里。。
1. 明天试试写出个能用的俄罗斯方块。
2. 调用强化学习写出个智能的程序看看效果。
Tetris Windows API代码记录:
1. 下面是Windows API代码框架,感觉用API写东西比别的框架清爽很多。
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); //窗口过程函数
/*
程序的入口点WinMain函数
第一个参数:应用程序的当前实例句柄。
第二个参数:应用程序的前一个实例句柄,别管它,对于Win32位而言,它一般是NULL.
第三个参数:指向任何传给程序的命令行参数。PSTR代表"指向字符串的指针"。
第四个参数:它告诉应用程序如何初始化窗口,如最大化,最小化等状态。
WinMain()所起的作用:初始化,展示,销毁应用程序等。
*/
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)
{
static TCHAR szAppName[] = TEXT("Hello Win");
HWND hwnd;//定义窗口句柄
MSG msg;//创建消息
WNDCLASS wc;//定义窗口类,下面是窗口类的结构定义
/*
typedef struct _WNDCLASSA
{
UINT style ; //窗口类风格
WNDPROC lpfnWndProc ; //指向窗口过程函数的指针
int cbClsExtra ; //窗口类附加数据
int cbWndExtra ; //窗口附加数据
HINSTANCE hInstance ; //拥有窗口类的实例句柄
HICON hIcon ; //最小窗口图标
HCURSOR hCursor ; //窗口内使用的光标
HBRUSH hbrBackground ; //用来着色窗口背景的刷子
LPCSTR lpszMenuName ; //指向菜单资源名的指针
LPCSTR lpszClassName ; // 指向窗口类名的指针
}
*/
wc.style = CS_HREDRAW | CS_VREDRAW; //窗口类风格
wc.lpfnWndProc = WndProc; //指向窗口过程函数的指针
wc.cbWndExtra = 0; //窗口类附加数据
wc.cbClsExtra = 0; //窗口附加数据
wc.hInstance = hinstance; //拥有窗口类的实例句柄
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); //最小窗口图标
wc.hCursor = LoadCursor(NULL, IDC_HAND);//窗口内使用的光标
wc.hb