[Visual Studio]MFC游戏开发之回合制对战系统_by书訢

2023-10-31 02:10

本文主要是介绍[Visual Studio]MFC游戏开发之回合制对战系统_by书訢,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引子:

感谢阅读

接下来一段时间书訢(xin)会为大家定时更新总结讲解前一段时间刚刚结束的MFC实训项目--回合制对战游戏

希望作为读者的你们可以多多关注我的作品,并留言或者加我qq一起学习

若需转载请注明来处:http://blog.csdn.net/SX_csu2016sw

希望你们多多留言,你们的鼓励与指出的不足都是懒癌青年前进的动力


介绍一下自己:

中部地区某985软件工程在读,2016级入学目前即将大二,希望通过CSDN治疗懒癌的青年


1.为什么要写MFC系列的博客呢?

因为之前自己因为要做MFC游戏但是苦于找资料学框架真的是很难受,希望我这段时间的总结和讲解在未来可以帮助和之前我一样的苦逼孩子吧

因为我在这个项目中产生了一些可以迁移的idea,或许会帮助到我们做其他语言的项目中去啦~

2.项目背景:

前段时间听说要用MFC制作游戏,心里还是很崩溃的,因为我自己主语言是java,C++除了考试分数比较好看以外真的是比较尴尬。

但是虽然C++比较生疏,而且MFC之前没有接触过但是最后项目完成得还是不错的23333

语言相通,框架熟悉一些基础操作其实还是挺简单的,所以深入一门语言真的很重要!一通百通大概就是这个感觉吧


3.项目截图,以及三大功能分区介绍:

登录注册模块

登录注册实现的功能:1.实现注册,并对用户的神奇操作进行判断,比如密码不一致,不能为空,已注册....等情况进行处理

2.实现登录进入到第二个模块,选择模块





选择模块

选择模块分为三个子模块:

1.选择人物模块

2.选择场景模块

3.冒险模式模块

1.选择人物模块:

点击选择人物旁边的人物图片即可进入选择人物界面,如下一张图片所示,点击男女头像即可出现人物名字,技能,背景介绍

2.选择场景模块:

这边书訢从网页的图片展示得到灵感,使得MFC实现了web上用js才能实现的效果,同时代码也十分简单,之后会讲解滴

这里就是移动到哪张图片上就会显示该图片的大图在指定位置上,点击小图之后选定场景,再次移动不会改变大图的显示

3.冒险模块:

这边分别对应春夏秋冬黑夜五个地图,同时黑夜使用了迷雾算法,实现了无缝拼接迷雾模式的体验 

如图,黑夜中我们的人物在走动,遇到怪物可以选择攻击,虽然我们是战士,但是我们的攻击竟然是远程的!

哈哈按下A键即可攻击,可见最后几张秋天地图(红色背景)当然我们的技能是有CD的,同时怪物还有几率是会闪避的~

地图的梯子,台阶都是使用了蒙版图来实现,才实现人物可以爬梯子,之后会再仔细讲解哦

细心的你大概会发现,背景上有流星,有枫叶飘动....这些处理之后也会讲到哦~

最后当我们人物走过光线以后我们就会进入到回合制对战,与龙王开战啦~




回合制对战模块

其实当时我们的实训要求只需要实现回合制对战就可以了,奈何我们比较会玩2333我就做了之前的东东,回合制对战模块是我室友做的,因为比较吃时间和耐心所以我就偷懒一丢丢都没有参与,当然了不用担心实现不了,因为需要用到的技术我会在之前就讲解了,而且室友这个代码写的有点多,而且图片切的不太好

但是效果是很棒的哦,纯MFC帖100多张图来实现一些动画,一堆一堆的变量23333

不多说上图!

A技能一,向前突击,并放出一个火球

S技能二,召唤剑雨,从字斜向下将字划开,并实现柔和动画效果

D技能三,大技能,召唤双剑将人物送上太空,BUG,BUG,人物满血哈哈,见图~



项目总结

这是我用echarts做的项目各个模块代码分部图,代码不是很多,因为我删节了比较多可重用的代码,并进行了简单的封装

接下来的日子这样安排吧

1.实现登陆,实现注册来进行MFC基础操作的总结与讲解

2.通过讲解我是通过了什么骚操作实现了不用其他框架斌不过用几行代码就实现的好看的界面显示效果

3.讲解冒险模块的一些核心操作,不用MFC和C++利用这些思想也可以实现游戏功能,以及一些效果的方法。

当然,肯定会从一步一步展示项目的生成的啦,并且肯定会提供一些可迁移的思想到我们其他语言,其他项目中去啦~


多多评论,多多交流~因为我等级还没有到,所以整个100MB+的项目暂时还不能上传给大家,之后我会将图片,背景音乐等资源与代码分开,上传使得大家都可以进行体验我这个不够完美的孩子~


这篇关于[Visual Studio]MFC游戏开发之回合制对战系统_by书訢的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312096

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详