Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //characterscreen.hpp
- #pragma once
- #include "Scene.hpp"
- class CharacterScreen{
- protected:
- sf::RenderWindow *gameWindow;
- Scene scene;
- vector<SceneElement*> v;
- TextSceneElement *sceneEle;
- TextSceneElement *raceLabel;
- TextSceneElement *raceAnswer;
- TextSceneElement *roleLabel;
- public:
- ~CharacterScreen(){}
- CharacterScreen(sf::RenderWindow*);
- void strToScEle(string, TextSceneElement*, int, int, int, int);
- void showQuests();
- void showCharacter();
- void lvlUp();
- };
- //characterscreen.cpp
- #include "characterscreen.hpp"
- #include "character.hpp"
- CharacterScreen::CharacterScreen(sf::RenderWindow *gameWindow)
- : gameWindow(gameWindow)
- {
- scene = Scene();
- scene.setBackground("Tekstury/woodBG.jpg", 800, 600);
- scene.setBgPosition(0,0);
- scene.setInterval(300);
- sceneEle = new TextSceneElement();
- raceLabel = new TextSceneElement();
- raceAnswer = new TextSceneElement();
- roleLabel = new TextSceneElement();
- }
- void CharacterScreen::strToScEle(string text, TextSceneElement *sceneEle, int xCoord, int yCoord, int xRect, int yRect)
- {
- sceneEle->loadFont("./fonts/LiberationMono.ttf");
- sceneEle->setTextStyle(sf::Text::Regular, sf::Color::Black, 20);
- //sceneEle.setTextPosition(110,105);
- sceneEle->setCoordinates(xCoord, yCoord);
- sceneEle->setRect(xRect, yRect);
- string t = TextConverter::truncateText(text, sceneEle->getMaxRowsNum(),sceneEle->getMaxLettersNumInRow());
- sceneEle->setText(t);
- v.push_back(sceneEle);
- }
- void CharacterScreen::showCharacter()
- {
- v.clear();
- Character &pc = Character::getInstance();
- string tmpText = " Information about character:";
- strToScEle(tmpText , sceneEle, 50, 50, 400, 100);
- tmpText = " Race:";
- strToScEle(tmpText, raceLabel, 50, 100, 100, 100);
- strToScEle(" " + pc.getRaceName(), raceAnswer, 150, 100, 90, 150);
- tmpText = " Role:";
- strToScEle(tmpText, roleLabel, 50, 150, 100, 100);
- scene.setSceneElementsVector(v);
- scene.draw(gameWindow);
- }
- //main
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include <string>
- #include <SFML/System.hpp>
- #include <SFML/Graphics.hpp>
- #include <SFML/Window.hpp>
- #include "character.hpp"
- #include "passiveskill.hpp"
- #include "offensiveskill.hpp"
- #include "defensiveskill.hpp"
- #include "racegenerator.hpp"
- #include "rolegenerator.hpp"
- #include "characterscreen.hpp"
- #include "Scene.hpp"
- int main(){
- sf::RenderWindow gameWindow(sf::VideoMode(800,600,32), "Character Screen");
- sf::Texture texture;
- sf::Clock c;
- CharacterScreen charView = CharacterScreen(&gameWindow);
- srand(time(0));
- RaceGenerator rg = RaceGenerator();
- Race** races = rg.getRaces();
- RoleGenerator ro = RoleGenerator();
- Role** roles = ro.getRoles();
- Character& pc = Character::getInstance();
- pc.setCharacter(new Race(races[0]), new Role(roles[4]));
- cout << pc.getRaceName();
- while (gameWindow.isOpen())
- {
- sf::Event event;
- while (gameWindow.pollEvent(event))
- {
- if (event.type == sf::Event::Closed)
- gameWindow.close();
- if(sf::Keyboard::isKeyPressed((sf::Keyboard::Escape)))
- {
- gameWindow.close();
- }
- }
- gameWindow.clear();
- charView.showCharacter();
- gameWindow.display();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement