期末到了,在C语言期末众多作业选择中选择了比较有趣的利用EasyX开发小游戏
第一次和别人一起开发程序,故作记录。
一、主题确定
在决定用EasyX进行小游戏开发后我们开始考虑制作的方向
鉴于使用EasyX图形库,我们打算开发一个像素游戏
商量过后决定做一款类似(抄袭)地城迷踪(Dungeon and Puzzles)的游戏
二、前置准备和学习
1.EasyX的安装
EasyX 是针对 C/C++ 的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程,可以用来做些简单的演示2d类游戏,没有cocos2d-x那样重量级,学习起来也比较简单。
在EasyX官网进行下载并安装即可
2.EasyX的学习
EasyX图形库的学习,在B站上找了一个EasyX教学视频进行观看和学习。讲的还是不错的。
安装也可参照此视频。
3.图片的绘制
图片的绘制是在写代码中顺便一起完成的,这里使用像素画软件aseprite进行绘制,对地城迷踪(Dungeon and Puzzles)与网络上的一些图片进行临摹。画出了一系列的像素图片。
三、代码逻辑的构建
游戏主要代码在test.cpp中
函数、全局变量声明在game.h中
自定义函数的逻辑实现在game.cpp中
2.基本思路
先不用EasyX库,利用已有的C语言知识对最基本的逻辑利用二维数组模拟实现游戏过程,再加入二维图形数组利用EasyX库进行可视化的开发。
3.遇到的问题与解决的办法
没有对代码经行过多的优化,算法上有许多不足甚至可能有错误QAQ
(1)关键函数的逻辑实现
首先是关键函数move的逻辑编写,遇到拿了钥匙打不开箱子和未到箱子附近就直接打开了箱子的问题。前者定义了一个全局变量flag解决,后者用移动前先用变量i、j 记录开始移动时位置判断解决。
(2) 可视化移动时出现的bug
一开始是打算用键盘进行的移动操作,但是每次会一下接受到很多的键盘请求,出现一堆bug,最后我们选用了利用图片鼠标点击的形式进行解决。