Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.50 KB | None | 0 0
  1. //character.hpp
  2. #pragma once
  3.  
  4. #include "Scene.hpp"
  5.  
  6. class CharacterScreen{
  7.     protected:
  8.     sf::RenderWindow *gameWindow;
  9.     Scene scene;
  10.     vector<SceneElement*> v;
  11.  
  12.     TextSceneElement *sceneEle;
  13.     TextSceneElement *raceLabel;
  14.     TextSceneElement *raceAnswer;
  15.     TextSceneElement *roleLabel;
  16.     public:
  17.     ~CharacterScreen(){}
  18.     CharacterScreen(sf::RenderWindow*);
  19.  
  20.     void strToScEle(string, TextSceneElement*, int, int, int, int);
  21.  
  22.     void showQuests();
  23.     void showCharacter();
  24.     void lvlUp();
  25.  
  26. };
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. //character.cpp
  36. #include "characterscreen.hpp"
  37. #include "character.hpp"
  38.  
  39. CharacterScreen::CharacterScreen(sf::RenderWindow *gameWindow)
  40.     : gameWindow(gameWindow)
  41. {
  42.     scene = Scene();
  43.     scene.setBackground("Tekstury/woodBG.jpg", 800, 600);
  44.     scene.setBgPosition(0,0);
  45.     scene.setInterval(300);
  46.     sceneEle = new TextSceneElement();
  47.     raceLabel = new TextSceneElement();
  48.     raceAnswer = new TextSceneElement();
  49.     roleLabel = new TextSceneElement();
  50.  
  51. }
  52.  
  53. void CharacterScreen::strToScEle(string text, TextSceneElement *sceneEle, int xCoord, int yCoord, int xRect, int yRect)
  54. {
  55.     sceneEle->loadFont("./fonts/LiberationMono.ttf");
  56.     sceneEle->setTextStyle(sf::Text::Regular, sf::Color::Black, 20);
  57.     //sceneEle.setTextPosition(110,105);
  58.     sceneEle->setCoordinates(xCoord, yCoord);
  59.     sceneEle->setRect(xRect, yRect);
  60.     string t = TextConverter::truncateText(text, sceneEle->getMaxRowsNum(),sceneEle->getMaxLettersNumInRow());
  61.     sceneEle->setText(t);
  62.  
  63.  
  64.     v.push_back(sceneEle);
  65. }
  66.  
  67. void CharacterScreen::showCharacter()
  68. {
  69.     v.clear();
  70.     Character &pc = Character::getInstance();
  71.  
  72.     string tmpText = " Information about character:";
  73.     strToScEle(tmpText , sceneEle, 50, 50, 400, 100);
  74.  
  75.     tmpText = " Race:";
  76.     strToScEle(tmpText, raceLabel, 50, 100, 100, 100);
  77.  
  78.  
  79.     strToScEle(" " + pc.getRaceName(), raceAnswer, 150, 100, 90, 150);
  80.  
  81.     tmpText = " Role:";
  82.     strToScEle(tmpText, roleLabel, 50, 150, 100, 100);
  83.  
  84.     scene.setSceneElementsVector(v);
  85.     scene.draw(gameWindow);
  86.  
  87. }
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96. //main
  97. #include <iostream>
  98. #include <cstdlib>
  99. #include <ctime>
  100. #include <string>
  101. #include <SFML/System.hpp>
  102. #include <SFML/Graphics.hpp>
  103. #include <SFML/Window.hpp>
  104.  
  105. #include "character.hpp"
  106. #include "passiveskill.hpp"
  107. #include "offensiveskill.hpp"
  108. #include "defensiveskill.hpp"
  109. #include "racegenerator.hpp"
  110. #include "rolegenerator.hpp"
  111.  
  112. #include "characterscreen.hpp"
  113.  
  114. #include "Scene.hpp"
  115.  
  116. int main(){
  117.  
  118.     sf::RenderWindow gameWindow(sf::VideoMode(800,600,32), "Character Screen");
  119.     sf::Texture texture;
  120.  
  121.     sf::Clock c;
  122.  
  123.     CharacterScreen charView = CharacterScreen(&gameWindow);
  124.  
  125.  
  126.     srand(time(0));
  127.  
  128.     RaceGenerator rg = RaceGenerator();
  129.     Race** races = rg.getRaces();
  130.  
  131.     RoleGenerator ro = RoleGenerator();
  132.     Role** roles = ro.getRoles();
  133.  
  134.     Character& pc = Character::getInstance();
  135.     pc.setCharacter(new Race(races[0]), new Role(roles[4]));
  136.  
  137.     cout << pc.getRaceName();
  138.  
  139. while (gameWindow.isOpen())
  140.     {
  141.         sf::Event event;
  142.  
  143.         while (gameWindow.pollEvent(event))
  144.         {
  145.             if (event.type == sf::Event::Closed)
  146.                 gameWindow.close();
  147.  
  148.             if(sf::Keyboard::isKeyPressed((sf::Keyboard::Escape)))
  149.             {
  150.                 gameWindow.close();
  151.             }
  152.         }
  153.  
  154.         gameWindow.clear();
  155.  
  156.         charView.showCharacter();
  157.  
  158.         gameWindow.display();
  159.     }
  160.  
  161.  
  162.  
  163.     return 0;
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement