Football Football FK Arda Kardzhali contra Levski Sofia

FK Arda Kardzhali contra Levski Sofia

Overview of FK Arda Kardzhali vs Levski Sofia

The upcoming match between FK Arda Kardzhali and Levski Sofia on November 2, 2025, at 13:15 is highly anticipated. Both teams have shown competitive performances in their respective leagues. FK Arda Kardzhali, playing at home, has a solid defense but faces challenges in maintaining consistency in their attacks. On the other hand, Levski Sofia boasts a strong attacking lineup, yet they occasionally struggle with defensive stability. The match is expected to be a tactical battle with a focus on strategic play rather than high-scoring affairs.

FK Arda Kardzhali

LDLWL
-

Levski Sofia

WWWWW
Date: 2025-11-02
Time: 13:15
(FT)
Venue: Arena Arda
Score: 0-3

Predictions:

MarketPredictionOddResult
Both Teams Not To Score In 1st Half94.90%(0-3)
Both Teams Not To Score In 2nd Half95.00%(0-3)
Home Team Not To Score In 2nd Half83.50%(0-3)
Away Team Not To Score In 1st Half82.00%(0-3)
Home Team Not To Score In 1st Half72.30%(0-3)
Over 0.5 Goals HT69.30%(0-3) 0-1 1H 1.48
Under 2.5 Goals67.40%(0-3) 1.65
Away Team To Score In 2nd Half65.20%(0-3)
Over 4.5 Cards61.20%(0-3)
Both Teams Not to Score63.70%(0-3) 1.70
Away Team To Win55.60%(0-3) 1.60
Under 5.5 Cards55.50%(0-3)
Sum of Goals Under 256.90%(0-3) 2.75
Under 1.5 Goals53.20%(0-3) 2.88
Yellow Cards3.20%(0-3)
Avg. Total Goals1.98%(0-3)
Avg. Goals Scored2.25%(0-3)
Avg. Conceded Goals1.33%(0-3)
Red Cards0.67%(0-3)

Betting Predictions

Both Teams Not To Score In 1st Half: 90.40

With both teams having defensive strategies, the probability of neither team scoring in the first half is high. Expect a cautious approach as both sides might focus on building their play rather than taking risks early.

Both Teams Not To Score In 2nd Half: 93.80

The likelihood of both teams not scoring in the second half is even higher. This could be due to fatigue or strategic play focusing on maintaining the status quo rather than aggressive scoring.

Home Team Not To Score In 2nd Half: 84.00

FK Arda Kardzhali may find it challenging to score in the second half as Levski Sofia tightens their defense and possibly capitalizes on counter-attacks.

Away Team Not To Score In 1st Half: 80.80

Levski Sofia might struggle to break through FK Arda Kardzhali’s defense in the first half, leading to a scoreless period for the visitors.

Home Team Not To Score In 1st Half: 73.70

It’s likely that FK Arda Kardzhali will also find it difficult to score in the first half, reflecting a cautious start by both teams.

Over 0.5 Goals HT: 68.50

Despite defensive strategies, there’s a reasonable chance that at least one goal will be scored by halftime, indicating some breakthroughs in play.

Under 2.5 Goals: 69.10

The match is expected to be low-scoring overall, with under 2.5 goals likely as both teams focus more on defense than high-risk attacks.

Away Team To Score In 2nd Half: 64.50

Levski Sofia has a fair chance of finding the net in the second half, especially if they adjust their tactics and exploit any weaknesses in FK Arda Kardzhali’s defense.

Over 4.5 Cards: 59.60

With competitive play expected, there’s a significant chance of seeing over four yellow cards issued during the match, reflecting intense and physical gameplay.

Both Teams Not to Score: 62.50

A draw with no goals from either side is quite probable, highlighting the defensive nature of this encounter.

Away Team To Win: 53.80

Levski Sofia has a decent chance of securing victory, especially if they capitalize on any lapses in FK Arda Kardzhali’s defense.

Under 5.5 Cards: 56.40

While there are expectations for many cards, it’s still possible that fewer than five and a half cards will be issued throughout the match.

Sum of Goals Under 2: 51.80

The total number of goals scored in the match is likely to be under two, emphasizing the defensive strategies employed by both teams.

Under 1.5 Goals: 55.60

It’s quite possible that only one goal will be scored in the entire match, reinforcing expectations of a tightly contested game.

Yellow Cards: 3.20

