温州大学大一上,实验作业
#include <easyx.h>
#include <conio.h>
#include <graphics.h>
#include <windows.h>
#include <mmsystem.h>//多媒体设备接口
#pragma comment(lib, "winmm.lib")//加载多媒体设备接口库文件
#include <ctime>
#include<cmath>
#include <cstdlib>
#include <graphics.h>
#include <iostream>
#include<deque>
#include<utility>
#define WIDTH 1000
#define HEIGHT 800
// 记录水果坐标
double fruits_x[10], fruits_y[10];
//绘制刀刃痕迹
std::deque<std::pair<int, int> > mouth_xy;
//代表此时的界面
int op;
// 切水果的得分
int sum = 0, best = 0;
// 定义时间片的起始与终止
clock_t start, end, begin1, end1;
double times, times1;
// 一个初始的竖直速度
double vx1 = -1, vy1 = -1, vy[10]; // 水果的水平和竖直运动速度
double time_tick1 = 1; // 水果移动的时间量
double g = 0.0001;
//0是香蕉 1是苹果 2是芒果 4是西瓜 5是草莓
// 水果出现
int Fruit_1flag0 = 1; //香蕉banana的出现
int Fruit_1flag1 = 1; //苹果apple的出现
int Fruit_1flag2 = 1; //芒果peach的出现
int Fruit_1flag3 = 1; //西瓜sandia的出现
int Fruit_1flag4 = 1; //草莓basaha的出现
IMAGE img_mp; //菜单图片
IMAGE img_help; //帮助图
IMAGE img_about; //关于图
IMAGE img_bk; //背景图
IMAGE img_apple, img_apple_mask; // 苹果图片和遮罩图
IMAGE img_banana, img_banana_mask; // 香蕉图片和遮罩图
IMAGE img_melon, img_melon_mask; // 西瓜图片和遮罩图
IMAGE img_peach, img_peach_mask; // 桃子图片和遮罩图
IMAGE img_berry, img_berry_mask; // 草莓图片和遮罩图
//图片加载准备
void startUp() {
srand((unsigned int)time(NULL));
// 各项数据初始化
// 创建绘图界面和加载图片
initgraph(WIDTH, HEIGHT);
BeginBatchDraw();
loadimage(&img_help, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\help_background.jpg"), WIDTH, HEIGHT);
loadimage(&img_about, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\about_background.jpg"), WIDTH, HEIGHT);
loadimage(&img_mp, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\startbackground.jpg"), WIDTH, HEIGHT);
loadimage(&img_bk, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\background.jpg"), WIDTH + 20, HEIGHT + 20);
// 所有水果的图片与掩码图
loadimage(&img_apple, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\apple.bmp"));
loadimage(&img_apple_mask, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\apple_mask.bmp"));
loadimage(&img_banana, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\banana.bmp"));
loadimage(&img_banana_mask, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\banana_mask.bmp"));
loadimage(&img_melon, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\watermelon.bmp"));
loadimage(&img_melon_mask, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\watermelon_mask.bmp"));
loadimage(&img_peach, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\peach.bmp"));
loadimage(&img_peach_mask, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\peach_mask.bmp"));
loadimage(&img_berry, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\strawberry.bmp"));
loadimage(&img_berry_mask, _T("E:\\Visual Stdio_work\\Project1\\Project1\\resource\\strawberry_mask.bmp"));
}
//配置_音乐
void play_music(const char* music)
{
static int i = 0;
char cmd[100] = { 0 };
//打开音乐 alias 取别名
//字符串的拼接
sprintf_s(cmd, "open %s alias bgm%d", music, i);
mciSendString(cmd, NULL, 0, NULL);
//播放音乐 repeat 重复播放
sprintf_s(cmd, "play bgm%d", i);
mciSendString(cmd, NULL, 0, NULL);
i++;
}
//绘制发射的水果的位置
inline void drawFruitImage(in