Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - pasierdamian

Pages: [1]
1
Window / Re: Beakpoint in visual studio
« on: August 22, 2015, 07:08:40 pm »
Yes it stopped at a breakpoint. I trying remove breakpoint first but it's not working

My Ball class

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include "BallShape.h"

using namespace sf;

class Ball
{
public:
        Ball(RenderWindow&);
        Ball();
        void set_Position(float, float);
        void set_OutlineColor(Color);
        void draw_Ball();
        void set_Color(Color, Color);
        void set_Thickness();
        void set_Radius(float);
        void Move(float, float);
        const sf::Vector2f& Ball::get_Position() const;
        float get_Radius();
        void set_String(String);
        void set_CharacterSize(int);
        void set_Font(Font &);
        void set_Scale(float, float);
        void set_CharacterPosition(float, float);


private:
        CircleShape Circley;
        RenderWindow& Render;
        Text txt;

};


Ball::Ball(sf::RenderWindow& app) : Render(app)
{
       
}



void Ball::set_Position(float x, float y )
{
        Circley.setPosition(x, y);
       
}

void Ball::set_OutlineColor(Color color)
{
        Circley.setOutlineColor(color);
}
void Ball::set_Thickness()
{
        Circley.setOutlineThickness(5);
}
void Ball::set_Color(Color ball, Color text)
{
        Circley.setFillColor(ball);
        txt.setColor(text);
}
void Ball::draw_Ball(){
        Render.draw(Circley);
        Render.draw(txt);
}
void Ball::set_Radius(float radius)
{
        Circley.setRadius(radius);
}

void Ball::set_Scale(float x, float y)
{
        Circley.setScale(x, y);
}

void Ball::Move(float x, float y)
{
        Circley.move(x, y);
        txt.move(x, y);
}
const sf::Vector2f& Ball::get_Position() const
{
        return Circley.getPosition();
}
float Ball::get_Radius()
{
        return Circley.getRadius();
}
void Ball::set_String(String number)
{
txt.setString(number);
}
void Ball::set_CharacterSize(int size)
{
        txt.setCharacterSize(size);
}
void Ball::set_Font(Font &fon)
{
        txt.setFont(fon);
}
void Ball::set_CharacterPosition(float x, float y)
{
        txt.setPosition(x, y);
}
 

and Rectangle class
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <iostream>

using namespace std;
using namespace sf;

class Rectangle
{
public: Rectangle(RenderWindow& );

                void set_Position(int, int);
                void draw_Rectangle();
                void set_Thickness(float);
                void set_Size(float, float);

private:
        RectangleShape rectangle;
        RenderWindow& Render;


};
Rectangle::Rectangle(sf::RenderWindow& app) : Render(app)
{
       
        rectangle.setOutlineColor(Color::Red);
        rectangle.setOutlineThickness(2);


}
void Rectangle::set_Position(int x, int y)
{
        rectangle.setPosition(x, y);
}
void Rectangle::set_Thickness(float thic)
{
        rectangle.setOutlineColor(Color::Red);
        rectangle.setOutlineThickness(thic);
}
void Rectangle::set_Size(float length, float height)
{
        rectangle.setSize(Vector2f(length, height));
}
void Rectangle::draw_Rectangle(){
        Render.draw(rectangle);
}


It's really so bad? I trying share it to more classes , but i had problems with it, now at least working.


First i want fix problem with random_balls function, but i waiting for any suggestion. I should not  using global variables and namespaces ? And what is wrong with vector but i dont undestand ?

2
Window / Beakpoint in visual studio
« on: August 22, 2015, 06:38:30 pm »
Hello i have problem with one function in my multi moving circle app.


#include <SFML/Graphics.hpp>
#include <vector>
#include <string>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <string>
#include "Ball.h"
#include  "Rectangle.h"

#include <SFML/Graphics/Text.hpp>
#include <ctime>
using namespace sf;
using namespace std;
Font font;
//tablica zawieraj&#261;ca wielko&#347;&#263; promieni kul
float radius[49];
// Tablice poczatkwoych warto&#347;ci kul
float beginningPositionX[49];
float beginningPositionY[49];
//predkosc poruszania sie kuli
float xSpeed[49];
float ySpeed[49];
//tablica liczb losowanych z przedzia&#322;u 0-49

