前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >流星雨

流星雨

作者头像
对弈
发布于 2019-09-04 07:50:52
发布于 2019-09-04 07:50:52
52800
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <graphics.h>
#include <time.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")


#define MAXSTAR 100   //流星最大数量
#define MAXSTAR1 1000  //星星最大数量


IMAGE img1, img2;




//星星
struct STAR1
{
int x, y;  //星星坐标
int step;  //星星移动的速度
int color;  //星星的颜色
}star1[MAXSTAR1];


//流星
struct STAR
{
int x, y;
int step;
int style; //图片样式
}star[MAXSTAR];




void initData();
void initStar1(int i);
void initStar(int i);
void moveStar1(int i);
void moveStar();
void drawStar();




int main()
{
initData();
mciSendString("open 凉凉.mp3 alias music", 0, 0, 0);
mciSendString("play music repeat", 0, 0, 0);


while (1)
{
BeginBatchDraw();  //开始绘图界面
cleardevice();
for (int i = 0; i < MAXSTAR1; i++)
{
moveStar1(i);
}
moveStar();
drawStar();
Sleep(50);
EndBatchDraw();   //结束绘图界面,绘制上面所有的操作
}


closegraph();
return 0;


}




void initData()
{
srand((unsigned int)time(NULL));
initgraph(640, 480);
//初始化数据
loadimage(&img1, "2.jpg", 50, 50);
loadimage(&img2, "3.jpg", 50, 50);
//初始化星星
int i = 0;
for (i = 0; i < MAXSTAR1; i++)
{
initStar1(i);
star1[i].x = rand() % 640;
}
//初始化流星
for (i = 0; i < MAXSTAR; i++)
{
initStar(i);
}
}




void initStar1(int i)
{
star1[i].x = 0;
star1[i].y = rand() % 480;
star1[i].step = rand() % 5;
star1[i].color = RGB(star1[i].step * 51, star1[i].step * 51, star1[i].step * 51);
}


void initStar(int i)
{
star[i].x = rand() % 1280 - 640;  //-640-639
star[i].y = -144;
do
{
star[i].step = rand() % 30 + 1;
} while (star[i].step < 5);
star[i].style = rand() % 3 + 1;
}


//绘制移动星星
void moveStar1(int i)
{
putpixel(star1[i].x, star1[i].y, 0);
star1[i].x += star1[i].step;
if (star1[i].x>640)
initStar1(i);
putpixel(star1[i].x, star1[i].y, star1[i].color);
}


void moveStar()
{
for (int i = 0; i < MAXSTAR; i++)
{
star[i].x += star[i].step;
star[i].y += star[i].step*0.8;
}
}




void drawStar()
{
for (int i = 0; i < MAXSTAR; i++)
{
switch (star[i].style)
{
case 1:
putimage(star[i].x, star[i].y, &img1, SRCPAINT);
break;
case 2:
putimage(star[i].x, star[i].y, &img2, SRCPAINT);
break;
}
}
}






*/

