VS2019 +easyx 实现闪烁的星空(夜景)
开头
主要是,之前,老师喊写c语言作业,就有这么个要求,用c语言写一个闪烁的星空。
说实话,用c#实现挺简单的。但还是用easyx来玩。
因为easyx的效果特别好,美工特别好。
背景
就是用这个。
效果图
时不时有流星划过夜空,建议自己去配bgm.
代码
#include<iostream>
#include<graphics.h>
#include<time.h>
#include<process.h>
using namespace std;int windowwid = 920;
int windowhig;struct STAR
{int x;int y;
};
STAR star[100];void meteor()//演示流星的图像,设计成延时后产生流星
{int a = rand() % windowwid;int b = rand() % windowhig;int tempA, tempB;tempA = a;tempB = b;for (int i = 0; i < 40; i++){setcolor(WHITE);setlinestyle(PS_SOLID, 1);circle(a, b, 1);Sleep(10);a = a - 2;b = b + 1;}for (int m = 0; m < 40; m++){setcolor(BLACK);setlinestyle(PS_SOLID, 1);circle(tempA, tempB, 1);Sleep(10);tempA = tempA - 2;tempB = tempB + 1;}}void startup()//为星星的坐标数据初始化{for (int i = 0; i < 20; i++){star[i].x = rand() % 920;star[i].y = rand() % 593;}
}
void paintstar()//通过putpixel在屏幕打印出像素,类似于星星
{for (int i = 0; i < 20; i++){putpixel(star[i].x, star[i].y, WHITE);}}
void hidestar()//适当的时间后将星星遮盖
{for (int i = 0; i < 20; i++){putpixel(star[i].x, star[i].y, BLACK);}
}
void moon()
{setcolor(WHITE);setfillcolor(WHITE);fillcircle(180, 100, 60);circle(180, 100, 60);int a1 = 210;//可调节int a2 = 80;setcolor(BLACK);setfillcolor(BLACK);fillcircle(a1, a2, 60);circle(a1, a2, 50);}int main()
{int x2; int y2;windowhig = windowwid * 0.618;initgraph(windowwid, windowhig);moon();for(int m=1;m>0;m++){startup();paintstar();if (m % 3 == 0){meteor();}Sleep(1500);hidestar();}system("pause");closegraph();}
VS2019 +easyx 实现闪烁的星空(夜景)相关推荐
- VS2019——easyx新版图形库图形化界面及音频播放的疑难杂症
大二的孝高学子 一.mcisendstring()和playsound() easyx插入音频的时候 当我利用mcisendstring()播放音频信息时候会发现只用通过控制台界面输出才能输出我的音频 ...
- C++のeasyx特辑2:星空
浩瀚银河,不知有多少星星? 那就数一数吧. #include <graphics.h> #include <time.h> #include <conio.h>#d ...
- 背单词软件 基于VS2019 EasyX (C语言实现)
目录 一.软件需求说明书 1引言 2任务概述 3.报告分析 二.可行性研究报告 三.系统设计说明书 1.概要的设计 2.详细设计 四.界面设计 五.测试计划 1引言 2计划测试内容 3 测试设计说明 ...
- C++写的是男人就下一百层小游戏,基于EasyX图形库(本人菜鸟)
是男人就下一百层 小游戏 游戏整体源代码已打包,在最下面 首先建立一个board类: #pragma once #ifndef BOARD_H_ #define BOARD_H_ const int ...
- 使用c语言easy—x库实现实时钟表
先了解一下easy-x库 EasyX 是针对 C++ 的图形库,可以帮助 C++语言初学者快速上手图形和游戏编程. 可以通过官网下载,文件很小, easy-x的支持头文件是 #include<g ...
- 电脑动态壁纸_每日壁纸—水彩插画少女动漫手机高清无水印壁纸第二波
- End - 猜你喜欢: 看新闻竟然可以赚钱??? 朋友圈千万别设置三天可见!哈哈哈~ 圣诞节,你收到过的奇葩礼物是什么? 教你玩赚支付宝红包攻略,如何领大额红包!!! 哈哈哈~现在的骗子真的一届不 ...
- 数学:确定性的丧失--第一章 数学真理的起源
发信人: paradax (秀树*冬眠中...), 信区: Philosophy 标 题: 数学:确定性的丧失(2) 发信站: 北大未名站 (2002年10月23日22:32:42 星期三), 转信 ...
- 圣诞节老人界面(动画特效)
下下周就圣诞节啦!!!在这里用C语言给大家来一个圣诞节界面动画(这不比圣诞树香吗) 首先看一下效果图 开发环境:vs2019+easyx(需要安装图形库) 完整源代码 #include<stdi ...
- 用Canvas画漫天繁星吧~
初学Canvas写了一个在一片区域内随机产生星星并且不断闪动的效果.具体实现如下所示. 首先创建一个canvas让其适配屏幕的大小. h = screen.height - 200;w = scree ...
- 模拟自由落体运动的小球
基于VS2019 EasyX插件 C/C++ 生成一个模拟自由落体运动的小球 #include <iostream> #include <graphics.h> #in ...
最新文章
- 基于Charlieplexing算法(查理复用算法)的LED矩阵控制设计
- Javascript 基础知识之数据类型
- IDEA中maven项目导jar包太慢
- vs2005+Access开发网站管理系统日志1
- vue + element ui 的后台管理系统框架_从零开始搭建 VUE + Element UI后台管理系统框架...
- Harbor仓库的管理
- android getprop 分辨率,Android getprop 读取的属性哪里来的?
- Chromium Android编译指南
- node.js async await 配合Promise对象使用
- 你确定你真的理解“双亲委派“了吗?!
- Get Intellisense for .axml files in Visual Studio
- fetch oracle 1007,Oracle 教程 Fetch子句 - 闪电教程JSRUN
- 用本地计算机做服务器提供外网访问:花生壳+tomcat
- oracle 导入时出现两个,Oracle的导入及两个错误
- 医咖会免费SPSS教程学习笔记—组内相关系数ICC
- echarts画工作流(流程图)
- 【计算几何】求三角形外接圆的周长、面积公式
- pythonidle是什么_Python入门 | IDLE的介绍和使用方法
- 模具冲压与模具设计知识点
- GPU CPU NPU
热门文章
- 2019个人年度总结:平凡的我,仍然在平淡的生活里打拼,寻找未来的曙光。
- meson是用Python语言开发的构建工具,编译需要Ninja(用C++实现)命令。Meson 旨在开发最具可用性和快速的构建系统。
- java坦克大战登录界面设计_JAVA课程设计——坦克大战
- LimeSDR新手入门教程(一)
- python笔记:7.2.2.2 一元多因素方差分析_交互效应图(购房面积影响因素交互效应)
- vue axio的使用
- 微服务架构下分布式事务解决方案
- 微信扫一扫不能打开APK下载链接的问题
- 整车CAN网络基本结构
- ubuntu16.04使用umake安装pycharm-professional