签到

05月05日
尚未签到

共有回帖数 0

    孤单的狼

    等级:
    先上图~
    马上就要开学了,临走之前写个简单的小游戏。新人一同学习,大神勿喷,有不好的地方也请指教~
    这个游戏大家应该并不陌生,手机上有很多,好像HTML的也有。这次用C语言实现它,也是不太难。马上说说思路


    首先实现障碍物的产生,这里说的障碍物是刚开始小人站的黑色方块,以及要用棍子抵达对岸的黑色方块。
    定义了一个结构体,用来存放障碍物的位置信息,位置信息就是矩形的四个边上、下、左、右在屏幕的位置,障碍物的大小就确定了。
    左边的方块,设计的大小是固定不变的,50 * 200像素。
    右边的方块大小是随机产生的,但是高度是一定的,要和左边保持水平。随机也要在一定范围内,如果随机产生的右边方块宽是1像素,那估计也没人能过去了。这里设置的宽度是10~100像素
    接下来用solidrectangle()函数画一个矩形,设置填充黑色,把他们放在底下,第一个问题就解决了
    然后是棍子变长的实现,这里只要一直按空格键棍子就会变长。这个棍子是用line()函数画出来的,把线条加粗,设置成黑色,看起来就和棍子一样了。
    然后是棍子下落的过程。下落这是个动画的效果,要实现棍子落下的轨迹,这里用到点数学知识。在一个区域内做出以小人为圆心,以棍子长为半径的线段,来模拟棍子下落的轨迹,用平面坐标内两点之间的长度公式来计算。让屏幕刷新,用BeginBatchDraw()批处理画图函数防止屏幕闪烁,这样就做出来棍子落下的过程。
    说到棍子下落,这里有点小瑕疵,游戏中是按空格键棍子变长,回车键棍子下落。。意思是你松开空格棍子不会掉落,只有按了回车才会落下。。制作的时候这个是最头疼的,我知道JAVA里有对于键盘的监听,C语言里找了API的一些函数都没实现。好像有个 keybd_event()函数,有设计释放按键的,试了试,总而言之是没实现。。虽然降低了游戏的难度性,但仍不失娱乐性。
    大大们如果有好的方法尽量提,这个游戏也是匆忙完成的,以后会在此基础上加工。
    然后是人物在棍子上的移动,用到的方法也是棍子落下的过程。主要还是运用批处理画图,防止屏幕闪烁,设定好移动速度,不要太快也不要太慢,这样就看起来动画的效果
    http://pan.baidu.com/s/1dDrsZsd
    这里有链接,点开.exe就能玩了

    楼主 2015-08-27 18:45 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知