📄 main.cpp
字号:
#include"CEnimy.h"
#include "Runner.h"
#include <windows.h>
SDL_Surface* g_pMainSurface = NULL;
SDL_Event g_Event;
SDL_Rect g_Rect;
Uint32 g_EnimyColor,g_RunnerColor;
float fgen_random(float _min,float _max)
{
float tmp = rand()%MODNUM;
tmp /= (float)MODNUM;
return tmp*(_max-_min) + _min;
}
void getRandomColor(Uint32& _Color)
{
Uint8 g_Red,g_Green,g_Blue;
g_Red = rand()%256;
g_Green = rand()%256;
g_Blue = rand()%256;
_Color = SDL_MapRGB(g_pMainSurface->format,
g_Red,g_Green,g_Blue);
}
int main(int argc,char* argv[])
{
if(SDL_Init(SDL_INIT_VIDEO==-1))
{
fprintf(stderr,"can not initialize SDL\n");
exit(1);
}
else
{
fprintf(stdout,"SDL initialized properly\n");
//SDL_Quit();
atexit(SDL_Quit);
}
//设置界面的模式
g_pMainSurface = SDL_SetVideoMode(SCREEN_WIDTH,
SCREEN_HEIGHT,0,SDL_ANYFORMAT);
if(!g_pMainSurface)
{
fprintf(stderr,"can not create main surface!\n");
exit(1);
}
getRandomColor(g_EnimyColor);
CEnimy Enimy(NUMOFENIMY,SCREEN_WIDTH,SCREEN_HEIGHT,g_EnimyColor);
Enimy.InitEnimy();
getRandomColor(g_RunnerColor);
CRunner Runner(SCREEN_WIDTH/2,SCREEN_HEIGHT/2);
Runner.InitRunner(g_RunnerColor);
int test = 1;
while(1)
{
if(SDL_PollEvent(&g_Event)==0)
{
Runner.UpdateRunner();
Runner.DrawRunner(g_pMainSurface);
fprintf(stdout,"%d////////////////////////\n",test++);
SPosition tmpRunPos = Runner.getRunnerPos();
fprintf(stdout,"Runner:%d %d\n",tmpRunPos.x,tmpRunPos.y);
Enimy.UpdateEnimy(tmpRunPos.x,tmpRunPos.y);
Enimy.DrawEnimy(g_pMainSurface);
SDL_UpdateRect(g_pMainSurface,0,0,0,0);
if(Enimy.IsHit(tmpRunPos.x,tmpRunPos.y))
{
fprintf(stdout,"aa\n");
Sleep(1000);
exit(1);
}
Sleep(20 + rand()%20);
Enimy.CleanEnimy(g_pMainSurface);
Runner.CleanRunner(g_pMainSurface);
}
else
{
if(g_Event.type == SDL_QUIT)
break;
}
}
fprintf(stdout,"Terminating normally\n");
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -