void GameApp::run() { loadedSurface = IMG_Load("res/arrow.png"); if(!loadedSurface) { printf("no image...IMG_Load: %s\n", IMG_GetError()); // handle error } sheep = SDL_CreateTextureFromSurface(gRenderer, loadedSurface); if(sheep == NULL) { printf("Unable to create ship texture! SDL Error: %s\n", SDL_GetError()); quit=true; } SDL_FreeSurface(loadedSurface); loadedSurface = IMG_Load("res/rightm.png"); rocket = SDL_CreateTextureFromSurface(gRenderer, loadedSurface); if(rocket == NULL) { printf("Unable to create rocket texture! SDL Error: %s\n", SDL_GetError()); quit=true; } SDL_FreeSurface(loadedSurface); //printf("Calling createPlayers() function...\n"); createPlayers(); //printf("Calling playGame() function...\n"); playGame(); }
bool BattleScene::init(PreloadBattleScene* preloaderScene, std::vector<int> parameters) { if (!AbstractWorldScene::init("nodes/Table_Battle.csb")) { return false; } _modeGame = BATTLE_MODE(parameters.at(0)); int countPlayer = parameters.at(1) + 2; _preloaderScene = preloaderScene; _blackLayer = LayerColor::create(Color4B(0,0,0,0)); _mapLayer = Layer::create(); _debugLayer = Layer::create(); schedule(schedule_selector(BattleScene::update), 0.01f); _mapLayer->setTag(SIMPLE); _borderNode = CSLoader::createNode("nodes/WorldSceneSimple_1.csb"); _timer->setTime(180); for (int i = 0; i < 5; i++) { auto text = static_cast<ui::Text*>(_tableNode->getChildByName("Text_" + myUtils::to_string(i))); text->setString(""); _texts.push_back(text); } _mapLayer->addChild(_borderNode, 0); _currentIndexLevel = 1; createPlayers(countPlayer); createControll(GameSettings::Instance().getControlType()); for (int i = 0; i < countPlayer; i++) { _texts.at(i)->setString(myUtils::to_string(GameSettings::Instance().getCountWinPlayer(_players.at(i)->getColorID()))); } _mapLayer->addChild(_debugLayer, 100); createWalls(2, _modeGame == NORMAL ? 10 : 16); createNPCs(); for (auto player : _players) { _control->showControlPlayer(player->getColorID(), true); player->_collisions = _borderNode->getChildren(); player->setBricks(_bricks); } addChild(_mapLayer); addChild(_blackLayer, 1000); return true; }
bool Engine::setup() { //carrega plugins do arquivo de plugins(plugins.cfg) String pluginsPath; pluginsPath = _configuration->getResourcePath() + "plugins.cfg"; _root = OGRE_NEW Root(pluginsPath, _configuration->getResourcePath() + "ogre.cfg", _configuration->getResourcePath() + "ogre.log"); EngineGlobalObjects::getInstance().setRoot(_root); setupResources(); bool configured = configure(); if (!configured) return false; chooseSceneManager(); createCamera(); createViewports(); // Set default mip_map level (NB some APIs ignore this) TextureManager::getSingleton().setDefaultNumMipmaps(5); //criamos um resource listeners (para tela de login) createResourceListener(); //carregamos os recursos loadResources(); //criamos o cenário createScene(); //criamos os jogadores createPlayers(); //criamos o mapa createMap(); //criamos as armas createWeapons(); //criamos o frame listener createFrameListener(); return true; }
void getNames() { printf("Anzahl der Spieler eingeben (max. %i): ", maxPlayersAmount); AmountOfPlayers = scannerInt(); createPlayers(AmountOfPlayers); if (AmountOfPlayers >= 1 && AmountOfPlayers <= maxPlayersAmount) { printf("\nBitte Namen eingeben...\n\n"); for (int i = 0; i < AmountOfPlayers; i++) { //checking for the correctness of input and saving the names of players printf("Spieler %i: ", i + 1); scanf("%29s", &players[i].name[0]); } } else { printf("\nDie einzugebende Zahl muss eine natuerliche Zahl im Bereich von 1 bis %i sein!\n\n", maxPlayersAmount); getNames(); } }
void Game::createGame() { setRules(); createPlayers(); shuffleDeck(); dealCards(); }
void GameEngine::gameProcessing() { switch (currentGameState) { case GS_INIT: { //create GameState window gameState = new GameState(); gameState->setActive("NextTurnBtn", false); gameState->setActive("ExchangeBtn", false); //init bank createCardBank(); //players createPlayers(); //init map creatMap(); throwDices(); currentGameState = GS_SELECT_PLAYER_ORDER; break; } case GS_SELECT_PLAYER_ORDER: { createPlayersQueue(); gameState->setCurrentPlayer(*currentPlayer); currentChipType = VILLAGE; currentGameState = GS_PUT_FIRST_CHIP; break; } case GS_PUT_FIRST_CHIP: { highlightAllowedVertexes(); if (chipPut) { currentPlayer->putChip(*chipForPut, true); chipPut = false; isCalcAllowedPuts = true; currentChipType = ROAD; currentGameState = GS_PUT_FIRST_ROAD; } break; } case GS_PUT_FIRST_ROAD: { highlightAllowedVertexes(); if (chipPut) { currentPlayer->putChip(*chipForPut, true); chipPut = false; isCalcAllowedPuts = true; currentChipType = VILLAGE; ++firstTurnsCounter; if (firstTurnsCounter < players.size()) { currentGameState = GS_PUT_FIRST_CHIP; nextTurn(); } else { currentGameState = GS_PUT_SECOND_CHIP; } } } case GS_PUT_SECOND_CHIP: { highlightAllowedVertexes(); if (chipPut) { currentPlayer->putChip(*chipForPut, true); currentPlayer->getLastChip()->getRecourcesFromHexagons(); chipPut = false; isCalcAllowedPuts = true; currentChipType = ROAD; currentGameState = GS_PUT_SECOND_ROAD; } break; } case GS_PUT_SECOND_ROAD: { highlightAllowedVertexes(); if (chipPut) { currentPlayer->putChip(*chipForPut, true); chipPut = false; isCalcAllowedPuts = true; currentChipType = VILLAGE; ++firstTurnsCounter; if (firstTurnsCounter < players.size()*2) { currentGameState = GS_PUT_SECOND_CHIP; nextTurn(); } else currentGameState = GS_THROW_DICES; } break; } case GS_THROW_DICES: { throwDices(); for (int i = 0; i < MAX_HEXAGON_COUNT; ++i) { if (hexagons[i].getDice() == dices.dice()) { int resToDist = hexagons[i].getResourcesCountToDistribute(); if (canGetFromBank((eCardType) hexagons[i].getType(), resToDist)) { hexagons[i].distributeResources(); } } } gameState->setCurrentPlayer(*currentPlayer); currentGameState = GS_PLAYER_TURN; break; } case GS_PLAYER_TURN: { gameState->setActive("NextTurnBtn", true); gameState->setActive("ExchangeBtn", true); highlightAllowedVertexes(); if (chipPut) { currentPlayer->putChip(*chipForPut); chipPut = false; allowedPuts.clear(); gameState->setCurrentPlayer(*currentPlayer); } break; } case GS_TURN_END: { isCalcAllowedPuts = true; currentGameState = GS_THROW_DICES; nextTurn(); break; } case GS_END: { break; } case GS_ERROR: { break; } } }
//konstruktor z parametrami Players::Players(int numplayers, int sizex, int sizey) { createPlayers(numplayers, sizex, sizey); }
void PlayState::enter () { createPlayers(); /* _root = Ogre::Root::getSingletonPtr(); // Se recupera el gestor de escena y la cámara. _sceneMgr = _root->getSceneManager("SceneManager"); _camera = _sceneMgr->getCamera("IntroCamera"); _viewport = _root->getAutoCreatedWindow()->addViewport(_camera); // Nuevo background colour. _viewport->setBackgroundColour(Ogre::ColourValue(0.0, 0.0, 1.0)); _exitGame = false; */ _root = Ogre::Root::getSingletonPtr(); _sceneMgr = _root->getSceneManager("SceneManager"); _sceneMgr->setAmbientLight (Ogre::ColourValue (1, 1, 1)); _camera = _sceneMgr->getCamera ("IntroCamera"); //_viewport = _root->getAutoCreatedWindow()->getViewport(0); _viewport = _root->getAutoCreatedWindow()->addViewport(_camera); double width = _viewport->getActualWidth (); double height = _viewport->getActualHeight (); _camera->setAspectRatio (width / height); _viewport->setBackgroundColour (ColourValue (0.0, 0.0, 0.0)); //Tiempo entre frame y frame _deltaT = 0; //Creamos la escena createScene (); //Gui createGUI (); createGUIDefensaHumano(); _camera->setPosition (Vector3 (0,12,18)); _camera->lookAt (_sceneMgr->getRootSceneNode()->getPosition()); _camera->setNearClipDistance (0.1); _camera->setFarClipDistance (100); _raySceneQuery = _sceneMgr->createRayQuery(Ogre::Ray()); _selectedNode = NULL; _animState = NULL; _nodoCursor = _sceneMgr->createSceneNode("nodoCursor"); _sceneMgr->getRootSceneNode()->addChild(_nodoCursor); _flip = false; _colocandoBarco = false; _exitGame = false; _tSpeed = 10.0; //Distancia en unidades del mundo virtual que queremos recorrer en un segundo cuando movamos cositas _estado = inicio; _turnoEnCurso = true; _idJugador = 0; _wait = false; _enRacha = 1; _ganador = NULL; _volverMenu = false; //activaGUIGameOver(); }