1.项目分析2.项目目标文章较长,建议收藏后学习!!
- AI的基础应用
- 算法的设计和实现
- C语言的图形界面程序开发
- VS/VC (任意版本)
- easyx图形库(直接双击即可安装)
- 领取素材(传送门)(图片、音效)
- 创建空项目。
- 把素材拷贝到项目目录下
画棋盘,播放开局提示、播放背景音乐
#include <graphics.h> //easyx图像库的头文件
#include <windows.h>
#include <mmsystem.h> //播放音乐的头文件
#pragma comment(lib, "winmm.lib")
void init() {
initgraph(897, 895);
loadimage(0, "res/棋盘.jpg");
mciSendString("play res/start.wav", 0, 0, 0);
mciSendString("play res/bg.mp3 repeat", 0, 0, 0);
}
int main(void) {
init();
system("pause");
return 0;
}
6.画棋子
鼠标点击后,在点击位置画棋子
IMAGE chessBlackImg;
IMAGE chessWhiteImg;
const float BLOCK_SIZE = 67.4; // 格子的大小
void init() {
......
loadimage(&chessBlackImg, "res/black.png", BLOCK_SIZE, BLOCK_SIZE, true);
loadimage(&chessWhiteImg, "res/white.png", BLOCK_SIZE, BLOCK_SIZE, true);
}
int main(void) {
init();
while (1) {
MOUSEMSG msg = GetMouseMsg();
if (msg.uMsg == WM_LBUTTONDOWN) {
putimage(msg.x, msg.y, &chessBlackImg);
}
}
system("pause");
return 0;
}
效果:
黑色区域,透明背景的PNG图片显示不了。
解决方案:
- 导入工具库tools.h, tools.cpp
- 修改代码
#include "tools.h"
int main(void) {
init();
while (1) {
MOUSEMSG msg = GetMouseMsg();
if (msg.uMsg == WM_LBUTTONDOWN) {
//putimage(msg.x, msg.y, &chessBlackImg);
drawPNG(&chessBlackImg, msg.x, msg.y);
}
}
system("pause");
return 0;
}
效果: