diff options
| author | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2015-05-05 16:30:46 +0200 |
|---|---|---|
| committer | manzerbredes <loic.guegan_secondary@yahoo.fr> | 2015-05-05 16:30:46 +0200 |
| commit | 1220e2d70f40139bed69602041ba373297103573 (patch) | |
| tree | 49a2443cdacee9c35abfa005a5d703ba7efa6e23 /src/View | |
| parent | f7610d669bcf3986827a905fc4bc03946be0b0c6 (diff) | |
Add loadable skin and correct some things
Diffstat (limited to 'src/View')
| -rw-r--r-- | src/View/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/View/MainWindow.cpp | 23 | ||||
| -rw-r--r-- | src/View/MainWindow.hpp | 5 |
3 files changed, 18 insertions, 12 deletions
diff --git a/src/View/CMakeLists.txt b/src/View/CMakeLists.txt index 9a13671..81d8b52 100644 --- a/src/View/CMakeLists.txt +++ b/src/View/CMakeLists.txt @@ -1,2 +1,4 @@ #Make Model lib add_library(View ./MainWindow.cpp) + +target_link_libraries(View Skin) diff --git a/src/View/MainWindow.cpp b/src/View/MainWindow.cpp index ea4346d..3a61068 100644 --- a/src/View/MainWindow.cpp +++ b/src/View/MainWindow.cpp @@ -13,17 +13,14 @@ MainWindow::MainWindow(int width, int height, std::string title): m_gridSize(0,0), m_gridPosition(), m_spaceBetweenCell(15), + m_skinName("original"), m_font() { //Set windows size m_windowSize=RenderWindow::getSize(); - - m_gridPosition=sf::Vector2u(0,200); - - - //Load font - m_font.loadFromFile("./src/skin/original/Pragmatica-Medium.ttf"); + //Set default grid position + m_gridPosition=sf::Vector2u(0,200); //Define original skin: m_skin.push_back(sf::Color(250,248,239)); //Background MainWindow @@ -54,6 +51,9 @@ MainWindow::MainWindow(int width, int height, std::string title): //Skin for other number m_skin.push_back(sf::Color(60,58,50)); //More than 2048 + //Load font + m_font.loadFromFile("./bin/fonts/Pragmatica-Medium.ttf"); + m_skin=skin::loadSkin(m_skinName); } @@ -140,7 +140,7 @@ void MainWindow::drawCell(int x, int y, int value){ text.setFont(m_font); text.setStyle(sf::Text::Bold); text.setCharacterSize(fontSize); - text.setString(valueString); + text.setString(valueString); if(value==2 || value==4) text.setColor(m_skin.at(3)); else @@ -173,7 +173,7 @@ sf::Color MainWindow::getCellColor(int value){ } void MainWindow::drawGameOver(int gridX, int gridY){ - + sf::RectangleShape gridShape(sf::Vector2f(m_gridSize.x,m_gridSize.y)); gridShape.setFillColor(m_skin.at(6)); gridShape.setPosition(gridX,gridY); @@ -187,14 +187,14 @@ void MainWindow::drawATH(Stats stats){ int titleY=m_gridPosition.y-190; - //==================== Draw title ==================== + //==================== Draw title ==================== sf::Text text; text.setFont(m_font); text.setStyle(sf::Text::Bold); text.setCharacterSize(80); text.setColor(m_skin.at(3)); text.setPosition(titleX,titleY); - text.setString("2048"); + text.setString("2048"); RenderWindow::draw(text); @@ -221,7 +221,7 @@ void MainWindow::drawATH(Stats stats){ RenderWindow::draw(text); //==================== Draw score ==================== - + int scoreX=bestScoreX-bestScoreSizeX-5; int scoreY=bestScoreY; int scoreSizeX=bestScoreSizeX; @@ -253,3 +253,4 @@ void MainWindow::drawGame(std::vector<std::vector<int> > grid, bool gameIsOver, this->drawGrid(grid,gameIsOver); this->drawATH(stats); } + diff --git a/src/View/MainWindow.hpp b/src/View/MainWindow.hpp index 072a7ec..3eacd54 100644 --- a/src/View/MainWindow.hpp +++ b/src/View/MainWindow.hpp @@ -6,10 +6,10 @@ #include <string> #include <sstream> #include "../Model/Stats.hpp" +#include "../Helpers/Skin.hpp" #include <SFML/Window.hpp> #include <SFML/Graphics.hpp> - class MainWindow : public sf::RenderWindow{ private: @@ -26,6 +26,8 @@ class MainWindow : public sf::RenderWindow{ sf::Vector2u m_gridPosition; int m_spaceBetweenCell; + std::string m_skinName; + public: MainWindow(int width, int height, std::string title); ~MainWindow(); @@ -39,5 +41,6 @@ class MainWindow : public sf::RenderWindow{ void drawATH(Stats stats); + void MoveCell(); void drawGame(std::vector<std::vector<int> > grid, bool gameIsOver, Stats stats); }; |
