这个程序包括了一些常见图像处理的演示,并提供了一些按钮来改变参数。有旋转,均衡化,分割,填充,锐化,模糊,滤波,变换和一个分裂图小游戏。
寒假过半的时候,我突发奇想写一个图片编辑器出来,经过半个月的折腾写出来这个 Photo Editor,代码不算优良,仅供参考
这个程序包含了一些常见分形图案的动画演示,并提供了一些按钮来改变有意义的可变变量,创造不一样的分形图案。
三维魔方,左键拖动能从不同角度观察一个魔方,右键拖动能拧动魔方。拧动的方式有三种,以 x 轴为旋转轴、以 y 轴为旋转轴、以 z 轴为旋转轴。
这次是模拟二维物体运动的物理作业。原本是用 matlib 模拟三维星体运动的。用 C++只好降成二维了(二向箔出击),因为它只有 X,Y 轴,转三维好像要用旋转函数和一些矩阵转换,我想想就算啦。
打地鼠,点击鼹鼠的小游戏。游戏界面是仿照 unity 书上的素材绘制的。纯手工绘制,不添加任何图片。
宝石迷阵,三消类游戏是十分经典的游戏。也是除了矩形,我设计了一个六边形格子。这个程序没用图片素材,换成系统自带的字符映射表中的图案,省去了大量绘制棋子样式的时间。
四消水果,四个(以上)连一起的一样的图案会消除。这个游戏讲究移动和布局,属于是在运动中消灭图案,时刻要保持道路的通畅,还要合理的运用新出现的图案。
最初是想用阿基米德螺旋线实现可视化 π,于是学习了泰勒展开计算 π 的过程,同理举一反三实现了计算 e 的过程,学习了画阿基米德螺旋线。后来又实现了一种“走路的直线”,来可视化有理数。本程序糅合了所有功能,实现用螺旋线和行走线,来可视化无理数 π,无理数 e 和有理数。
做一个旋转的立体几何,这个立体几何为三个相互嵌套着的正方体,让这三个大小不一的正方体分别绕着不同的轴线旋转。
1.初始时的就是一个正视图为正方形中心在原点的正方体,称之为初始状态。
2.调整正方体使其两个顶点以及中心在 Z 轴上,此时正方体的正视图为正六边形,也就是展示状态。
3.在旋转的时候,需要将正方体调整回初始状态,旋转完毕后再调整为展示状态。
4.从三维直角坐标系中左手系的来说,最外围的正方体沿着 Y 轴转动,中间的正方体沿着 XOZ 平面中 x+z=0 轴线转动,最内的正方体沿着 XOZ 平面中 x-z=0 轴线转动。
在二维平面上显示三维图形很有难度,要做一个 3d 游戏首先要实现每个三维的点在二维平面上的投影,这个程序实现了通过转变投影面来看到不同角度正方体的样子。
象棋马拉松,这个小游戏就是控制一个马往前跳。原游戏只有新棋子第一次出现会显示跳哪些地方会被吃。而我加了右键提示,为了判定每个格子安不安全,本身需要一个存危险点和可以移动点的函数。原游戏挺上瘾的,配有落子的音效,就是下的随便的时候很容易失误,原游戏是无尽模式,我加了一个闯关模式。
这个程序模拟了刮刮乐的刮卡操作,按下鼠标左键并移动可以刮开刮卡层。刮卡操作是通过掩码图实现的,一张隐藏的待刮开背景图,一张掩码图。刮卡的时候,是在黑色的掩码图上画线,显示的时候,通过掩码图将背景图显示出来。
一个用 EasyX 开发的锤僵尸小游戏,共计 1897 行代码,实现了锤僵尸、种植物、除草机、读档存档、收阳光等功能。利用墓碑吞噬者将所有墓碑吞噬后即可通关。
嵌套井字棋,我也叫他大井字棋。小九宫格的胜利条件同井字棋规则一致,一旦达成,这个小九宫格归达成者。大九宫格的胜利条件就是三个同色小九宫相连,一旦达成,即为胜利。平局后手赢。