屏幕字符串雨

这是一个屏幕字符串雨的代码,跟着别人学的,大概意思了解,给大家分享一下,还有这里有 srand((unsigned)time(NULL));
mciSendString(“open 音乐//世本常态-隔壁老樊.map3”, NULL, 0, NULL);
mciSendString(“play 音乐//世本常态-隔壁老樊.map3”, NULL, 0, NULL);
这段播放不了音乐,求大佬解决一下

#include "graphics.h"
#include "time.h"
#include "mmsystem.h"
#pragma comment(lib,"WinMM.Lib")

#define SCREEN_WIDTH   1600
#define SCREEN_HEIHT    800
#define RAIN_NUM    200


char g_StrRain[RAIN_NUM][15] = { 0 };

POINT  g_RainPos[RAIN_NUM]= { 0 };

void InitGame()
{
	char  Randchar = 0;
	for (int i = 0; i < RAIN_NUM; i++)
	{
		for (int j = 0; j < RAIN_NUM; j++)
		{
			while (1)
			{
				Randchar = rand() % 123;
				if ((Randchar >= 65 && Randchar <= 90) || (Randchar >= 97 && Randchar <= 122))
					break;
			}
			g_StrRain[i][j] = Randchar;
		}
	}
	for (int i = 0; i < RAIN_NUM; i++)
	{
		g_RainPos[i].x = rand() % SCREEN_WIDTH;
		g_RainPos[i].y = rand() % SCREEN_HEIHT;
	}

}


void UpdateGame()
{
	for (int i = 0; i < RAIN_NUM; i++)
	{
		g_RainPos[i].y += 15;
		if (g_RainPos[i].y - 10 * 15 >= SCREEN_HEIHT)
		{
			g_RainPos[i].x = rand() % SCREEN_WIDTH;
			g_RainPos[i].y = 0;
		}
	}
}

void  RenderGame()
{
	BeginBatchDraw();
	cleardevice();
	for (int i = 0; i < RAIN_NUM; i++)
	{
		setcolor(RGB(rand() % 255, rand() % 255, rand() % 255));
		for (int j = 0; j < 15; j++)
		{
			outtextxy(g_RainPos[i].x, g_RainPos[i].y - 15 * j, g_StrRain[i][j]);
			settextcolor(RGB(0, 255 - 50 * j, 0));
		}
	}
	EndBatchDraw();
	

}

int  main()
{
	HWND  hwnd = initgraph(GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CXSCREEN));
	SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) - WS_CAPTION);

	SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), SWP_SHOWWINDOW);

	LONG WindowLong = GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED;
	
	SetWindowLong(hwnd, GWL_EXSTYLE, WindowLong);

	SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 0, LWA_COLORKEY);

	srand((unsigned)time(NULL));

	mciSendString("open 音乐//世本常态-隔壁老樊.map3", NULL, 0, NULL);
	mciSendString("play 音乐//世本常态-隔壁老樊.map3", NULL, 0, NULL);
	InitGame();
	while (1)
	{
		RenderGame();
		UpdateGame();
	}
	closegraph();
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值