C++ 开发【梦幻西游】500多行代码实现

一、项目展示

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、准备

1、开发环境

在使用VS 的时候通过 win32 项目创建,这里一定不要选错,如下图

在这里插入图片描述

选中空项目,去掉安全开发声明周期

在这里插入图片描述

2、图片素材

在这里插入图片描述

三、整个流程

整个流程是很重要的,这里一定要懂

首先看看主函数的参数

在这里插入图片描述
由于这是 Win32 项目创建,所以和我们平时看的控制台 main 函数是不一样的

参数只要知道第一个就行了,和最后一个就行了,因为剩下两个也没有用到

HINSTANCE hInstance :表示该程序当前运行的实例句柄,是一个数值标识。当程序在Windows下运行时,它唯一标识运行中的实例

int nShowCmd :指定程序的窗口应该如何显示,例如最大化、最小化、隐藏等。这个参数的值由该程序的调用者所指定,应用程序通常不需要去理会这个参数的值。

然后我们在主函数中先定义一些东西,这些是必须要有的

在这里插入图片描述
另外也可以设置窗口的样式,以及鼠标等等,当然该项目没有用到

然后对窗口进行 注册,创建,更新
在这里插入图片描述

接下来是对窗口进行初始化

需要做这些东西,具体啥含义需要深究Win32,就不探讨了
在这里插入图片描述
然后把英雄,Boss,技能图标加载进来

首先需要定义
在这里插入图片描述

// 素材
	//背景图片
	g_backbmp = (HBITMAP)LoadImage(NULL, L"./res/bg.bmp", IMAGE_BITMAP, 800, 600, LR_LOADFROMFILE);
	//技能1,2,3,4的图标
	g_skillbutton1 = (HBITMAP)LoadImage(NULL, L"./res/skillbutton1.bmp", IMAGE_BITMAP, 40, 40, LR_LOADFROMFILE);
	g_skillbutton2 = (HBITMAP)LoadImage(NULL, L"./res/skillbutton2.bmp", IMAGE_BITMAP, 40, 40, LR_LOADFROMFILE);
	g_skillbutton3 = (HBITMAP)LoadImage(NULL, L"./res/skillbutton3.bmp", IMAGE_BITMAP, 40, 40, LR_LOADFROMFILE);
	g_skillbutton4 = (HBITMAP)LoadImage(NULL, L"./res/skillbutton4.bmp", IMAGE_BITMAP, 40, 40, LR_LOADFROMFILE);

	//英雄和Boss图标
	g_hero = (HBITMAP)LoadImage(NULL, L"./res/1001.bmp", IMAGE_BITMAP, 3500, 250, LR_LOADFROMFILE);
	g_boss = (HBITMAP)LoadImage(NULL, L"./res/BOSS.bmp", IMAGE_BITMAP, 4000, 250, LR_LOADFROMFILE);

	//英雄释放技能的图标
	g_heroskill1 = (HBITMAP)LoadImage(NULL, L"./res/heroslash.bmp", IMAGE_BITMAP, 364, 140, LR_LOADFROMFILE);	//普通攻击
	g_heroskill2 = (HBITMAP)LoadImage(NULL, L"./res/herocritical.bmp", IMAGE_BITMAP, 574, 306, LR_LOADFROMFILE);//暴击
	g_heroskill3 = (HBITMAP)LoadImage(NULL, L"./res/heromagic.bmp", IMAGE_BITMAP, 100, 77, LR_LOADFROMFILE);	//魔法攻击

	//boss 释放技能的图标
	g_bossskill1 = (HBITMAP)LoadImage(NULL, L"./res/monsterslash.bmp", IMAGE_BITMAP, 150, 120, LR_LOADFROMFILE);
	g_bossskill2 = (HBITMAP)LoadImage(NULL, L"./res/monstercritical.bmp", IMAGE_BITMAP, 249, 231, LR_LOADFROMFILE);
	g_bossskill3 = (HBITMAP)LoadImage(NULL, L"./res/monstermagic.bmp", IMAGE_BITMAP, 200, 131, LR_LOADFROMFILE);
	
	//恢复气血图标
	g_recover = (HBITMAP)LoadImage(NULL, L"./res/recover.bmp", IMAGE_BITMAP, 150, 150, LR_LOADFROMFILE);

	//游戏结束和胜利图标
	g_hGameOver = (HBITMAP)LoadImage(NULL, L"./res/gameover.bmp", IMAGE_BITMAP, 1086, 396, LR_LOADFROMFILE);
	g_hVictor = (HBITMAP)LoadImage(NULL, L"./res/victory.bmp", IMAGE_BITMAP, 294, 147, LR_LOADFROMFILE);

	//添加背景音乐,播放添加到资源的.wav文件,IDR_DENG代表音频资源res/wav/1.wav的编号,SND_RESOURCE代表使用资源,SND_ASYNC代表异步播放,SND_LOOP代表循环播放
	PlaySound(_T("./res/梦幻西游原声-战斗1-森林.wav"), NULL, SND_ASYNC | SND_LOOP);

另外对 Boss 和 英雄的属性初始值也可以在初始化函数中赋值

当然也得定义

在这里插入图片描述

//初始英雄化数据
Hero.Agility = 20;
Hero.Intell = 10;
Hero.level = 6;
Hero.strength = 10;
Hero.MaxHp = 1000;
Hero.NowHp = 1000;
Hero.MaxMp = 60;
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
设计一个C++项目需要考虑以下几个方面: 1.需求分析 首先,需要明确项目的需求,明确项目的目标、功能和特点。这个阶段需要和客户或用户充分沟通,确保了解用户实际需要,进而设计出完全符合需求的解决方案。 2.系统架构设计 在需求分析之后,需要进系统架构设计。这个阶段需要考虑整个系统的模块划分,各个模块之间的关系以及数据流向等。 3.详细设计 在系统架构设计之后,需要进详细设计。这个阶段需要将每个模块的功能划分得更加具体,包括接口设计、类设计、函数设计等。同时也需要考虑到系统的可维护性、可扩展性和可重用性,使得整个系统更加健壮和灵活。 4.编码 在完成详细设计之后,可以开始进入编码阶段了。在编码过程中,需要严格按照设计规范进编码,保证代码的质量和可读性,同时注意代码的可测试性。 5.测试 在完成编码之后,需要进测试。测试包括单元测试、集成测试、系统测试等。这个阶段需要尽可能地发现和解决可能存在的问题。 6.部署和维护 在测试通过后,可以进部署和维护。在部署过程中,需要考虑到如何将系统部署到实际的生产环境中,以及如何进维护和升级。 以上是一个C++项目设计的基本流程,具体实现可以根据实际情况进调整和优化。在实际开发中,需要注意代码的可读性、可维护性和可扩展性,将代码写得简单易懂,同时也要注意代码的效率和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的温柔香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值