这是一个屏幕字符串雨的代码,跟着别人学的,大概意思了解,给大家分享一下,还有这里有 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;
}