// Wywo&#322;&#261;nie timera to losowania
Clock deltaClock;
Time myEventTimer;
//odbicie kuli od kraw&#281;dzi prostokata rectangle

int random[6];
void balls_Reflection(vector<Ball> & ball)
{

        for (int i = 0; i < 49; i++)
        {
                if (ball[i].get_Position().x < 620){
                        int positionY = ball[i].get_Position().y;
                        if (positionY <= 20){ ySpeed[i] = -ySpeed[i]; }
                        if (positionY >= 520.0 - 2 * ball[i].get_Radius()){ ySpeed[i] = -ySpeed[i]; }
                        int positionX = ball[i].get_Position().x;
                        if (positionX <= 20){ xSpeed[i] = -xSpeed[i]; }
                        if (positionX >= 620.0 - 2 * ball[i].get_Radius()){ xSpeed[i] = -xSpeed[i]; }

                }
                }


}
//losownaie kul nie diza&#322;a poprawnie


void random_Balls(vector<Ball> & ball, int random[6])
{



        if (deltaClock.getElapsedTime() >= seconds(5)){

                ball[random[0]].set_Position(650, 40 + ball[random[0]].get_Radius());
                ball[random[0]].set_CharacterPosition(ball[random[0]].get_Position().x + ball[random[0]].get_Radius() * 2 / 3, ball[random[0]].get_Position().y + ball[random[0]].get_Radius() / 4);
                if (deltaClock.getElapsedTime() >= seconds(8)){
                        ball[1].set_Position(650, 80 + ball[1].get_Radius() * 2);
                        ball[1].set_CharacterPosition(ball[1].get_Position().x + ball[1].get_Radius() * 2 / 3, ball[1].get_Position().y + ball[1].get_Radius() / 4);
                        if (deltaClock.getElapsedTime() >= seconds(11)){
                                ball[2].set_Position(650, 120 + ball[2].get_Radius() * 2);
                                ball[2].set_CharacterPosition(ball[2].get_Position().x + ball[2].get_Radius() * 2 / 3, ball[2].get_Position().y + ball[2].get_Radius() / 4);
                                if (deltaClock.getElapsedTime() >= seconds(14)){
                                        ball[3].set_Position(650, 160 + ball[3].get_Radius() * 2);
                                        ball[3].set_CharacterPosition(ball[3].get_Position().x + ball[3].get_Radius() * 2 / 3, ball[3].get_Position().y + ball[3].get_Radius() / 4);
                                        if (deltaClock.getElapsedTime() >= seconds(17)){
                                                ball[4].set_Position(650, 200 + ball[4].get_Radius() * 2);
                                                ball[4].set_CharacterPosition(ball[4].get_Position().x + ball[4].get_Radius() * 2 / 3, ball[4].get_Position().y + ball[4].get_Radius() / 4);
                                                if (deltaClock.getElapsedTime() >= seconds(20)){
                                                        ball[5].set_Position(650, 240 + ball[5].get_Radius() * 2);
                                                        ball[5].set_CharacterPosition(ball[5].get_Position().x + ball[5].get_Radius() * 2 / 3, ball[5].get_Position().y + ball[5].get_Radius() / 4);
                                                        deltaClock.restart();
                                                }
                                        }
                                }
                        }


                }


        }
}
//Ustawianie wartosci poczatkowych kuli
void settingUp_Balls(vector<Ball> & ball)
{

        font.loadFromFile("arial.ttf");
        for (int i = 0; i < 49; i++)
        {
                //      Zamiana wartosci liczbowej i na Stringa
                std::string s = std::to_string(i + 1);
                //losowanie ustwie&#324; poszczególnych kul;

                //losowanie koloru wy&#347;wietlanje kuli
                Color color1 = Color(rand() % 255, rand() % 255, rand() % 255, 255);
                //losowanie wielkosci promienia kuli
                radius[i] = (std::rand() % 40) + 30;
                // losownaie pozycji poczatkowej kuli
                beginningPositionX[i] = (std::rand() % 450) + 10;
                beginningPositionY[i] = (std::rand() % 320) + 10;


                ball[i].set_Position(radius[i] + beginningPositionX[i], radius[i] + beginningPositionY[i]);
                ball[i].set_Color(color1, Color::Black);
                ball[i].set_Radius(radius[i]);
                ball[i].set_Font(font);
                ball[i].set_String(s);
                ball[i].set_CharacterSize(radius[i]);
                ball[i].set_CharacterPosition(ball[i].get_Position().x + ball[i].get_Radius() * 2 / 3, ball[i].get_Position().y + ball[i].get_Radius() / 4);

                // predkosci poruszania si&#281; kuli
                ySpeed[i] = (std::rand() % 100) + 10;
                xSpeed[i] = (std::rand() % 100) + 10;
        }

}

int main()
{
       

        RenderWindow win(VideoMode(800, 600), L"Losowanie");
        vector < Ball > ball(49, Ball(win));
        Rectangle rectangle(win);
        rectangle.set_Position(20, 20);
        rectangle.set_Size(600, 500);
        // obs&#322;uga poruszania si&#281; kul
        Clock stoper;

        srand(time(NULL));

        for (int i = 0; i < 7; i++)
        {
                random[i] = (std::rand() % 49);
        }
        // wywosanie fukcji, definiujacej ustawienia kuli
        settingUp_Balls(ball);
        // funkcja nie dzia&#322;a popranie

        while (win.isOpen())
        {

                win.clear(Color::White);
                Event e;
                while (win.pollEvent(e))
                {
                        if (e.type == Event::Closed)
                                win.close();
                }

                //poruszanie sie kul
                auto dt = stoper.restart().asSeconds();
                for (int i = 0; i < 49; i++){
                        if (ball[i].get_Position().x < 620)
                                ball[i].Move(xSpeed[i] * dt, ySpeed[i] * dt);

                }


//Rysownaie prostokata masyzny losuj&#261;cej
                rectangle.draw_Rectangle();

// Rysowanie kul
                for (int i = 0; i < 49; i++)
                {
                        ball[i].draw_Ball();
                }
// sprawdzanie odbicie kuli
                balls_Reflection(ball);
               

                random_Balls(ball, random);
                        win.display();
        }
}
 

I have problem with function


void random_Balls(vector<Ball> & ball, int random[6])
{



        if (deltaClock.getElapsedTime() >= seconds(5)){

                ball[random[0]].set_Position(650, 40 + ball[random[0]].get_Radius());
                ball[random[0]].set_CharacterPosition(ball[random[0]].get_Position().x + ball[random[0]].get_Radius() * 2 / 3, ball[random[0]].get_Position().y + ball[random[0]].get_Radius() / 4);
                if (deltaClock.getElapsedTime() >= seconds(8)){
                        ball[1].set_Position(650, 80 + ball[1].get_Radius() * 2);
                        ball[1].set_CharacterPosition(ball[1].get_Position().x + ball[1].get_Radius() * 2 / 3, ball[1].get_Position().y + ball[1].get_Radius() / 4);
                        if (deltaClock.getElapsedTime() >= seconds(11)){
                                ball[2].set_Position(650, 120 + ball[2].get_Radius() * 2);
                                ball[2].set_CharacterPosition(ball[2].get_Position().x + ball[2].get_Radius() * 2 / 3, ball[2].get_Position().y + ball[2].get_Radius() / 4);
                                if (deltaClock.getElapsedTime() >= seconds(14)){
                                        ball[3].set_Position(650, 160 + ball[3].get_Radius() * 2);
                                        ball[3].set_CharacterPosition(ball[3].get_Position().x + ball[3].get_Radius() * 2 / 3, ball[3].get_Position().y + ball[3].get_Radius() / 4);
                                        if (deltaClock.getElapsedTime() >= seconds(17)){
                                                ball[4].set_Position(650, 200 + ball[4].get_Radius() * 2);
                                                ball[4].set_CharacterPosition(ball[4].get_Position().x + ball[4].get_Radius() * 2 / 3, ball[4].get_Position().y + ball[4].get_Radius() / 4);
                                                if (deltaClock.getElapsedTime() >= seconds(20)){
                                                        ball[5].set_Position(650, 240 + ball[5].get_Radius() * 2);
                                                        ball[5].set_CharacterPosition(ball[5].get_Position().x + ball[5].get_Radius() * 2 / 3, ball[5].get_Position().y + ball[5].get_Radius() / 4);
                                                        deltaClock.restart();
                                                }
                                        }
                                }
                        }


                }


        }
}

I can't code this is shorter, but in ball[2] visual studio stopped

Pages: [1]