这篇文章主要介绍了圣诞树代码,c语言编程,基于graphics.h实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
头文件 icon.h:
#pragma once
#ifndef _ICON_H_
#define _ICON_H_
#include<graphics.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<Windows.h>
#include<Mmsystem.h>
#pragma comment(lib,"winmm.lib")
using namespace std;
void init()
{
initgraph(600, 720);
setbkcolor(RGB(255, 255, 255));
cleardevice();
}
void drawTree()
{
IMAGE tree;
setfillcolor(RGB(255, 255, 255));
setbkcolor(RGB(255, 255, 255));
loadimage(&tree, "tree.jpg", 600, 580, true);
putimage(0, 150, &tree);
}
void drawDelc()
{
IMAGE delc;
setfillcolor(RGB(255, 255, 255));
setbkcolor(RGB(255, 255, 255));
loadimage(&delc, "delc.jpg", 150, 150, true);
putimage(220, 0, &delc);
}
void Star(int x,int y)
{
IMAGE star;
setfillcolor(RGB(255, 255, 255));
setbkcolor(RGB(255, 255, 255));
loadimage(&star, "star.jpg", 50, 50, true);
putimage(x, y, &star);
}
void Shining(int x,int y)
{
setbkcolor(RGB(255, 255, 255));
clearrectangle(x, y, x+50, y+50);
Sleep(400);
Star(x, y);
}
void music()
{
mciSendString(TEXT("open Christmas.wav alias bgm"), NULL, 0, NULL);
mciSendString(TEXT("play bgm"), NULL, 0, NULL);
}
void close()
{
getchar();
closegraph();
}
#endif // !_ICON_H_
music函数播放同目录下的Christmas.wav 音乐,需要自行导入音乐到同目录下,并按情况修改该函数中音乐文件目录,否则没有声音。
图像素材也需要自行导入
cpp文件 圣诞树.cpp:
#include<graphics.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include"icon.h"
using namespace std;
int main()
{
init();
drawTree();
drawDelc();
Star(60, 360);
Star(490, 360);
Star(150, 180);
Star(400, 180);
music();
while (1)
{
music();
Shining(60, 360);
Shining(490, 360);
Shining(150, 180);
Shining(400, 180);
}
close();
return 0;
}
效果图:
到此这篇关于C语言基于graphics.h实现圣诞树的文章就介绍到这了,更多相关c语言圣诞树内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:C语言基于graphics.h实现圣诞树
基础教程推荐
猜你喜欢
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01