声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%b7%e9%9c%86%e6%88%98%e6%9c%ba-57/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C/C++实现你的浪漫表白:浪漫流星雨表白程序
想要讨女朋友欢心也巩固自己所学的知识,各位小伙伴有自己的想法了吗?准备好想要怎样实施了吗?有什么美好的计划了吗?如果没有的话那么别慌,我知道,在座的各位肯定都是有自己的心仪的姑娘,那么今天就教大家一招,做一个表白程序去进行表白,别等了,赶紧打开你的IED,跟着代码敲起来,不然的话,喜欢的人都跟别人跑了!
用户6754675
2020/09/09
25.4K0
c语言黑白棋ai游戏源码
#include <graphics.h> // EasyX_2011惊蛰版 #include <strstream> #include <ctime> #pragma comment(lib, "W
C语言与CPP编程
2021/01/02
1.9K0
C语言/C++实战项目雷霆飞机(代码改进)
一枕眠秋雨
2024/03/11
1980
拼图
拼图这个游戏之前有分享过,但我觉得不是很完美,还有人吐槽背景图片太low,没办法,改点东西吧,还是老样子,先看梦凡玩一遍。
DeROy
2020/05/12
9070
拼图
使用C语言EasyX 创建动态爱心背景
在计算机图形学的世界中,有很多方法可以使程序的界面更加吸引人。在本篇博客中,我将向大家介绍如何使用 EasyX 图形库在 C++ 中创建一个动态的爱心背景。这不仅是一个简单的动画效果,它还包括背景的星星、旋转的心形以及一个美观的背景渐变。
命运之光
2024/03/20
2350
使用C语言EasyX 创建动态爱心背景
利用Python 绘制彩色动态流星雨
流星雨是可遇不可求的美景之一,除了在天空上看到,我们能不能用Python来绘画一场彩色的动态流星雨?
算法与编程之美
2024/03/27
3300
利用Python 绘制彩色动态流星雨
流星雨代码
一枕眠秋雨
2024/03/11
1850
流星雨代码
C语言+图形编程——自制象棋
用C语言做个象棋是不容易的,涉及到的知识点有很多方面,C语言里面的基本数据类型、运算符、顺序,分支,循环结构。还有运用到数组,函数,指针,以及我们的位运算等。
诸葛青云
2018/09/28
3.4K0
C语言+图形编程——自制象棋
C语言/C++雷霆战机代码(终极版)
一枕眠秋雨
2024/03/11
5800
C语言/C++雷霆战机代码(终极版)
C语言小游戏扫雷
声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%b7%e9%9c%86%e6%88%98%e6%9c%ba-50/
对弈
2019/09/04
5.2K0
c++ 字母降落小游戏
2、如果是常用颜色,直接输入英文大写即可;如果是不常见颜色,输入:RGB(13,240,60)即可自己调色
青衫哥
2023/03/31
6960
c++ 字母降落小游戏
C语言实现飞翔的小鸟小游戏
参考视频https://www.bilibili.com/video/BV1Xo4y1R7hs 缺陷:撞柱子功能暂未实现
半生瓜的blog
2023/05/12
3020
c语言对对碰游戏源码
//////////////////////////////////////////////////////////// //画素材的x和y都是反的,因为x表示行,但是画出来x表示列,y同 //////////////////////////////////////////////////////////// // 来自公众号:c语言与cpp编程 #include <graphics.h> #include <fstream> #include <strstream> #include <iomanip
C语言与CPP编程
2021/01/02
4100
c语言奔跑的火柴人游戏源码
#include <iostream> #include <fstream> #include <graphics.h> #include <conio.h> #include <time.h> using namespace std; // 来自公众号:c语言与cpp编程 /******全局变量******/ #define STEPDISTANCE 6 // 一步的距离。数值越大,移动速度越快 #define JUMPSPEED 10 // 数值越小,跳得越远 #define ROLLDIS
C语言与CPP编程
2021/01/02
2.7K0
【EasyX】飞机大战
本博客介绍利用EasyX加上图片、音乐素材实现一个鼠标控制的飞机大战小游戏。 本文源码可从github获取
程序员小涛
2023/07/10
3530
【EasyX】飞机大战
经典C语言/C++项目,雷霆战机
一枕眠秋雨
2024/03/11
2180
经典C语言/C++项目,雷霆战机
C语言教你写个‘浪漫烟花‘---特别漂亮
首先绘制菜单界面显示文字。烟花有上升阶段和爆炸阶段,定义烟花和烟花弹结构体。 烟花:坐标位置,爆炸的半径大小,最大半径,中心距左上角的距离,长宽,像素,时间等。 烟花弹:坐标位置,最高点,是否发射,时间,个数等。 初始化数据。加载资源贴图。随机发射数目随机,
用户6754675
2020/12/07
5.8K0
我用 140 行代码,带你看一场流星雨⭐
在一个夜深人静的晚上,程序员小丞坐在屋顶上,看着屏幕上满屏的error,心里拔凉拔凉的,泪水润湿了脸庞,无数个自己提桶跑路的身影充斥在脑海之中,猛然才发现自己还没有桶。此时星空中闪过了漫天的流星,小丞看到此景,心中的bug早已化去,留下的是还原此景的豪言壮举!(梦醒了,纯属瞎编)
小丞同学
2021/08/16
2K0
1611: [Usaco2008 Feb]Meteor Shower流星雨
1611: [Usaco2008 Feb]Meteor Shower流星雨 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1010  Solved: 446 [Submit][Status][Discuss] Description 去年偶们湖南遭受N年不遇到冰冻灾害,现在芙蓉哥哥则听说另一个骇人听闻的消息: 一场流星雨即将袭击整个霸中,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽, 届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,芙蓉哥哥开始担心自
HansBug
2018/04/10
6120
C语言项目 微信小游戏《羊了个羊》
image:背景图bk.jpg,卡片图lingdang.png,shu.png,cao.png
CtrlX
2023/03/21
4160
C语言项目 微信小游戏《羊了个羊》
相关推荐
C/C++实现你的浪漫表白:浪漫流星雨表白程序
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文