|
|
|
@ -1,11 +1,11 @@
|
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <cmath>
|
|
|
|
|
#include <ctime>
|
|
|
|
|
#include <raylib-cpp.hpp>
|
|
|
|
|
#include "includes/paddle.hpp"
|
|
|
|
|
#include "includes/ball.hpp"
|
|
|
|
|
#include "includes/math-helpers.hpp"
|
|
|
|
|
#include "includes/client.hpp"
|
|
|
|
|
#include "raylib-cpp/raylib-cpp.hpp"
|
|
|
|
|
#include "paddle.hpp"
|
|
|
|
|
#include "ball.hpp"
|
|
|
|
|
#include "math-helpers.hpp"
|
|
|
|
|
#include "client.hpp"
|
|
|
|
|
|
|
|
|
|
/* Global variables used to instantiate structs */
|
|
|
|
|
const int WIDTH = 1500;
|
|
|
|
@ -39,18 +39,28 @@ raylib::Vector2 changeVelocityAfterCollision(Paddle paddle, Ball ball) {
|
|
|
|
|
return raylib::Vector2(new_x_vel, new_y_vel);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
int main(int argc, char** argv) {
|
|
|
|
|
/* Initialize window and other variables */
|
|
|
|
|
SetTraceLogLevel(LOG_NONE);
|
|
|
|
|
raylib::Window window = raylib::Window(WIDTH, HEIGHT, "Pong");
|
|
|
|
|
SetTraceLogLevel(LOG_INFO);
|
|
|
|
|
window.ClearBackground(BLACK);
|
|
|
|
|
SetTargetFPS(60);
|
|
|
|
|
SetExitKey(KEY_Q);
|
|
|
|
|
std::string points_str = std::string("0\t\t0");
|
|
|
|
|
bool game_started = false;
|
|
|
|
|
srand(std::time(NULL));
|
|
|
|
|
Client client = Client(4,'T',"127.0.0.1",6500);
|
|
|
|
|
|
|
|
|
|
bool in_server_mode = false;
|
|
|
|
|
Client client;
|
|
|
|
|
if (argc > 1 && strcmp(argv[1],"server") == 0) {
|
|
|
|
|
try {
|
|
|
|
|
client = Client(4,'T',"127.0.0.1",6500);
|
|
|
|
|
in_server_mode = true;
|
|
|
|
|
}
|
|
|
|
|
catch (int e) {
|
|
|
|
|
std::cout << "Unable to connect to the given address." << std::endl;
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/* Instantiate Paddle and Ball objects */
|
|
|
|
|
Paddle pad1 = Paddle(10, (HEIGHT / 2) - (RECT_H / 2), RECT_W, RECT_H);
|
|
|
|
|
Paddle pad2 = Paddle(window.GetWidth() - RECT_W - 10, (HEIGHT / 2) - (RECT_H / 2), RECT_W, RECT_H);
|
|
|
|
@ -85,15 +95,21 @@ int main() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (IsKeyPressed(KEY_UP)) {
|
|
|
|
|
if(in_server_mode) {
|
|
|
|
|
client.sendAll(std::string("U"));
|
|
|
|
|
}
|
|
|
|
|
pad2.velocity.y = (-1) * PADDLE_SPEED;
|
|
|
|
|
}
|
|
|
|
|
if (IsKeyPressed(KEY_DOWN)) {
|
|
|
|
|
if (in_server_mode) {
|
|
|
|
|
client.sendAll(std::string("D"));
|
|
|
|
|
}
|
|
|
|
|
pad2.velocity.y = PADDLE_SPEED;
|
|
|
|
|
}
|
|
|
|
|
if (IsKeyReleased(KEY_UP) || IsKeyReleased(KEY_DOWN)) {
|
|
|
|
|
if (in_server_mode) {
|
|
|
|
|
client.sendAll(std::string("S"));
|
|
|
|
|
}
|
|
|
|
|
pad2.velocity.y = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|