帮朋友推荐一个淘宝优惠券网站http://tao.peoplevip.cn/
先放出效果图,是不是还不错
这是一个基win32的飞机大战
微信经典飞机大战
飞机设定血量,自行生成、移动,滚动背景,记分,双缓冲贴图
子弹,敌机以及子弹用list迭送器完成
此软件仅供参考!
可以使用定时器来代替线程运行,下次我贴一个基于html5的,
飞机设定血量,自行生成、移动,滚动背景,记分,双缓冲贴图
子弹,敌机以及子弹用list迭送器完成
此软件仅供参考!
可以使用定时器来代替线程运行,下次我贴一个基于html5的,
以下是部分源代码,在vs2015上编译的,下面我把源码和工程都分别打包到附件,需要的小伙伴可以按需下载(注:低于vs2015的版本不能直接运行,可以下载源码然后进行添加)
#include <Windows.h>
#include <time.h>
#include "resource.h"
#include <list>
#pragma comment (lib,"Msimg32.lib")
#pragma comment (lib,"gdi32.lib")
using namespace std;
//子弹结构体
struct fire
{
int x;
int y;
};
//飞机结构体
struct plane
{
int type;
POINT pos;
int speed;
SIZE size;
int blood;
};
plane player{ 3, POINT{ 150, 500 }, 10, SIZE{ 50, 60 }, 1 };
list<plane>PlaneArr;
list<fire>FireArr;
bool GameWin = true;
#define MaxX 384
#define MaxY 680
int BkActNum = 0;
HDC hdc, hMem, hBuf;
void MyPaint();
void AddPlane();
void AddFire();
void GameOver();
int score = 0;
DWORD WINAPI WheelProc(LPVOID lpParam);
DWORD WINAPI PlaneMove(LPVOID lpParam);
DWORD WINAPI FireMove(LPVOID lpParam);
HBITMAP planeimg[4], bkimg, fireimg, fullmap;
HWND hWnd;
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lpParam);
HINSTANCE hInst;
int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{
//planeimg[0] = (HBITMAP)LoadImage(NULL, "plane1.jpg", IMAGE_BITMAP, 30, 50, LR_LOADFROMFILE);
//planeimg[1] = (HBITMAP)LoadImage(NULL, "plane2.jpg", IMAGE_BITMAP, 40, 60, LR_LOADFROMFILE);
//planeimg[2] = (HBITMAP)LoadImage(NULL, "plane3.jpg", IMAGE_BITMAP, 50, 70, LR_LOADFROMFILE);
//planeimg[3] = (HBITMAP)LoadImage(NULL, "player.jpg", IMAGE_BITMAP, 40, 60, LR_LOADFROMFILE);
//bkimg = (HBITMAP)LoadImage(NULL, "bkImage.jpg", IMAGE_BITMAP, MaxX, MaxY, LR_LOADFROMFILE);
hInst = hInstance;
AddPlane();
TCHAR ClassName[] = "Plane";
WNDCLASS wnd;
wnd.cbClsExtra = 0;
wnd.cbWndExtra = 0;
wnd.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wnd.hCursor = 0;
wnd.hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_ICO_MAIN));
wnd.hInstance = hInst;
wnd.lpfnWndProc = WndProc;
wnd.lpszClassName = ClassName;
wnd.lpszMenuName = 0;
wnd.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wnd);
hWnd = CreateWindow(ClassName, ClassName, WS_BORDER | WS_CAPTION | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, 384, 680, 0, 0, hInst, 0);
//初始化绘图工具
hdc = GetDC(hWnd);
hMem = CreateCompatibleDC(hdc);
hBuf = CreateCompatibleDC(hdc);
win32飞机大战vs2013工程.rar