网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库
第2节:一个简单的EGE程序
#ifndef _GRAPHICS_H_
#define _GRAPHICS_H_
#ifndef __cplusplus
#error You must use C++ compiler, or you need filename with '.cpp' suffix
#endif
#include "ege.h"
using namespace ege;
#endif #include <iostream>
#include <graphics.h> void main()
{
initgraph(640, 480);//创建绘图窗口 outtextxy(100, 300, "aloha world");//在指定坐标向右输出字符串
line(10, 10, 400, 400);//在指定坐标输出线段 ege::getch();//等待输入字符
closegraph();//关闭绘图窗口
}
第3节:EGE的输入输出
画出椭圆,填充颜色,并随机变化颜色
#include <graphics.h>
void mainloop()
{
//is_run检测程序是否收到关闭消息
//收到则返回false,退出程序
//delay_fps 控制帧率,60表示
//平均延时”为1000/60毫秒
for (; is_run(); delay_fps(60))
{
// todo: 逻辑更新
setfillcolor(EGERGB(random(255), random(255), random(255)));//设置颜色
// todo: 图形更新
// 清屏
cleardevice();
fillellipse(200, 200, 50, 30);//输出椭圆,前两个参数是圆心的坐标,后两个参数是长轴和短轴的半径
}
} int main(void)
{
//INIT_DEFAULT ege默认配置
//INIT_NOFORCEEXIT 由程序本身检测和控制结束
//INIT_RENDERMANUAL与setrendermode(RENDER_MANUAL)等效
setinitmode(INIT_DEFAULT|INIT_NOFORCEEXIT);
//图形初始化,窗口尺寸640x480
initgraph(640, 480);
//随机数初始化,如果需要使用随机数的话
randomize();
//绘图更新模式设置为手动,仅调用delay_fps/delay_ms
//等函数时才刷新,避免闪烁。在RENDER_AUTO模式下,任
//何绘图操作进行时都可能刷新,甚至刚cleardevice就显示
//导致屏幕上有时仅显示一个背景而没有其它内容导致闪烁
setrendermode(RENDER_MANUAL);
// 程序主循环
mainloop();
closegraph();
return 0;
}
画出圆,并移动
#include <graphics.h>
void mainloop()
{
// 动画控制变量,控制横坐标,初始值为0
int x = 0;
setcolor(EGERGB(0, 0xFF, 0));//设置绘图线条颜色
setfillcolor(EGERGB(0, 0, 0xFF));//设置填充颜色 for ( ; is_run(); delay_fps(60) )
{
// todo: 逻辑更新
//计算新坐标,右移一个像素,若等于440则移回x=0
x = ( x + 1 ) % 440; // todo: 图形更新
//清屏,重新在新的位置绘图图像
cleardevice();
//圆心坐标是 (x + 半径)
fillellipse(x + 100, 200, 100, 100);
}
} int main()
{
//INIT_ANIMATION相当于INIT_NOFORCEEXIT|
// INIT_DEFAULT|INIT_RENDERMANUAL
//下面就不需要再多一步setrendermode
setinitmode(INIT_ANIMATION);
// 图形初始化,窗口尺寸640x480
initgraph(640, 480);
// 随机数初始化,如果需要使用随机数的话
randomize();
// 程序主循环
mainloop();
// 关闭绘图设备
closegraph();
return 0;
}
网易云课堂_C++程序设计入门(上)_第2单元:丹青画松石– EGE图形库的更多相关文章
- 网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态_第6单元作业【2】- 在线编程(难度:中)
第6单元作业[2]- 在线编程(难度:中) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 网易云课堂_C++程序设计入门(上)_第1单元:C++概览_第1单元作业 - 写代码 - 互评 (难度:易)
第1单元作业 - 写代码 - 互评 (难度:易) 查看帮助 返回 提交作业(截止时间已过) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 温 ...
- 网易云课堂_C++程序设计入门(上)_第5单元:万类霜天竞自由 – 对象和类的更多内容_第5单元作业【4】 - 在线编程(难度:难)
第5单元作业[4] - 在线编程(难度:难) 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系 ...
- 网易云课堂_C++程序设计入门(上)_第4单元:物以类聚 – 对象和类_第4单元作业【3】- 在线编程(难度:难)
1 在本单元作业[1]和作业[2]的基础上,创建一个MyRectangle类,并在main函数中创建类的实例.(10分) 题目难度: 难 题目内容: Screen类: 与作业[2]要求完全相同. 如果 ...
- 网易云课堂_C++程序设计入门(上)_第3单元:更上一层楼 – 超越C的语法_第3单元作业【3】-在线编程(难度:中;10分)
1 本题要求实现两个重载的swap函数,每个swap函数都可交换3个整数a,b,c的值.将a的值存入b,b的值存入c,c的值存入a, 并且返回三个整数中最大的数的值.例如a,b,c的值为1,2,3,则 ...
- 网易云课堂_C++程序设计入门(下)_第7单元:出入虽同趣,所向各有宜 – 文件输入和输出_第7单元 - 作业2:编程互评
第7单元 - 作业2:编程互评 查看帮助 返回 提交作业(剩余10天) 完成并提交作业 作业批改 互评训练 互评作业 自评作业 成绩公布 查看成绩 由于在线编程不支持 ...
- 网易云课堂_C++程序设计入门(下)_第11单元:工欲善其事必先利其器 - STL简介_第11单元 - 单元作业2:OJ编程 - list 与 deque
第11单元 - 单元作业2:OJ编程 - list 与 deque 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之 ...
- 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板
第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...
- 网易云课堂_C++程序设计入门(下)_第9单元:白公曾咏牡丹芳,一种鲜妍独“异常”_第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理
第9单元 - 作业5:OJ编程 - 使用异常进行图形类的错误处理 查看帮助 返回 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前 ...
随机推荐
- UESTC_秋实大哥带我飞 2015 UESTC Training for Graph Theory<Problem B>
B - 秋实大哥带我飞 Time Limit: 300/100MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- Binary Tree Zigzag Level Order Traversal 解答
Question Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, fro ...
- Unique Binary Search Trees 解答
Question Given n, how many structurally unique BST's (binary search trees) that store values 1...n? ...
- python连续爬取多个网页的图片分别保存到不同的文件夹
python连续爬取多个网页的图片分别保存到不同的文件夹 作者:vpoet mail:vpoet_sir@163.com #coding:utf-8 import urllib import ur ...
- 探索PHP+Nginx(一) 安装Linux操作系统
每次学习一种新的开发语言的时候,都要经历一个很纠结的过程,除非你运气很好或者准备工作充分,否则你在这个过程中总会耗费大量的时间和精力,当然你也会受益很多.而这个过程就是,开发环境的基础搭建,看似是装几 ...
- 类linux系统/proc/sysrq-trigger文件功能作用
立即重启计算机 echo "b" > /proc/sysrq-trigger 立即关闭计算机 echo "o" > /proc/ ...
- C pointers
指向整型数组指针int (*p)[10] = matrix;增加这个指针的值使它指向下一个整型数组 指向整型指针int *pi = &matrix[0][0];int *pi = &m ...
- 【MSP是什么】MSP认证之项目管理与项目群管理的区别
通常所说的项目管理是指运用各种相关知识.技能.方法与工具,为满足或超越项目有关各方对项目的要求与期望,所开展的各种计划.组织.领导.控制等方面的活动.具体包括项目范围管理.项目时间管理.项目成本管理. ...
- PHP 超强过滤函数
PHP 超强过滤函数 你有每次要过滤的时候总是去翻曾经的过滤代码的时候么? 你有搜索过怎样防过滤,防攻击的PHP解决方法么? 你有对全然遵循'过滤输入,避免输出',Web界经典说辞么? 事实上 ...
- hdu1753()模拟大型实景数字相加
标题信息: 手动求大的实数在一起, pid=1753">http://acm.hdu.edu.cn/showproblem.php?pid=1753 AC代码: /** *大实数相加 ...