2.5D 双人赛车 铜牌收录

这是一个 ”伪3D” 赛车游戏,支持双人游戏,并且还有多个预设地图可供选择,可以和伙伴开车竞速了~还可以自己绘制地图和车辆,快来试试吧!

有趣小游戏之俄罗斯方块 铜牌收录

这是我以前写的一个俄罗斯方块小游戏,里面用到的 C++ 特性并不多。游戏主要分成了两个类来实现:Game 和 Block,分别用来实现游戏逻辑和单独的俄罗斯方块,但主要的游戏逻辑放到了 main 函数中实现。这样,每个类分工明确,就实现了俄罗斯方块游戏。代码简单,里面的每个游戏逻辑都值得初学者分析和学习

橘子钟表 铜牌收录

这个橘子钟表程序主要分成三个部分:画表盘、画表针、显示当前时间。画表盘部分运用到了三次贝塞尔曲线、HSL 颜色模型以及字符串格式化命令,其中三次贝塞尔曲线确定点的坐标比较复杂。画表针主要涉及到计算各表针运动的弧度。显示当前时间所用字体为等宽字体,其作用在于居中后效果更均匀。

在 EasyX 中使用外部字体文件设置字体样式 铜牌收录

在 EasyX 输出字体的时候,要求字体在当前环境中可用,否则就无法看到字体的效果。使用系统中默认存在的字体比较简单,可以直接使用。但是如果字体是自己精心挑选的,系统中不存在,将程序发给别人以后,要求别人安装字体才能启动程序看到效果,就不太合适了。本文详细讲述在不安装字体的前提下如何通过字体文件设置字体样式。

保留透明(Alpha)信息地旋转图像 铜牌收录

EasyX 的旋转函数 rotateimage 不支持含有透明信息的图像的旋转,在设置了背景色的情况下会丢失透明信息,故特地编写了保留透明信息的旋转函数。 在此之前也有人写过此类旋转函数,旋转效果很好,也实现了目标效果,可惜存在一些致命 Bug,否则我也不会再造轮子。此旋转函数是原创的,取前人所长,去前人所短,绝对能满足您的旋转需求,让您也不必再造轮子。

色环设计 铜牌收录

该程序实现了一个色圈旋转的功能,本来的目的是通过色圈的旋转和圈内的箭头的指向误导人视觉感知。但是我发现并不是我所看到的那样,虽然色圈旋转了,箭头也指向了特定的位置,但是并没有给人相应的感觉。

思维卡互动魔术 铜牌收录

思维卡互动魔术,具体可以看参考资料,我稍稍介绍一下,现实中,这个魔术的道具是由八张特别设计的卡片组成,一共存在 52 个数字,每张卡片都扣掉了一些数字,保留了一些数字。魔术前需要你想一个数字,我将八张卡片依次给你看,你告诉我卡片上有没有你想的数字。最后我一定能猜到你所想的数字^-^。

冰墩墩 铜牌收录

将冰墩墩简化成多个椭圆,并且按照不同部位,分步用函数分别绘制,冰墩墩的具体细节没有去刻画。适合初学者借鉴学习与加以细化,例如可以细化一下冰墩墩的腿部和手部细节,将它肚子上的文字改成冬奥 LOGO,改变一下眼睛的颜色等等,还可以画一只雪容融。

无限循环的几何 铜牌收录

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