水果忍者C/C++实现

 温州大学大一上,实验作业

#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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值