/** * Runs the game! WHOO! */ int Game::start() { game_running = true; while(window.isOpen()) { while(game_running) { sf::Event event; while(window.pollEvent(event)) { if(event.type == sf::Event::Closed) { window.close(); game_running = false; game_over = true; } } bullets = p.getBullets(); spawnEnemies(); checkInput(); checkBorderCollision(p); checkEntityCollision(); checkDeath(); updateAnimations(); updateScore(); updateInterface(); updateGameClocks(); for(std::vector<Enemy*>::iterator iter = enemies.begin(); iter != enemies.end(); ++iter) { Enemy *eni = *iter; eni->stalkPlayer(p); } window.clear(sf::Color(0,230,0)); Sword * s = p.getSword(); if(s->isSwung()) { window.draw(s->shape); } window.draw(p.shape); for(std::vector<Enemy*>::iterator iter = enemies.begin(); iter != enemies.end(); ++iter) { Enemy *eni = *iter; window.draw(eni->shape); } for(std::vector<Bullet*>::iterator iter = bullets.begin(); iter != bullets.end(); ++iter) { Bullet *b = *iter; window.draw(b->shape); } for(std::vector<sf::Drawable*>::iterator iter = interface.begin(); iter != interface.end(); ++iter) { sf::Drawable *d = *iter; window.draw(*d); } window.display(); } setupEntities(); game_running = true; } return 0; }
ShaderProgram Setup(){ SDL_Init(SDL_INIT_VIDEO); displayWindow = SDL_CreateWindow("Game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_OPENGL); SDL_GLContext context = SDL_GL_CreateContext(displayWindow); SDL_GL_MakeCurrent(displayWindow, context); #ifdef _WINDOWS glewInit(); #endif ShaderProgram program(RESOURCE_FOLDER"vertex_textured.glsl", RESOURCE_FOLDER"fragment_textured.glsl"); //this regulates zoom projectionMatrix.setOrthoProjection(-1.7777f, 1.77777f, -1.0f, 1.0f, -1.0f, 1.0f); glViewport(0, 0, 800, 600); //glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClearColor(0.46f, 0.81f, 1.0f, 1.0f); setupEntities(&program); program.setModelMatrix(modelMatrix); program.setProjectionMatrix(projectionMatrix); program.setViewMatrix(viewMatrix); glUseProgram(program.programID); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); return program; }
void gameOver(ShaderProgram* program){ puts("we dead"); menuEntities.clear(); entities.clear(); viewMatrix.identity(); setupEntities(program); //setupMainMenu(program); }
/** * Sets up the window that will be used and various game settings * Should only be run once */ int Game::initialize() { window.create(sf::VideoMode(SCREEN_WIDTH, SCREEN_HEIGHT, 32), "Stop Dying!"); window.setFramerateLimit(60); spawn_rate = 0.008f; srand(time(NULL)); setupEntities(); game_over = false; last_time = 0; last_score = 0; while(!game_over){ start(); } return 0; }
void ZLXMLReaderInternal::init(const char *encoding) { if (myInitialized) { XML_ParserReset(myParser, encoding); } myInitialized = true; XML_UseForeignDTD(myParser, XML_TRUE); setupEntities(); XML_SetUserData(myParser, &myReader); if (encoding != 0) { XML_SetEncoding(myParser, encoding); } XML_SetStartElementHandler(myParser, fStartElementHandler); XML_SetEndElementHandler(myParser, fEndElementHandler); XML_SetCharacterDataHandler(myParser, fCharacterDataHandler); XML_SetUnknownEncodingHandler(myParser, fUnknownEncodingHandler, 0); }