<commit_before>#include "road.h"

//Beállítja a változókat
Road::Road(QGraphicsWidget* parent) : QGraphicsWidget(parent),
    life(Settings::STARTLIFE),isDisplay(false),distance(0),speed(Settings::STEP_SIZE),
    accel(0),moving(0)
{
    setPos(0,Settings::SCREEN_HEIGHT-Settings::ROAD_HEIGHT);
    myCar = new Car(this);
    myCar->setPos(Settings::SCREEN_WIDTH/2-Settings::FIELD_WIDTH/2,
                  Settings::ROAD_HEIGHT-(Settings::FIELD_HEIGHT*3));
    myCar->setZValue(2);
    generateRoad(0);
    roadPict.load("debug/images/road.png");
    roadGenerator = new RoadGenerator();
}

//Megadja a tartalmazó négyzet méretét
QRectF Road::boundingRect() const{
    return QRectF(0,-Settings::SCREEN_HEIGHT,Settings::SCREEN_WIDTH,Settings::SCREEN_HEIGHT*2.5);
}

//Felrajzol két utat egymás után.
void Road::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
    painter->drawPixmap(0,-Settings::ROAD_HEIGHT,Settings::SCREEN_WIDTH,Settings::ROAD_HEIGHT,roadPict);
    painter->drawPixmap(0,0,Settings::SCREEN_WIDTH,Settings::ROAD_HEIGHT,roadPict);
}

//Animációért felelős
void Road::advance(int step){
    if(!step) return;   //ha step 0, akkor nem csinál semmit
    moveBy(0,speed);          //lépteti az utat és a kocsit
    myCar->moveBy(0,-speed);
    if(moving>0){
        moving-=speed;
        myCar->moveBy(speed,0);
    }
    if(moving<0){
        moving+=speed;
        myCar->moveBy(-speed,0);
    }
    accel++;
    //sendDistanceNumber(accel);
    distance+=speed/5;
    if(accel>100){
        accel=0;
        speed=speed*1.3;
        std::cout<<"TÁVOLSÁG: "<<distance<<std::endl;
    }
    if(pos().y()>Settings::SCREEN_HEIGHT){  //ha az út kiment a képernyőről újra beállítja a koordinátákat
        moveBy(0,-Settings::ROAD_HEIGHT);
        myCar->moveBy(0,Settings::ROAD_HEIGHT);
        movePotholes();
        generateRoad(1);                    //generál egy új kátyúsort
    }
                                            //ha az autó ütközik egy kátyúval csökkenti az életét.
    for(unsigned int i=0;i<potholes.size();i++){
        if(myCar->collidesWithItem(potholes[i])){<commit_msg>Distance send by signal<commit_after>#include "road.h"

//Beállítja a változókat
Road::Road(QGraphicsWidget* parent) : QGraphicsWidget(parent),
    life(Settings::STARTLIFE),isDisplay(false),distance(0),speed(Settings::STEP_SIZE),
    accel(0),moving(0)
{
    setPos(0,Settings::SCREEN_HEIGHT-Settings::ROAD_HEIGHT);
    myCar = new Car(this);
    myCar->setPos(Settings::SCREEN_WIDTH/2-Settings::FIELD_WIDTH/2,
                  Settings::ROAD_HEIGHT-(Settings::FIELD_HEIGHT*3));
    myCar->setZValue(2);
    generateRoad(0);
    roadPict.load("debug/images/road.png");
    roadGenerator = new RoadGenerator();
}

//Megadja a tartalmazó négyzet méretét
QRectF Road::boundingRect() const{
    return QRectF(0,-Settings::SCREEN_HEIGHT,Settings::SCREEN_WIDTH,Settings::SCREEN_HEIGHT*2.5);
}

//Felrajzol két utat egymás után.
void Road::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget){
    painter->drawPixmap(0,-Settings::ROAD_HEIGHT,Settings::SCREEN_WIDTH,Settings::ROAD_HEIGHT,roadPict);
    painter->drawPixmap(0,0,Settings::SCREEN_WIDTH,Settings::ROAD_HEIGHT,roadPict);
}

//Animációért felelős
void Road::advance(int step){
    if(!step) return;   //ha step 0, akkor nem csinál semmit
    moveBy(0,speed);          //lépteti az utat és a kocsit
    myCar->moveBy(0,-speed);
    if(moving>0){
        moving-=speed;
        myCar->moveBy(speed,0);
    }
    if(moving<0){
        moving+=speed;
        myCar->moveBy(-speed,0);
    }
    accel++;
    emit sendDistanceNumber(accel);
    distance+=speed/5;
    if(accel>100){
        accel=0;
        speed=speed*1.3;
        std::cout<<"TÁVOLSÁG: "<<distance<<std::endl;
    }
    if(pos().y()>Settings::SCREEN_HEIGHT){  //ha az út kiment a képernyőről újra beállítja a koordinátákat
        moveBy(0,-Settings::ROAD_HEIGHT);
        myCar->moveBy(0,Settings::ROAD_HEIGHT);
        movePotholes();
        generateRoad(1);                    //generál egy új kátyúsort
    }
                                            //ha az autó ütközik egy kátyúval csökkenti az életét.
    for(unsigned int i=0;i<potholes.size();i++){
        if(myCar->collidesWithItem(potholes[i])){
{'fraction_non_alphanumeric': 0.14634146341463414, 'fraction_numerical': 0.015331010452961672, 'mean_word_length': 3.4900938477580814, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2101947', 'n_tokens_mistral': 1594, 'n_tokens_neox': 1593, 'n_words': 233}