C语言基于graphics.h实现圣诞树

 更新时间:2021年12月22日 14:10:56   作者:Dafufmor  
这篇文章主要介绍了圣诞树代码,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语言scanf,fscanf和sscanf的区别

    C语言scanf,fscanf和sscanf的区别

    每种语言都对正则表达式有着不同程度的支持,在C语言中,有输入功能的这三个函数对正则表达式的支持并不强大,但是我们还是有必要了解一下
    2021-10-10
  • C语言动态内存管理分析总结

    C语言动态内存管理分析总结

    C语言中开辟内存有很多种方式,目前我们最常用的也就是数组,但数组是在我们用到他之前就得设定好它的长度,有时很不方便。随意我们来探究动态内存管理
    2021-11-11
  • C++ Boost Intrusive库示例精讲

    C++ Boost Intrusive库示例精讲

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • c++中的string常用函数用法总结

    c++中的string常用函数用法总结

    以下是对c++中的string常用函数的用法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++中vector和map的删除方法(推荐)

    C++中vector和map的删除方法(推荐)

    下面小编就为大家带来一篇C++中vector和map的删除方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • 内部排序之堆排序的实现详解

    内部排序之堆排序的实现详解

    本篇文章是对堆排序的实现进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言实现简单的贪吃蛇游戏的示例代码

    C语言实现简单的贪吃蛇游戏的示例代码

    这篇文章主要为大家详细介绍了C语言如何实现经典贪吃蛇游戏,文中的示例代码讲解详细,对我们学习C语言有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-01-01
  • 谈谈vector的特殊性之为什么它不是STL容器

    谈谈vector的特殊性之为什么它不是STL容器

    这篇文章主要给大家介绍了关于vector的特殊性之为什么它不是STL容器的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • Cocos2d-x中CCEditBox文本输入框的使用实例

    Cocos2d-x中CCEditBox文本输入框的使用实例

    这篇文章主要介绍了Cocos2d-x中CCEditBox文本输入框的使用实例,本文在代码中用大量注释讲解了CCEditBox的使用方法,需要的朋友可以参考下
    2014-09-09
  • C++设计模式之外观模式

    C++设计模式之外观模式

    这篇文章主要介绍了C++设计模式之外观模式,本文详细讲解了C++中的Facade模式,并给出了实例代码,需要的朋友可以参考下
    2014-10-10

最新评论