玩家通过键盘的按键控制矿工抓取金块,将钩子碰触到的金块抓取过来。 要求如下:
1. 游戏的金块的总数是20(可以自己去设置),大小位置是随机的。
2. 在没有抓取状态下,钩子左右摆动,此时矿工的是静止的。当钩子摆动到一定角度,玩家可以单击键盘上的上下左右键中的下方向键或者是空格键控制矿工伸出长钩,抓取金子,此时矿工是向下摇动转轴。获取到金子往回拉后,矿工是不断转动转轴,直到金子拉动到钩子初始处,矿工恢复静止,钩子继续左右摇摆,直到玩家再次单击向下方向键。
3. 伸出的钩子如果碰触到金子,则钩子和金子一起往回拉,回收的速度根据抓取到的金子的大小变化而变化,金子越大,回拉的速度越慢,反之亦然。如果钩子没有碰触到金子,而是碰触到左右和下的边界,则钩子保持原来的速度往回收。
4. 抓取到的金子拉回到转轴处消失,此时金子数目减少一个。如果玩家将所有金子抓取完,游戏返回或者结束。
所用编译器:VS2013,代码纯手写,希望各位也能自己去手敲,而不是复制粘贴!!!图片大家可以自己去找素材图,也可以关注笔者微信公众号回复关键字:黄金矿工领取~
话不多说:直接上源码!
#include<stdio.h>
#include<math.h>
#include<graphics.h>//easyx 包含头文件,可以使用提供的接口,函数
#define WIN_WIDTH 1080
#define WIN_HEIGHT 640
#define MAX_IMAGE 11 //最大图片数量
#define MAX_MINE 10 //最大物品数量
#define MAX_ANGLE 80 //最大角度
#define PI 3.1415926535898
//int a,char b
enum MINE //枚举图片数组下标
{
i_gold=1,
i_money=3,
i_soledown=5,
i_soleup=7,
i_stone=9,
i_bk = MAX_IMAGE-1,
};
enum MINE_TY