c++编写坦克大战
项目前言
需要熟练的掌握c语言,c++。熟练掌握各种数据类型和数据结构。拥有优秀的文档阅读能力(设计EasyX图形库的使用),拥有一个漂亮温柔的女朋友。
环境准备
我这里使用的是VS2022,还需要安装EasX图形库。安装教程https://blog.csdn.net/m0_72703340/article/details/125968925
游戏窗口的初始化
第一步当然是游戏的初始化。
我们先使用easyX图形库提供的接口初始话一个绘图窗口。定义宏 表示窗口的大小 以便于后续的二次开发
#define WIN_HEIGHT 650
#define WIN_WIDTH 650
initgraph(WIN_WIDTH, WIN_HEIGHT);
然后我们定义一个初始化函数。
导入图片素材
在easyX中 ,用IMAGE表示图片变量。
我们定义两个变量 一个是logo 一个是操作提示。
IMAGE imgLogo;
IMAGE imgiLlustrate;
然后对图片进行导入 使用loadimage函数 (需要先把项目素材放到res文件夹下,不然会导入失败)
loadimage(&imgLogo, "./res/logo.bmp");
loadimage(&imgiLlustrate, "./res/illustrate.jpg");
然后绘制提示按钮(这些函数的用法和定义我都放到了最后)
setlinecolor(WHITE);
setfillcolor(BLACK);
fillrectangle(230, 200, 310, 240);
settextstyle(25, 0, "宋体");
outtextxy(240, 210, "说 明");
fillrectangle(350, 200, 430, 240);
outtextxy(360, 210, "开始");
然后贴logo
putimage(110, 20, &imgLogo);
实现鼠标消息的监听与判断
bool finished = true;
while (finished) {
mouseMsg = GetMouseMsg();
switch (mouseMsg.uMsg)
{
case WM_MOUSEMOVE://鼠标移动
if ((mouseMsg.x > 230 && mouseMsg.x < 310) &&( mouseMsg.y>200 && mouseMsg.y < 240))
{
putimage(150, 250, &imgiLlustrate);
}
else {
solidrectangle(150, 250, 459, 550);
}
break;
case WM_LBUTTONDOWN://左键down
if ((mouseMsg.x > 350 && mouseMsg.x < 430) && (mouseMsg.y>200 && mouseMsg.y < 240)) {
//to do
cleardevice();
finished = true;
break;
}
}
}
太累了 就先写道这里了