0 鼠标右键点击台球桌面,通过鼠标确定窗口Hwnd,再截图
1 通过截图识别母球位置
2 识别所有分值球的位置
3 鼠标移动时,找到第一个碰到的目标球
4 找出碰撞时母球的球心
5 用第4点找到的母球碰撞坐标与目标球心确定直线方程
6 用第5点确定的方程从目标球球心画出射线
7 递归化出球得走位
整个过程就是这样,现在这个程序准确率100%,不过算法还需要优化,因为整个识别过程平均要用到2秒,我总觉得很不爽,有时间再优化一下算法。
源码展示:
效果展示:
这个台球DEMO,用的D3D+C++写成的,大概集中写了一周多一点时间。也算是那个时候对D3D的一定认识的结果吧。还有很多不足。
1。里面的素材全部是从网上搜集。
2。AI只实现了一个难度,本来打算再写下去的,哎。。。貌似有心而力不足。没那么多时间去完善了。
3。里面的碰撞检测都是通过距离检测实现。