Пример #1
0
int main(int argc, char* args[])
{
	SDL_Window* window = nullptr;
	SDL_Surface* windowSurface = nullptr;
	SDL_Renderer* renderer = nullptr;

	if (!init(&window, &windowSurface, &renderer))
	{
		printf("Failed to initialize SDL.\n", SDL_GetError());
	}
	else
	{
		bool quit = false;
		SDL_Event e;
		Player player;
		SDL_Rect winBox;

		addEnemy();
		addEntity(player.m_pos, 375, 25, 25, 25);
		addEntity(winBox, 0, 750, 50, 800);

		//Game loop
		while (!quit)
		{
			while (SDL_PollEvent(&e) != 0)
			{
				if (e.type == SDL_QUIT) {
					quit = true;
				}
				if (e.type == SDL_KEYDOWN)
				{
					inputMananger(e, player.m_pos, player.m_movementSpeed);
				}
			}

			if (playerCollisions(enemies, player)) {
				resetPlayerPos(player);
			}

			enemyMovement();
			gameBounds(player.m_pos);
			render(&renderer, player.m_pos, winBox);

			//Check to see whether the game is won
			if (checkWinCollision(winBox, player)) {
				quit = true;
			}

			SDL_Delay(16); //Simulate 16 fps
		}
	}

	close(&window, &renderer);
	return 0;
}
Пример #2
0
void Volley::createPlayer(int player, Actor	* &horiz, Actor * &vert)
{
	horiz = ActorFactory::get()->createActor("HorizontalPaddle.xml");
	vert = ActorFactory::get()->createActor("VerticalPaddle.xml");

	((PaddleComponent*)horiz->getComponent(PADDLE))->setPlayer(player);
	((PaddleComponent*)vert->getComponent(PADDLE))->setPlayer(player);

	resetPlayerPos(player, horiz, vert);
	if (player == 1)
	{
		((VisualComponent*)horiz->getComponent(VISUAL))->setColor(100, 255, 120, 255);
		((VisualComponent*)vert->getComponent(VISUAL))->setColor(100, 255, 120, 255);
	}
	else if (player == 2)
	{
		((VisualComponent*)horiz->getComponent(VISUAL))->setColor(100, 200, 255, 255);
		((VisualComponent*)vert->getComponent(VISUAL))->setColor(100, 200, 255, 255);
	}
}