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; }
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); } }