From 226a7b76576a2faec14766e0ff98c5faa00aba5c Mon Sep 17 00:00:00 2001 From: serk Date: Sat, 21 Jan 2017 02:32:26 +0100 Subject: [PATCH 1/4] aux commit --- VaporWaveWars/VaporWaveWars.pro | 12 ++++++++++-- VaporWaveWars/combat.cpp | 23 +++++++++++++++++++++++ VaporWaveWars/combat.hpp | 28 ++++++++++++++++++++++++++++ VaporWaveWars/enemy.cpp | 7 +++++++ VaporWaveWars/enemy.hpp | 17 +++++++++++++++++ VaporWaveWars/iaenemy.cpp | 10 ++++++++++ VaporWaveWars/iaenemy.hpp | 13 +++++++++++++ VaporWaveWars/player.cpp | 31 +++++++++++++++++++++++++++++++ VaporWaveWars/player.hpp | 16 ++++++++++++++++ 9 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 VaporWaveWars/combat.cpp create mode 100644 VaporWaveWars/combat.hpp create mode 100644 VaporWaveWars/enemy.cpp create mode 100644 VaporWaveWars/enemy.hpp create mode 100644 VaporWaveWars/iaenemy.cpp create mode 100644 VaporWaveWars/iaenemy.hpp create mode 100644 VaporWaveWars/player.cpp create mode 100644 VaporWaveWars/player.hpp diff --git a/VaporWaveWars/VaporWaveWars.pro b/VaporWaveWars/VaporWaveWars.pro index 8515d27..da4b695 100644 --- a/VaporWaveWars/VaporWaveWars.pro +++ b/VaporWaveWars/VaporWaveWars.pro @@ -11,7 +11,11 @@ SOURCES += main.cpp \ character.cpp \ compas.cpp \ scene.cpp \ - menu.cpp + menu.cpp \ + combat.cpp \ + player.cpp \ + enemy.cpp \ + iaenemy.cpp HEADERS += \ game.hpp \ @@ -21,4 +25,8 @@ HEADERS += \ character.hpp \ compas.hpp \ scene.hpp \ - menu.hpp + menu.hpp \ + combat.hpp \ + player.hpp \ + enemy.hpp \ + iaenemy.hpp diff --git a/VaporWaveWars/combat.cpp b/VaporWaveWars/combat.cpp new file mode 100644 index 0000000..69cf723 --- /dev/null +++ b/VaporWaveWars/combat.cpp @@ -0,0 +1,23 @@ +#include "combat.hpp" + +Combat::Combat() { + ia = playerOneTurn = true; + enemy = new IaEnemy(); +} + + +void Combat::update(float deltaTime, sf::RenderWindow *window) { + if (playerOneTurn) player.update(deltaTime, window); + else if (ia) playerOneTurn = enemy->update(deltaTime, window); +} + +void Combat::draw(sf::RenderWindow *window) { + player.draw(window); + enemy->draw(window); + //draw background +} + +void Combat::updateButtons(sf::Event e) { + if (playerOneTurn) playerOneTurn = player.event(e); + else if (!ia) playerOneTurn = !enemy->event(e); +} diff --git a/VaporWaveWars/combat.hpp b/VaporWaveWars/combat.hpp new file mode 100644 index 0000000..d940cd7 --- /dev/null +++ b/VaporWaveWars/combat.hpp @@ -0,0 +1,28 @@ +#ifndef COMBAT_H +#define COMBAT_H + +#include "commons.hpp" +#include "compas.hpp" +#include "scene.hpp" +#include "player.hpp" +#include "iaenemy.hpp" +#include "enemy.hpp" + +class Combat : public Scene { +public: + Combat(); + Combat(const Combat& m) = delete; + Combat(const Combat&& m) = delete; + Combat& operator=(Combat& m) = delete; + Combat& operator=(Combat&& m) = delete; + void update(float deltaTime, sf::RenderWindow *window) final override; + void draw(sf::RenderWindow *window) final override; + void updateButtons(sf::Event e) final override; +private: + Compas compas; + bool playerOneTurn, ia; + Player player; + Enemy *enemy; +}; + +#endif // COMBAT_H diff --git a/VaporWaveWars/enemy.cpp b/VaporWaveWars/enemy.cpp new file mode 100644 index 0000000..ef4d0df --- /dev/null +++ b/VaporWaveWars/enemy.cpp @@ -0,0 +1,7 @@ +#include "enemy.hpp" + +Enemy::Enemy() {} + +void Enemy::draw(sf::RenderWindow *window) { + +} diff --git a/VaporWaveWars/enemy.hpp b/VaporWaveWars/enemy.hpp new file mode 100644 index 0000000..e9fdeb2 --- /dev/null +++ b/VaporWaveWars/enemy.hpp @@ -0,0 +1,17 @@ +#ifndef ENEMY_H +#define ENEMY_H + +#include "commons.hpp" + +class Enemy +{ +public: + Enemy(); + virtual bool update(float deltaTime, sf::RenderWindow *window) = 0; + void draw(sf::RenderWindow *window) ; + virtual bool event(sf::Event e) = 0; +protected: + bool animate; +}; + +#endif // ENEMY_H diff --git a/VaporWaveWars/iaenemy.cpp b/VaporWaveWars/iaenemy.cpp new file mode 100644 index 0000000..2b00d8a --- /dev/null +++ b/VaporWaveWars/iaenemy.cpp @@ -0,0 +1,10 @@ +#include "iaenemy.hpp" + +IaEnemy::IaEnemy() {} + +bool IaEnemy::update(float deltaTime, sf::RenderWindow *window) { + //some playe return true + return true; +} + +bool IaEnemy::event(sf::Event e) {return false;} diff --git a/VaporWaveWars/iaenemy.hpp b/VaporWaveWars/iaenemy.hpp new file mode 100644 index 0000000..4e184de --- /dev/null +++ b/VaporWaveWars/iaenemy.hpp @@ -0,0 +1,13 @@ +#ifndef IAENEMY_H +#define IAENEMY_H + +#include "enemy.hpp" + +class IaEnemy : public Enemy { +public: + IaEnemy(); + bool update(float deltaTime, sf::RenderWindow *window) final override; + bool event(sf::Event e) final override; +}; + +#endif // IAENEMY_H diff --git a/VaporWaveWars/player.cpp b/VaporWaveWars/player.cpp new file mode 100644 index 0000000..3a940f8 --- /dev/null +++ b/VaporWaveWars/player.cpp @@ -0,0 +1,31 @@ +#include "player.hpp" + +Player::Player() { + animate = false; +} + +bool Player::update(float deltaTime, sf::RenderWindow *window) { + if (deltaTime > BLACKVALUE) compas.incraeseTime(); + return false; +} + +bool Player::event(sf::Event e) { + switch(e.type) { + case (sf::Event::KeyPressed): + if(e.key.code == sf::Keyboard::C) compas.start(); + if(e.key.code == sf::Keyboard::Space) { + compas.add(); + animate = true; + } + break; + case (sf::Event::KeyReleased): + if (e.key.code == sf::Keyboard::C) { + compas.end(); + return false; + } + break; + default: + break; + } + return true; +} diff --git a/VaporWaveWars/player.hpp b/VaporWaveWars/player.hpp new file mode 100644 index 0000000..0e9cff2 --- /dev/null +++ b/VaporWaveWars/player.hpp @@ -0,0 +1,16 @@ +#ifndef PLAYER_H +#define PLAYER_H + +#include "commons.hpp" +#include "compas.hpp" +#include "enemy.hpp" +class Player : public Enemy { +public: + Player(); + bool update(float deltaTime, sf::RenderWindow *window) final override; + bool event(sf::Event e) final override; +private: + Compas compas; +}; + +#endif // PLAYER_H From 0859b78f94dabc63ebd20bd66792a94fe279a2de Mon Sep 17 00:00:00 2001 From: serk Date: Sat, 21 Jan 2017 03:07:55 +0100 Subject: [PATCH 2/4] merge fix --- VaporWaveWars/combat.cpp | 4 ++-- VaporWaveWars/combat.hpp | 2 +- VaporWaveWars/scene.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/VaporWaveWars/combat.cpp b/VaporWaveWars/combat.cpp index 69cf723..a09e6a8 100644 --- a/VaporWaveWars/combat.cpp +++ b/VaporWaveWars/combat.cpp @@ -14,10 +14,10 @@ void Combat::update(float deltaTime, sf::RenderWindow *window) { void Combat::draw(sf::RenderWindow *window) { player.draw(window); enemy->draw(window); - //draw background + } -void Combat::updateButtons(sf::Event e) { +void Combat::updateEvents(sf::Event e) { if (playerOneTurn) playerOneTurn = player.event(e); else if (!ia) playerOneTurn = !enemy->event(e); } diff --git a/VaporWaveWars/combat.hpp b/VaporWaveWars/combat.hpp index d940cd7..2ae1b52 100644 --- a/VaporWaveWars/combat.hpp +++ b/VaporWaveWars/combat.hpp @@ -17,7 +17,7 @@ public: Combat& operator=(Combat&& m) = delete; void update(float deltaTime, sf::RenderWindow *window) final override; void draw(sf::RenderWindow *window) final override; - void updateButtons(sf::Event e) final override; + void updateEvents(sf::Event e) final override; private: Compas compas; bool playerOneTurn, ia; diff --git a/VaporWaveWars/scene.hpp b/VaporWaveWars/scene.hpp index 2e4de31..ac945a2 100644 --- a/VaporWaveWars/scene.hpp +++ b/VaporWaveWars/scene.hpp @@ -10,7 +10,7 @@ class Scene virtual ~Scene(); virtual void update(float deltaTime, sf::RenderWindow *window) = 0; virtual void draw(sf::RenderWindow *window) = 0; - virtual void updateEvents(sf::Event) = 0; + virtual void updateEvents(sf::Event e) = 0; protected: Game* parent; }; From e5bb93e4893c3c7d36df36c379dfefb9414760c7 Mon Sep 17 00:00:00 2001 From: serk Date: Sat, 21 Jan 2017 03:24:24 +0100 Subject: [PATCH 3/4] fix --- VaporWaveWars/combat.cpp | 6 ++++++ VaporWaveWars/combat.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/VaporWaveWars/combat.cpp b/VaporWaveWars/combat.cpp index a09e6a8..76e4e53 100644 --- a/VaporWaveWars/combat.cpp +++ b/VaporWaveWars/combat.cpp @@ -5,6 +5,12 @@ Combat::Combat() { enemy = new IaEnemy(); } +Combat::Combat(bool ia) { + this->ia = ia; + playerOneTurn = true; + if (ia) enemy = new IaEnemy(); + else enemy = new Player(); +} void Combat::update(float deltaTime, sf::RenderWindow *window) { if (playerOneTurn) player.update(deltaTime, window); diff --git a/VaporWaveWars/combat.hpp b/VaporWaveWars/combat.hpp index 2ae1b52..cde0fd7 100644 --- a/VaporWaveWars/combat.hpp +++ b/VaporWaveWars/combat.hpp @@ -11,6 +11,7 @@ class Combat : public Scene { public: Combat(); + Combat(bool ia); Combat(const Combat& m) = delete; Combat(const Combat&& m) = delete; Combat& operator=(Combat& m) = delete; From 45f1051b8c48c75301281c3584fa77aa5ce6694a Mon Sep 17 00:00:00 2001 From: Ralusama19 Date: Sat, 21 Jan 2017 03:42:50 +0100 Subject: [PATCH 4/4] 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