From 45f1051b8c48c75301281c3584fa77aa5ce6694a Mon Sep 17 00:00:00 2001 From: Ralusama19 Date: Sat, 21 Jan 2017 03:42:50 +0100 Subject: [PATCH] integrados players. creo. --- VaporWaveWars/VaporWaveWars.pro | 8 +++--- VaporWaveWars/actor.cpp | 7 ++++++ VaporWaveWars/{enemy.hpp => actor.hpp} | 4 +-- VaporWaveWars/button.cpp | 2 +- VaporWaveWars/combat.hpp | 5 ++-- VaporWaveWars/enemy.cpp | 7 ------ VaporWaveWars/game.cpp | 1 + VaporWaveWars/iaenemy.hpp | 4 +-- VaporWaveWars/menu.cpp | 2 +- VaporWaveWars/mygame.cpp | 10 +++++--- VaporWaveWars/mygame.hpp | 3 ++- VaporWaveWars/player.hpp | 4 +-- VaporWaveWars/playscene.cpp | 34 ++++++++++++++++++++++++++ VaporWaveWars/playscene.hpp | 22 +++++++++++++++++ 14 files changed, 86 insertions(+), 27 deletions(-) create mode 100644 VaporWaveWars/actor.cpp rename VaporWaveWars/{enemy.hpp => actor.hpp} (91%) delete mode 100644 VaporWaveWars/enemy.cpp create mode 100644 VaporWaveWars/playscene.cpp create mode 100644 VaporWaveWars/playscene.hpp diff --git a/VaporWaveWars/VaporWaveWars.pro b/VaporWaveWars/VaporWaveWars.pro index da4b695..f34d67f 100644 --- a/VaporWaveWars/VaporWaveWars.pro +++ b/VaporWaveWars/VaporWaveWars.pro @@ -14,8 +14,8 @@ SOURCES += main.cpp \ menu.cpp \ combat.cpp \ player.cpp \ - enemy.cpp \ - iaenemy.cpp + iaenemy.cpp \ + actor.cpp HEADERS += \ game.hpp \ @@ -28,5 +28,5 @@ HEADERS += \ menu.hpp \ combat.hpp \ player.hpp \ - enemy.hpp \ - iaenemy.hpp + iaenemy.hpp \ + actor.hpp diff --git a/VaporWaveWars/actor.cpp b/VaporWaveWars/actor.cpp new file mode 100644 index 0000000..7b66709 --- /dev/null +++ b/VaporWaveWars/actor.cpp @@ -0,0 +1,7 @@ +#include "actor.hpp" + +Actor::Actor() {} + +void Actor::draw(sf::RenderWindow *window) { + +} diff --git a/VaporWaveWars/enemy.hpp b/VaporWaveWars/actor.hpp similarity index 91% rename from VaporWaveWars/enemy.hpp rename to VaporWaveWars/actor.hpp index e9fdeb2..a045b04 100644 --- a/VaporWaveWars/enemy.hpp +++ b/VaporWaveWars/actor.hpp @@ -3,10 +3,10 @@ #include "commons.hpp" -class Enemy +class Actor { public: - Enemy(); + Actor(); virtual bool update(float deltaTime, sf::RenderWindow *window) = 0; void draw(sf::RenderWindow *window) ; virtual bool event(sf::Event e) = 0; diff --git a/VaporWaveWars/button.cpp b/VaporWaveWars/button.cpp index 9acc450..076ec51 100644 --- a/VaporWaveWars/button.cpp +++ b/VaporWaveWars/button.cpp @@ -71,7 +71,7 @@ void Button::handleMouseEvent(sf::Event& event){ void Button::initTexture(std::string path){ _clicks = 0; _state = ButtonState::off; - if(!_texture.loadFromFile(path)) std::cout << "failed to load button texture!!" << std::endl; + ASSERT(_texture.loadFromFile(path)); setTexture(_texture); _xSize = _texture.getSize().x; _ySize = _texture.getSize().y/4; diff --git a/VaporWaveWars/combat.hpp b/VaporWaveWars/combat.hpp index cde0fd7..cafcf2b 100644 --- a/VaporWaveWars/combat.hpp +++ b/VaporWaveWars/combat.hpp @@ -6,7 +6,7 @@ #include "scene.hpp" #include "player.hpp" #include "iaenemy.hpp" -#include "enemy.hpp" +#include "actor.hpp" class Combat : public Scene { public: @@ -20,10 +20,9 @@ public: void draw(sf::RenderWindow *window) final override; void updateEvents(sf::Event e) final override; private: - Compas compas; bool playerOneTurn, ia; Player player; - Enemy *enemy; + Actor *enemy; }; #endif // COMBAT_H diff --git a/VaporWaveWars/enemy.cpp b/VaporWaveWars/enemy.cpp deleted file mode 100644 index ef4d0df..0000000 --- a/VaporWaveWars/enemy.cpp +++ /dev/null @@ -1,7 +0,0 @@ -#include "enemy.hpp" - -Enemy::Enemy() {} - -void Enemy::draw(sf::RenderWindow *window) { - -} diff --git a/VaporWaveWars/game.cpp b/VaporWaveWars/game.cpp index 97a80c7..075c49e 100644 --- a/VaporWaveWars/game.cpp +++ b/VaporWaveWars/game.cpp @@ -26,6 +26,7 @@ void Game::run() { float time = c.getElapsedTime().asSeconds(); float deltaTime = time-oldTime; oldTime = time; + //std::cout << deltaTime << std::endl; update(deltaTime, &window); draw( &window); } diff --git a/VaporWaveWars/iaenemy.hpp b/VaporWaveWars/iaenemy.hpp index 4e184de..c2c050c 100644 --- a/VaporWaveWars/iaenemy.hpp +++ b/VaporWaveWars/iaenemy.hpp @@ -1,9 +1,9 @@ #ifndef IAENEMY_H #define IAENEMY_H -#include "enemy.hpp" +#include "actor.hpp" -class IaEnemy : public Enemy { +class IaEnemy : public Actor { public: IaEnemy(); bool update(float deltaTime, sf::RenderWindow *window) final override; diff --git a/VaporWaveWars/menu.cpp b/VaporWaveWars/menu.cpp index e41b0c2..09fb668 100644 --- a/VaporWaveWars/menu.cpp +++ b/VaporWaveWars/menu.cpp @@ -32,7 +32,7 @@ void Menu::updateEvents(sf::Event e){ } MyGame* g = static_cast(Game::i()); if (_start.getClicks() > 0){ -// g->changeScene(GameScene::inGame); + g->changeScene(GameScene::inGame); std::cout << "Game not ready to be played. Please Wait." << std::endl; } else if(_exit.getClicks() > 0) g->isRunning = false; diff --git a/VaporWaveWars/mygame.cpp b/VaporWaveWars/mygame.cpp index 40319a0..dae896c 100644 --- a/VaporWaveWars/mygame.cpp +++ b/VaporWaveWars/mygame.cpp @@ -4,6 +4,9 @@ MyGame::MyGame() { _scene = GameScene::menu; _scenes = std::vector(SCENE_NUM); _scenes[GameScene::menu] = &_menu; + _scenes[GameScene::inGame] = &_combat; + _scenes[GameScene::help] = &_menu; + _scenes[GameScene::credits] = &_menu; std::cout << "in menu" << std::endl; } @@ -11,7 +14,6 @@ MyGame::~MyGame() { } MyGame* i(){ - return static_cast(Game::i()); } void MyGame::changeScene(GameScene::gameScene n){ @@ -20,7 +22,7 @@ void MyGame::changeScene(GameScene::gameScene n){ // Main game loop void MyGame::update(float deltaTime, sf::RenderWindow*window) { -// std::cout << deltaTime << std::endl; + // std::cout << deltaTime << std::endl; sf::Event event; while(window->pollEvent(event)){ switch (event.type) { @@ -36,7 +38,7 @@ void MyGame::update(float deltaTime, sf::RenderWindow*window) { case (sf::Event::MouseButtonPressed): case (sf::Event::MouseButtonReleased): - _scenes[_scene]->updateEvents(event); + _scenes[_scene]->updateEvents(event); switch(_scene){ case(GameScene::menu): //std::cout << "still in menu" << std::endl; @@ -52,7 +54,7 @@ void MyGame::update(float deltaTime, sf::RenderWindow*window) { } // do shit - _scenes[_scene]->update(deltaTime,window); + _scenes[_scene]->update(deltaTime,window); } void MyGame::draw(sf::RenderWindow*window) { diff --git a/VaporWaveWars/mygame.hpp b/VaporWaveWars/mygame.hpp index 9562e48..469e30f 100644 --- a/VaporWaveWars/mygame.hpp +++ b/VaporWaveWars/mygame.hpp @@ -3,7 +3,7 @@ #include "game.hpp" #include "menu.hpp" - +#include "combat.hpp" class MyGame : public Game{ public: MyGame(); @@ -14,6 +14,7 @@ private: GameScene::gameScene _scene; std::vector _scenes; Menu _menu; + Combat _combat; virtual void update(float deltaTime, sf::RenderWindow *window) final override; virtual void draw(sf::RenderWindow *window) final override; }; diff --git a/VaporWaveWars/player.hpp b/VaporWaveWars/player.hpp index 0e9cff2..ebbbfcd 100644 --- a/VaporWaveWars/player.hpp +++ b/VaporWaveWars/player.hpp @@ -3,8 +3,8 @@ #include "commons.hpp" #include "compas.hpp" -#include "enemy.hpp" -class Player : public Enemy { +#include "actor.hpp" +class Player : public Actor { public: Player(); bool update(float deltaTime, sf::RenderWindow *window) final override; diff --git a/VaporWaveWars/playscene.cpp b/VaporWaveWars/playscene.cpp new file mode 100644 index 0000000..a73ae9d --- /dev/null +++ b/VaporWaveWars/playscene.cpp @@ -0,0 +1,34 @@ +#include "playscene.hpp" + +PlayScene::PlayScene(){ + +} + +void PlayScene::update(float deltaTime, sf::RenderWindow*window){ + //float dx = InputManager::action(InputAction::moveX0); + //_buttons[0]->move(dx,0); + //std::cout << dx << std::endl; + for(unsigned int i = 0; i < _buttons.size(); ++i){ + _buttons[i]->update(window->mapPixelToCoords(sf::Vector2i(sf::Mouse::getPosition(*window)))); + } +} + +void PlayScene::draw(sf::RenderWindow* window){ + for(unsigned int i = 0; i < _buttons.size(); ++i){ + window->draw(*_buttons[i]); + } +} + +void PlayScene::updateEvents(sf::Event e){ +// std::cout << "update menu buttons" << std::endl; + for(unsigned int i = 0; i < _buttons.size(); ++i){ + _buttons[i]->handleMouseEvent(e); + } + MyGame* g = static_cast(Game::i()); + if (_start.getClicks() > 0){ +// g->changeScene(GameScene::inGame); + std::cout << "Game not ready to be played. Please Wait." << std::endl; + } + else if(_exit.getClicks() > 0) g->isRunning = false; + +} diff --git a/VaporWaveWars/playscene.hpp b/VaporWaveWars/playscene.hpp new file mode 100644 index 0000000..892c4bd --- /dev/null +++ b/VaporWaveWars/playscene.hpp @@ -0,0 +1,22 @@ +#ifndef PLAYSCENE_HPP +#define PLAYSCENE_HPP + +#include "scene.hpp" +class PlayScene : public Scene{ +public: + PlayScene(); + PlayScene(const Menu& m) = delete; + PlayScene(const Menu&& m) = delete; + PlayScene& operator=(Menu& m) = delete; + PlayScene& operator=(Menu&& m) = delete; + void update(float deltaTime, sf::RenderWindow *window) final override; + void draw(sf::RenderWindow *window) final override; + void updateEvents(sf::Event e) final override; + +private: + sf::Texture _backgroundTexture; + sf::Sprite background; + +}; + +#endif // PLAYSCENE_HPP