⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 用SDL写的一个小游戏
💻 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 + -