CodeBus

分享代码,一起进步~

用绘图语句画安卓(android)机器人(初学 C 语言的同学必看)

学编程最需要注意的就是多动手,多练习。不管你学了多少,学一点,就要练习一点。哪怕没有学习循环和判断,都可以写出一些不错的程序来。 所以,我写了这个范例程序给大家参考。希望可以抛砖引玉,给初学 C 语言的同学以启发。 执行效果如下: VC 源代码如下: ///////////////////////////////////////////////////////////// // 程序名称:用绘图语句画安卓(android)机器人(初学 C 语言的同学必看) // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-10-9 // #include <graphics.h> #include <conio.h> #define PI 3.14159265 void main() { // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); // 设置原点 (0, 0) 为屏幕中... [更多...]

用绘图语句画机器猫(初学 C 语言的同学必看)

学编程最需要注意的就是多动手,多练习。不管你学了多少,学一点,就要练习一点。哪怕没有学习循环和判断,都可以写出一些不错的程序来。 所以,我写了这个范例程序给大家参考。希望可以抛砖引玉,给初学 C 语言的同学以启发。 执行效果如下: 具体这个家伙叫机器猫还是小叮当还是多啦A梦就不管啦,看代码吧: ///////////////////////////////////////////////////////////// // 程序名称:用绘图语句画机器猫(初学 C 语言的同学必看) // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-9-17 // #include <graphics.h> #include <conio.h> #define PI 3.14159265 // 主函数 void main() { // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); /... [更多...]

[图形学] 画填充圆(基于 Bresenham 算法)

基于图形学中的 Bresenham 画圆法,设计了填充圆的实现。以下是该实现的 C 语言源码: /////////////////////////////////////////////////// // 程序名称:基于 Bresenham 算法画填充圆 // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-7-14 // #include <graphics.h> #include <conio.h> // 基于 Bresenham 算法画填充圆 void FillCircle_Bresenham(int x, int y, int r, COLORREF color) { int tx = 0, ty = r, d = 3 - 2 * r, i; while( tx < ty) { // 画水平两点连线(<45度) for (i = x - ty; i <= x + ty; i+... [更多...]

视觉错觉艺术4

这是网上经常见的视觉错觉艺术图片,可以用程序生成的。效果如下: 完整的源代码如下: /////////////////////////////////////////////////// // 程序名称:基于 Bresenham 算法画圆 // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-7-14 // #include <graphics.h> #include <conio.h> // 定义回调 void (*callback)(int x, int y); // 画方块上的小方块 void DrawSmallBox(int x, int y, bool lt, bool rt, bool lb, bool rb) { int nx = x * 26 - 13; int ny = y * 26 - 13; if (lt) solidrectangle(nx + 1, ny + 1, nx +... [更多...]

视觉错觉艺术3

这是网上经常见的视觉错觉艺术图片,可以用程序生成的。效果如下: 完整的源代码如下: /////////////////////////////////////////////////// // 程序名称:视觉错觉艺术3 // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-7-14 // #include <graphics.h> #include <conio.h> // 定义回调 void (*callback)(int x, int y); // 圆中的每个点(回调函数) void CirclePoints(int x, int y) { if (x < y) { COLORREF c1 = getpixel(x, y); COLORREF c2 = getpixel(y, x); putpixel(x, y, c2); putpixel(y, x, c1); } } /... [更多...]

别踩白块儿(双人版) VC 源代码

这就是当前十分流行的游戏“别踩白块儿”的双人版,两个人可以同时进行游戏。 默认情况下,喜羊羊的四个按键是 asdf,灰太狼的四个按键是 jkl;,可以在代码中修改。 以下是游戏截图: 以下是完整的游戏源代码,在 VC6.0 和 VC2013 下面测试通过: /////////////////////////////////////////////////// // 程序名称:别踩白块儿(双人版) VC 源代码 // 编译环境:Visual C++ 6.0、2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-5-26 // #undef UNICODE #undef _UNICODE #include <graphics.h> #include <conio.h> #include <stdio.h> #include <time.h> #define MAXTASK 50 // 定义游戏需要完成的黑块数... [更多...]

