消消乐

三消类游戏是十分经典的游戏。也是除了矩形,我设计了一个六边形格子。本程序包含三个子游戏,宝石迷阵,四消水果,推拉英雄。都是三消类游戏的变种。

阿基米德螺旋线

最初是想用阿基米德螺旋线实现可视化 π,于是学习了泰勒展开计算 π 的过程,同理举一反三实现了计算 e 的过程,学习了画阿基米德螺旋线。后来又实现了一种“走路的直线”,来可视化有理数。本程序糅合了所有功能,实现用螺旋线和行走线,来可视化无理数 π,无理数 e 和有理数。

无限循环的几何

做一个旋转的立体几何,这个立体几何为三个相互嵌套着的正方体,让这三个大小不一的正方体分别绕着不同的轴线旋转。 1.初始时的就是一个正视图为正方形中心在原点的正方体,称之为初始状态。 2.调整正方体使其两个顶点以及中心在 Z 轴上,此时正方体的正视图为正六边形,也就是展示状态。 3.在旋转的时候,需要将正方体调整回初始状态,旋转完毕后再调整为展示状态。 4.从三维直角坐标系中左手系的来说,最外围的正方体沿着 Y 轴转动,中间的正方体沿着 XOZ 平面中 x+z=0 轴线转动,最内的正方体沿着 XOZ 平面中 x-z=0 轴线转动。

象棋马拉松

象棋马拉松,这个小游戏就是控制一个马往前跳。原游戏只有新棋子第一次出现会显示跳哪些地方会被吃。而我加了右键提示,为了判定每个格子安不安全,本身需要一个存危险点和可以移动点的函数。原游戏挺上瘾的,配有落子的音效,就是下的随便的时候很容易失误,原游戏是无尽模式,我加了一个闯关模式。

刮刮乐(掩码图的范例)

这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。

嵌套井字棋

嵌套井字棋,我也叫他大井字棋。小九宫格的胜利条件同井字棋规则一致,一旦达成,这个小九宫格归达成者。大九宫格的胜利条件就是三个同色小九宫相连,一旦达成,即为胜利。平局后手赢。

四叉树碰撞优化

得闲花点时间写了一下四叉树碰撞优化的 Demo,设置一些参数时候又想着自己写一下 GUI 的东西,于是就动手写了一下,结合以前学习的一些设计模式,自己也算实践了一下吧;可以给一些新手提供一个参考的样例吧。但是目前我刚开发好,写的过程中没有形成很好的文档,注释也不是特别多,要是后面有人感兴趣的话我会在我的 gitee 仓库放入一些实现想法。

爱的心脏线

大一的时候听说了 r = a(1 - cosθ) 这个方程,当时想试着自己推出它的直角坐标系方程,可惜数学不好解不出来,现在感觉编程能力变强了,就试着用程序画出这个方程的图像。这个方程本质上就是一个圆绕着另一个圆转一周时动圆上某个定点的轨迹,看起来像心脏线而且有数学家笛卡尔与爱徒的故事做背景,这个方程还染上了一丝浪漫的气氛。现在成功用代码把这个方程画出来了。

令小也画作绘制

这是一张完全用代码画出来的卡通人物。我用的是令小也的作品,通过观察寻找绘制的规律,然后分析绘制的层次。在用程序绘制比较复杂的画作时,一定要耐心,将画作的层次分析清楚,可以大大节省很多代码量。一般都是将复杂的图形用简单的图形进行拼接,覆盖等方式进行绘制。