win32飞机大战

帮朋友推荐一个淘宝优惠券网站http://tao.peoplevip.cn/

先放出效果图,是不是还不错

这是一个基win32的飞机大战

 微信经典飞机大战
飞机设定血量,自行生成、移动,滚动背景,记分,双缓冲贴图
子弹,敌机以及子弹用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值