用绘图语句画安卓(android)机器人(初学 C 语言的同学必看)
2014-10-9 ~ 2022-1-7
(2)
这个程序可以画出来一个安卓机器人的图片。没什么复杂的代码,逻辑很简单,甚至连 if for 都没用到,就是简单的绘图语句堆叠。
学编程最需要注意的就是多动手,多练习。不管你学了多少,学一点,就要练习一点。哪怕没有学习循环和判断,都可以写出一些不错的程序来。
所以,我写了这个范例程序给大家参考。希望可以抛砖引玉,给初学 C 语言的同学以启发。
执行效果如下:
VC 源代码如下:
/////////////////////////////////////////////////////////////
// 程序名称:用绘图语句画安卓(android)机器人(初学 C 语言的同学必看)
// 编译环境:Visual C++ 6.0 / 2010,EasyX_20210730
// 作 者:yangw80 <yw80@qq.com>
// 发布日期:2014-10-9
//
#include <graphics.h>
#include <conio.h>
const double PI = 3.1415926536;
int main()
{
// 创建大小为 800 * 600 的绘图窗口
initgraph(800, 600);
// 设置原点 (0, 0) 为屏幕中央(Y轴默认向下为正)
setorigin(400, 300);
// 使用藏青色填充背景
setbkcolor(0x7c5731);
cleardevice();
// 设置绘图样式
setlinecolor(WHITE); // 设置线条颜色为白色
setlinestyle(PS_SOLID | PS_ENDCAP_FLAT, 10); // 设置线条样式为宽度 10 的实线,端点是平的
setfillcolor(0x24c097); // 设置填充颜色为绿色
// 画身体
fillroundrect(-75, -111, 75, 39, 36, 36);
// 画头
fillpie(-75, -166, 75, -30, 0, PI); // 脸
circle(-31, -131, 3); // 右眼
circle( 31, -131, 3); // 左眼
// 画天线
fillellipse(-52, -181, -38, -167); // 右天线
line(-50, -169, -41, -156);
line(-38, -177, -28, -162);
fillellipse( 52, -181, 38, -167); // 左天线
line( 50, -169, 41, -156);
line( 38, -177, 28, -162);
// 用绿色擦掉天线部分多余的线
setlinecolor(0x24c097); // 设置线条颜色为绿色
setlinestyle(PS_SOLID | PS_ENDCAP_ROUND, 5); // 设置线条样式为宽度 5 的实线,端点为圆形
line(-44, -174, -23, -142); // 画右天线内部的绿线
line( 44, -174, 23, -142); // 画左天线内部的绿线
setlinecolor(WHITE); // 恢复线条颜色为白色
setlinestyle(PS_SOLID | PS_ENDCAP_FLAT, 10); // 恢复线条样式为宽度 10 的实线,端点是平的
// 画胳膊
fillroundrect(-117, -99, -75, 7, 42, 42); // 右胳膊
fillroundrect( 117, -99, 75, 7, 42, 42); // 左胳膊
// 画腿
fillpie(-50, 49, -8, 91, PI, PI * 2); // 右腿
line(-50, 40, -50, 70);
line(-8, 40, -8, 70);
solidroundrect(-45, 0, -13, 86, 32, 32);
fillpie( 50, 49, 8, 91, PI, PI * 2); // 左腿
line( 50, 40, 50, 70);
line( 8, 40, 8, 70);
solidroundrect( 45, 0, 13, 86, 32, 32);
// 画字母 A
arc(-185, 132, -144, 173, PI / 2, PI * 3 / 2);
line(-165, 132, -135, 132);
line(-165, 173, -154, 173);
line(-140, 127, -140, 178);
// 画字母 N
arc(-118, 131, -78, 171, 0, PI);
line(-118, 151, -118, 178);
line(-78, 151, -78, 178);
// 画字母 D
arc(-57, 132, -16, 173, PI * 3 / 2, PI / 2);
line(-60, 132, -37, 132);
line(-60, 173, -37, 173);
// 画字母 R
arc(14, 132, 40, 158, PI * 3 / 2, PI / 2);
arc(-2, 158, 38, 198, 0, PI / 2);
line(1, 132, 27, 132);
line(1, 158, 27, 158);
// 画字母 O
circle(81, 152, 21);
// 画字母 I
line(124, 127, 124, 178);
// 画字母 D
arc(144, 132, 185, 173, PI * 3 / 2, PI / 2);
line(141, 132, 164, 132);
line(141, 173, 164, 173);
// 按任意键退出
_getch();
closegraph();
return 0;
}