大家好,关于手机网站游戏源码分享很多朋友都还不太明白,今天小编就来为大家分享关于手机页游源码的知识,希望对各位有所帮助!
玩家通过键盘的按键控制矿工抓取金块,将钩子碰触到的金块抓取过来。?要求如下:?
1.?游戏的金块的总数是20(可以自己去设置),大小位置是随机的。
2.?在没有抓取状态下,钩子左右摆动,此时矿工的是静止的。当钩子摆动到一定角度,玩家可以单击键盘上的上下左右键中的下方向键或者是空格键控制矿工伸出长钩,抓取金子,此时矿工是向下摇动转轴。获取到金子往回拉后,矿工是不断转动转轴,直到金子拉动到钩子初始处,矿工恢复静止,钩子继续左右摇摆,直到玩家再次单击向下方向键。
3.?伸出的钩子如果碰触到金子,则钩子和金子一起往回拉,回收的速度根据抓取到的金子的大小变化而变化,金子越大,回拉的速度越慢,反之亦然。如果钩子没有碰触到金子,而是碰触到左右和下的边界,则钩子保持原来的速度往回收。?
4.?抓取到的金子拉回到转轴处消失,此时金子数目减少一个。如果玩家将所有金子抓取完,游戏返回或者结束。
所用编译器:VS2013,代码纯手写,希望各位也能自己去手敲,而不是复制粘贴!!!图片大家可以自己去找素材图,也可以关注笔者微信公众号回复关键字:黄金矿工领取~
话不多说:直接上源码!
include<math.h>\ndefineWIN_WIDTH1080\ndefineMAX_IMAGE11//最大图片数量\ndefineMAX_ANGLE80//最大角度\n34;&34;./images/%d.jpg&34;./images/bk.jpg&34;&34;分数:%d&34;楷体&34;%d%d\\n”,hook.vx,hook.vy);\n}\nvoidJudgeGrap()\n{\n\t//判断抓到那个物品\n\tfor(inti=0;i<MAX_MINE;i++)\n\t{\n\t\tif(mine[i].flag==true&&\n\t\t\thook.endx>mine[i].x&&hook.endx<mine[i].x+mine[i].szie&&\n\t\t\thook.endy>mine[i].y&&hook.endy<mine[i].y+mine[i].szie)\n\t\t{\n\t\t\thook.index=i;\n\t\t\tbreak;\n\t\t}\n\t}\n\t//如果抓到了\n\tif(hook.index!=-1)\n\t{\n\t\thook.state=M_SHORT;\n\t\tmine[hook.index].x=hook.endx;\n\t\tmine[hook.index].y=hook.endy;\n\t\t//缩短完成\n\t\tif(distance(hook))\n\t\t{\n\t\t\tmine[hook.index].flag=false;\n\t\t\thook.index=-1;\n\t\t\thook.state=M_NOMAL;\n\t\t}\n\t}\n}\n//voidmain\nintmain()\n{\n\tGameInit();\n\tDWORDt1,t2;\n\tt1=t2=GetTickCount();\n\tBeginBatchDraw();\n\twhile(1)\n\t{\n\t\tif(t2-t1>15)\n\t\t{\n\t\t\tHookRock();\n\t\t\tt1=t2;\n\t\t}\n\t\tt2=GetTickCount();\n\t\tGameDraw();\n\t\tFlushBatchDraw();\n\t\tGameControl(10);\n\t\tJudgeGrap();\n\t\t//防止闪退\n\t}\n\treturn0;\n}\nintdistance(Hookhook)\n{\n\tintdis=sqrt((float)(hook.x-hook.endx)*(hook.x-hook.endx)+(hook.y-hook.endy)*(hook.y-hook.endy));\n\treturndis<=hook.len;\n}
还在等什么呢?代码都给你了,赶紧照着去做呗!
自学C/C++编程难度很大,不妨和一些志同道合的小伙伴一起学习成长!
C语言C++编程学习交流圈子,关注+私信【C/C++编程】微信公众号:C语言编程学习基地
有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
