Add project files.

This commit is contained in:
2018-06-25 21:48:45 -04:00
parent b04a25689b
commit 3c1b7d28e8
425 changed files with 35333 additions and 0 deletions
@@ -0,0 +1,145 @@
#include "cCourt.hpp"
using Equipment::cCourt;
using Equipment::cBall;
using Equipment::cPaddle;
using MathEngine::cCollision;
using MathEngine::Vector4;
using MathEngine::Vector2;
cCourt::cCourt( cBall* ball /*= nullptr*/, cPaddle* player1 /*= nullptr*/, cPaddle* player2 /*= nullptr*/, VideoEngine::cImage** image /*= nullptr*/ )
: cSprite( 0, 0, 0, 0, 640, 480, image), mp_ball(ball), m_pause(false)
{
m_topWall.x = 0.0f;
m_topWall.y = 0.0f;
m_topWall.z = 640.0f;
m_topWall.w = 14.0f;
m_bottomWall.x = 0.0f;
m_bottomWall.y = 464.0f;
m_bottomWall.z = 640.0f;
m_bottomWall.w = 14.0f;
m_leftOff.x = 0.0f;
m_leftOff.y = 0.0f;
m_leftOff.z = 480.0f;
m_leftOff.w = 1.0f;
m_rightOff.x = 640.0f;
m_rightOff.y = 0.0f;
m_rightOff.z = 480.0f;
m_rightOff.w = 1.0f;
m_court.x = 0.0f;
m_court.y = 15.0f;
m_court.z = 640.0f;
m_court.w = 450.0f;
mp_player[0] = player1;
mp_player[1] = player2;
setImageArea();
}
cCourt::~cCourt()
{}
///Functions
void cCourt::CheckCollision()
{
if (m_pause == false)
{
CheckPaddles();
CheckWalls();
CheckOffCourt();
}
}
void cCourt::Quit()
{
}
const bool cCourt::isPause() const
{
return m_pause;
}
void cCourt::Pause()
{
m_pause = !m_pause;
mp_ball->Pause();
mp_player[0]->Pause();
mp_player[1]->Pause();
}
//private:
//Checks to see if the ball has hit a paddles and then if the paddles have hit a wall.
void cCourt::CheckPaddles()
{
for (int count = 0; count <= 1; ++count)
{
//Check to see if the ball hit the Paddles.
if (cCollision::BoundingBox(mp_player[count]->getPosition(), mp_ball->getPosition()) == true)
mp_ball->BounceX();
//Check to see if the Paddles hit the top wall.
if (cCollision::BoundingBox(mp_player[count]->getPosition(), m_topWall) == true)
mp_player[count]->setPosY((long)m_topWall.w + 1);
//Check to see if the Paddles hit the bottom wall.
if (cCollision::BoundingBox(mp_player[count]->getPosition(), m_bottomWall) == true)
mp_player[count]->setPosY((long)m_bottomWall.y - 1);
}
}
//Cheaks to see if the ball has hit the provide wall.
void cCourt::CheckWall(const Vector4& wall)
{
if (cCollision::BoundingBox(mp_ball->getPosition(), wall) == true)
mp_ball->BounceY();
}
//Cheaks to see if the ball has hit the wall.
void cCourt::CheckWalls()
{
CheckWall(m_topWall);
CheckWall(m_bottomWall);
}
//Checks to see if the ball is off the provide side of the court.
const bool cCourt::CheckOffCourt(const Vector4& offside)
{
bool rtn = false;
if (cCollision::BoundingBox(mp_ball->getPosition(), offside) == true)
{
mp_ball->setSpeed(0,0);
rtn = true;
}
return rtn;
}
//Checks to see if the ball is off the court
void cCourt::CheckOffCourt()
{
MathEngine::Vector2 mov = cCollision::Inside(m_court, mp_ball->getPosition());
if (mov.x != 0.0f)
{
// if (mov.x > 0.0f);
// //point to player 1
// if (mov.x < 0.0f);
// //point to player 2
}
if (mov.y != 0.0f)
mp_ball->AddPosY((long)mov.y);
//if (CheckOffCourt(m_leftOff) == true)
// ;
//if (CheckOffCourt(m_rightOff) == true)
// ;
}