好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 friendan 于 2013-7-5 15:35 编辑
------------------------------------------------------------------------------------------------
关于泡泡猫,之前我写了两篇文章:
//泡泡猫V1.1
http://www.52pojie.cn/thread-198490-1-1.html
//泡泡猫V1.2
http://www.52pojie.cn/thread-198605-1-1.html
--------------------------------------------------------------------------------------------------------
对泡泡猫不了解的盆友,不妨看下上面的两篇文章。
-----------------------------------------------------------------------------------------------------
因为我一直很忙,没什么时间,估计以后也不会更新了,趁今天放假,把源码
共享出来,希望帮助到有此需要的盆友。
----------------------------------------------------------------------------------------------------
声明:
源码仅供个人学习需要,请勿用于非法用途,由此产生的一切法律责任,与
本人无关。
---------------------------------------------------------------------------------------------------
说下本程序编写的思路:
1.泡泡猫一行有17个球,即17列,左边8个球,中间一个,右边8个球,炮台在中间一列。
2.总共有8行+半个球 //最上面一行的球,只显示半个哈。
3.球的直径:36 半径:18
4.炮台圆心到左边墙的距离:36*8+18=306
5.炮台圆心到右边墙的距离:36*8+18=306
6.炮台圆心O坐标已知为(x,y) //x,y可以动态调整,知道为什么要调整圆心位置了吧。
--------------------------------------------------------------------------------------------------------------------
反射起点坐标和反射终点坐标用到了三角形的知识,自己画一下图,算一下就懂了。
用到的知识有:入射角等于反射角,三角函数tanA,全反射。
当时我画的草稿图没保存下来,也不打算重新画了,思路就是这样了。
当时我算的公式如下,没图,下面的a,b,d不好理解,请自己画图,灵活应变吧:
右边:
反射起始点圆心坐标为(x+306-18,y-a*306/b) //tanA=a/b=d/306
反射终点坐标为(x,y-d*2)// n=m*b/a x=
左边
反射起始点圆心坐标为(x-306+18,y-a*(306-18)/b)
反射终点坐标为(x,y-d*2)
内外两线与圆心的距离相差10 //三线辅助里面用到
-----------------------------------------------------------------------------------------------------------------
有了以上的说明,看源码应该很容易懂了。
注:编写环境为Win7+VS2008
泡泡猫辅助V1.2 C#源码
http://pan.baidu.com/share/link?shareid=3600885002&uk=674181391
---------------------------------------------------------------------------------------------------------------------
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|