C/C++项目:魂斗罗游戏
《魂斗罗》是非常经典的游戏。因为它其中的很多关卡的内容吸收了1979年的美国科幻片《异形》的元素而深入人心。FC上的两部魂斗罗影响了整整一代游戏玩家,在当时与《超级马里奥》齐名,几乎成为FC时代电子游戏的代名词。
今天我就用C语言给大家演示如何完成好玩有趣的《魂斗罗》小游戏。
PS:要安装easyx图形库哦 #include<easyx.h> (文末领取)
开发工具为VS2019
#include "role.h"
#include "moveRole.h"
#include <conio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
int main()
{
IMAGE background;
mciSendString("open bkmusic.mp3 alias music", 0, 0, 0);
mciSendString("play music repeat", 0, 0, 0);
loadimage(&background, "background.jpg",810*2,224*2);
initgraph(810*2, 224 * 2);
Role* pRole = new Role(120-50, 140);
const char* bkIMGURL[2] = { "img\move\move_left.bmp","img\move\move_right.bmp " };
const char* mkIMGURL[2] = { "img\move\move_left_y.bmp","img\move\move_right_y.bmp " };
const char* bkMUIMGURL[2] = { "img\moveUP\move_left_up.bmp","img\moveUP\move_right_up.bmp " };
const char* mkMUIMGURL[2] = { "img\moveUP\move_left_up_y.bmp","img\moveUP\move_right_up_y.bmp " };
while (1)
{
BeginBatchDraw();
putimage(0, 0, &background);
pRole->playKey(new MoveRole(1, bkIMGURL, mkIMGURL), background);
if (_kbhit())
{
if (GetAsyncKeyState('A') || GetAsyncKeyState(VK_LEFT))
{
pRole->getFlag() = Role::left;
pRole->playKey(new MoveRole(5, bkIMGURL, mkIMGURL), background,1);
}
if (GetAsyncKeyState('D') || GetAsyncKeyState(VK_RIGHT))
{
pRole->getFlag() = Role::right;
pRole->playKey(new MoveRole(5, bkIMGURL, mkIMGURL), background,1);
}
if (GetAsyncKeyState('E'))
{
pRole->getFlag() = Role::right;
pRole->playKey(new MoveRole(3, bkMUIMGURL, mkMUIMGURL), background,1);
}
if (GetAsyncKeyState('Q'))
{
pRole->getFlag() = Role::left;
pRole->playKey(new MoveRole(3, bkMUIMGURL, mkMUIMGURL), background, 1);
}
}
Sleep(10);
EndBatchDraw();
}
while (1);
closegraph();
return 0;
}
有兴趣的同学可以尝试写出来,后续我会发布更多的项目源码以及学习资料,希望大家可以持续关注,想要C/C++学习资料以及完整源码素材图形库开发工具等的可以在文章末了解,或者有问题也可以在评论区或者进群提问,希望大家可以在这里得到自己想要的知识,也希望如果对你有所帮助的话可以多多关注点赞评论,有建议也可以在评论区提出,谢谢大家的支持!
获取资源神秘代码:
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码