益智小游戏:交叉线
2020-7-24 ~ 2021-2-21
(0)
这是用 C++ 写的益智小游戏“交叉线”(源码在底部)。
本程序的核心在于判断线段是否交叉,需要两种算法:快速排斥实验和跨立实验
包含十三个文件
- Head.h : 初始化头文件
- Cross Line.cpp : 程序开端文件
- Game_Class.h : 游戏类头文件
- Game.cpp : 游戏类文件
- Begin.cpp : 初始界面类实现文件
- Level.cpp : 关卡界面类实现文件
- Play.cpp : 游戏界面类实现文件
- Win.cpp : 过关界面类实现文件
- About.cpp : 关于项目类实现文件
- Point.cpp : 点的结构类实现文件
- Line.cpp : 线的结构类实现文件
- Button.cpp : 游戏按钮类实现文件
- Button_Image.cpp : 游戏按钮类实现文件
包含算法
- 快速排斥实验
- 跨立实验
算法说明
以下是这些算法的简单说明:
1.快速排斥实验
即判断以线段两端点构成的矩形是否相交,相交则通过快速排斥实验,否则不通过,用于简单判断线段是否交叉,若通过,则进行跨立实验,否则则线段不交叉。
2.跨立实验
原理为矢量叉乘,在快速排斥实验通过的条件下排除了共线情况。
其他说明
- 编译环境:VS2017 + EasyX_20200520(beta)。
- 其他详见 github 中的 README.md。
添加评论
取消回复