视觉错觉艺术2

这是网上经常见的视觉错觉艺术图片,可以用程序生成的。效果如下: 完整的源代码如下: /////////////////////////////////////////////////// // 程序名称:视觉错觉艺术2 // 编译环境:Visual C++ 6.0,EasyX 2013霜降版 // 作  者:yangw80 <yw80@qq.com> // 最后修改:2013-12-16 // #include <graphics.h> #include <conio.h> // 定义常量 #define UNIT 24 #define OFFSET_X 116 #define OFFSET_Y 36 // 画装饰花 void DrawUnit(int x, int y, int shape) { // 设置颜色 int n = ((shape & 1) ? 1 : 0) + ((shape & 2) ? 1 : 0) + ((shape & 4) ? 1 : 0); setlinecolor((n % 2 ==... [更多...]

视觉错觉艺术1

这是网上经常见的视觉错觉艺术图片,可以用程序生成的。效果如下: 完整的源代码如下: /////////////////////////////////////////////////// // 程序名称:视觉错觉艺术1 // 编译环境:Visual C++ 6.0,EasyX 2013霜降版 // 作  者:yangw80 <yw80@qq.com> // 最后修改:2013-12-16 // #include <graphics.h> #include <conio.h> // 定义常量 #define UNIT 15 #define OFFSET_X 122 #define OFFSET_Y 23 // 画每个小单元 void DrawUnit(int x, int y, int shape) { // 定义颜色 static COLORREF c[4] = {0x0000ff, 0x0077ff, 0x00ddff, 0x0077ff}; // 画背景白色角块 setfillcolor(WHITE); switch(shap... [更多...]

游戏:矿井逃生

游戏说明: 矿井里的电路又出问题了。迅速借助你的头灯,在漆黑的矿井里找到出口逃出去吧。 控制说明: 方向键:移动A/S/D/W:移动鼠标:控制照射方向F2:重来一局ESC:退出游戏就不放抓图了,有兴趣的编译运行一下代码看看效果吧。 以下是全部源代码: /////////////////////////////////////////////////// // 程序名称:矿井逃生 // 编译环境:Visual C++ 6.0 / 2010,EasyX 2013霜降版 // 作  者:yangw80 <yw80@qq.com> // 最后修改:2013-11-15 // #include <easyx.h> #include <time.h> #include <math.h> #include <stdio.h> // 定义常量 #define PI 3.141592653589 // 圆周率 #define UNIT_GROUND 0 // 表示地面 #define UNIT_WALL 1 // 表示墙... [更多...]

计算任意扇形的最小外包矩形

今天很偶然需要这样一个东西: 求任意扇形的最小包围矩形,要求矩形的边是水平、垂直的。 这个东西看似很简单,但是仔细一想,需要注意的地方蛮多的,还真有点不好下手。再回想一下,好像没有那本书里面讲过。然后百度了一下,似乎也没找到有效的方法。于是我就花了点时间搞定了这个东西,然后顺手写了一个例子演示效果。 如果您有更好的方法,十分期待交流一下。 以下代码除了包含必要的求解任意扇形的最小包围函数之外,还加上了鼠标操作:按下左键移动鼠标,可以调整终止角的弧度;同时按下 Shift 键移动,可以调整起始角的弧度。 执行效果如图: 完整代码如下: /////////////////////////////////////////////////// // 程序名称:计算扇形的最小包围矩形 // 编译环境:Visual C++ 6.0 / 2010,EasyX 2013霜降版 // 作  者:yangw80 <yw80@qq.com> // 最后修改:2013-11-14 // #include <graphics.h> #include <math.h> #in... [更多...]