On average, around three yellow cards are expected, indicating a disciplined yet competitive match environment.

Avg. Total Goals: 2.18

#include «pch.h» #include «GameplaySystem.h» #include «Engine.h» namespace GameFramework { GameplaySystem::GameplaySystem() { } GameplaySystem::~GameplaySystem() { } void GameplaySystem::Initialize() { } void GameplaySystem::Update(float delta) { auto& input = Engine::Get().GetInput(); if (input.IsKeyPressed(GLFW_KEY_W)) { glm::vec4 direction = glm::vec4(0.f, -1.f, -1.f, -1.f); glm::vec4 playerPosition = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetPosition(); glm::vec4 playerForward = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetForward(); glm::mat4 viewMatrix = glm::lookAt(glm::vec4(playerPosition.x, playerPosition.y + .25f, playerPosition.z), glm::vec4(playerPosition.x + playerForward.x * .75f, playerPosition.y + playerForward.y * .75f + .25f, playerPosition.z + playerForward.z * .75f), glm::vec4(0.f, -1.f, -1.f)); direction = viewMatrix * direction; direction = glm::normalize(direction); Ray ray(playerPosition.x + direction.x * .25f, playerPosition.y + direction.y * .25f, playerPosition.z + direction.z * .25f, direction.x, direction.y, direction.z); float distanceToWall = ray.GetDistanceToWall(); if (distanceToWall > .25f) distanceToWall = .25f; glm::vec4 newPosition = playerPosition + direction * distanceToWall; if (Engine::Get().GetScene()->GetEntityAtWorldPosition(newPosition) == nullptr) Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->SetWorldPosition(newPosition); } else if (input.IsKeyPressed(GLFW_KEY_S)) { glm::vec4 direction = glm::vec4(0.f, -1.f, -1.f); glm::vec4 playerPosition = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetPosition(); glm::vec4 playerForward = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetForward(); glm::mat4 viewMatrix = glm::lookAt(glm::vec4(playerPosition.x, playerPosition.y + .25f, playerPosition.z), glm::vec4(playerPosition.x + playerForward.x * .75f, playerPosition.y + playerForward.y * .75f + .25f, playerPosition.z + playerForward.z * .75f), glm::vec4(0.f, -1.f, -1.f)); direction = viewMatrix * direction; direction = glm::normalize(direction); Ray ray(playerPosition.x + direction.x * .25f, playerPosition.y + direction.y * .25f, playerPosition.z + direction.z * .25f, direction.x, direction.y, direction.z); float distanceToWall = ray.GetDistanceToWall(); if (distanceToWall > .25f) distanceToWall = .25f; glm::vec4 newPosition = playerPosition – direction * distanceToWall; if (Engine::Get().GetScene()->GetEntityAtWorldPosition(newPosition) == nullptr) Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->SetWorldPosition(newPosition); } else if (input.IsKeyPressed(GLFW_KEY_A)) { glm::vec4 direction = glm::vec4(-1.f, -1.f); glm::vec4 playerPosition = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetPosition(); glm::vec4 playerForward = Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->GetForward(); glm::mat4 viewMatrix = glm::lookAt(glm::vec4(playerPosition.x + .25f*playerForward.x, playerPosition.y + .25f*playerForward.y+.25f ,playerPosition.z + .25f*playerForward.z), glm::vec4(playerPosition.x+playerForward.x*.75f+direction.x*.75f, playerPosition.y+playerForward.y*.75f+direction.y*.75f+.25f, playerPosition.z+playerForward.z*.75f+direction.z*.75f), glm::normalize(glm::cross(direction,-playerForward))); direction = viewMatrix * direction; direction = glm::normalize(direction); Ray ray(playerPosition.x + direction.x *.25f, playerPosition.y + direction.y *.25f, playerPosition.z + direction.z *.25f, direction.x, direction.y, direction.z); float distanceToWall = ray.GetDistanceToWall(); if (distanceToWall > .25) distanceToWall = .25; glm::vec4 newPosition = playerPosition – direction * distanceToWall; if (Engine::Get().GetScene()->GetEntityAtWorldPosition(newPosition) == nullptr) Engine::Get().GetScene()->GetEntityWithId(0)->GetComponent()->SetWorldPosition(newPosition); } else if (input.IsKeyPressed(GLFW_KEY_D)) { glm::vec4 direction = glm::vec4(1.f,-1.f); glm :: vec4 playerPosition= Engine :: Get (). GetScene ()-> GetEntityWithId (0) -> GetComponent() -> Get Position (); glm :: vec4 playerForward= Engine :: Get (). GetScene ()-> GetEntityWithId (0) -> GetComponent() -> GetForward (); glm :: mat4 viewMatrix= glm :: lookAt(glm :: vec4(playerPosition.x+.25*playerForward.x ,playerPosition.y+.25*playerForward.y+.25 ,playerPosition.z+.25*playerForward.z), glm :: vec4(playerPosition.x+playerForward.x*.75+direction.x*.75 ,playerposition.y+playerforward.y*.75+direction.y*.75+.25 ,playerposition.z+playerforward.z*.75+direction.z*.75), glm :: normalize(glm :: cross(direction,-playerforward))); direction= viewMatrix*direction; direction=glm :: normalize(direction); Ray ray(playerposition.x+direction.x *.25 ,playerposition.y+direction.y *.25 ,playerposition.z+direction.z *.25 ,direction.x ,direction.y ,direction.z); float distanceToWall= ray.GetDistanceToWall (); if(distanceToWall>.25) distanceToWall=.25; glm :: vec4 newposition= playerposition-direction*distanceToWall; if(Engine :: Get (). GetScene ()-> GetEntityAtWorldPositon(newposition)==nullptr) Engine :: Get (). GetScene ()-> GetEntityWithId (0) -> GetComponent() -> SetWorldPositon(newposition); } else if(input.IsKeyPressed(GLFW_KEY_LEFT_SHIFT)) { float speedMultiplier=10; Ray ray= Ray(Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent() -> GetPositon() , Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent() -> GetPositon()+ speedMultiplier*(Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent() -> GetForward())); float distanceToWall= ray.GetDistanceToWall (); if(distanceToWall>.5) distanceToWall=.5; glm :: vec4 newpositon= Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent() -> GetPositon()+ speedMultiplier*(Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent() -> Get Forward ())* distanceToWall; if(Engine :: Get (). GetScene () -> GetEntityAtWorldPositon(newpositon)==nullptr) Engine :: Get (). GetScene () -> GetEntityWithId (0) -> GetComponent()->SetWorldPositon(newpositon); } else if(input.IsKeyPressed(GLFW_KEY_SPACE)) { float speedMultiplier=10; Ray ray=Ray(Engine :: Get (). getscene () -> getentitywithid (0) -> getcomponent ()->getpositon(), Engine :: getscene ()->getentitywithid (0)->getcomponent()->getpositon()+ speedMultiplier*(Engine :: getscene ()->getentitywithid (0)->getcomponent()->getup())); float distanceToWall=ray.getDistanceToWall (); if(distancetowall>.5) distancetowall=.5; glm : : vec : : newposiion= engine : : get (): getscene ()->getentitywithid (0)->getcomponent() : : getposiion()+speedmultiplier*(engine : : get (): getscene ()->getentitywithid (0)->getcomponent() : : getup ())* distancetowall; if(engine : : get (): getscene ()->getentityatworldposiion(newposiion)==nullptr) engine : : get (): getscene ()->getentitywithid (0)->getcomponent() : : setworldposiion(newposiion); } }_components){ if(grandChild.second.type==RenderableType){ auto transformParent=child->_components.at(TransformComponentType).component; auto transformChild=grandChild.second.component; auto posParent=transformParent->GetPosition(); auto posChild=posParent+(transformChild->GetPosition()-transformParent->GetPosition()); Renderable* renderable=&grandChild.second.component; renderable->_modelMatrix= transformParent->_modelMatrix* transformChild->_modelMatrix; renderable->_worldPos=posParent+(transformChild->GetPosition()-transformParent->GetPosition()); renderer.AddRenderable(renderable); } } } } #else for(auto& entity : _entities){ for(auto& component : entity.second._components){ if(component.second.type==TransformComponentType){ auto transform=&component.second.component; auto pos=transform->GetPosition(); for(auto& childComp : component.second.component._children){ if(childComp->_components.at(RenderableType).type==RenderableType){ Renderable* renderable=&childComp->_components.at(RenderableType).component; renderable->_modelMatrix= transform->_modelMatrix* childComp->_components.at(TransformComponentType).component._modelMatrix; renderable->_worldPos=pos+(childComp->_components.at(TransformComponentType).component.Get Position ()); renderer.AddRenderable(renderable); } } } } } } #endif }gustavodev/game-framework-experimental<|file_sep