Changed include paths, added a cmdline argument ('server') to indicate if the game is networkded or not
This commit is contained in:
34
main.cpp
34
main.cpp
@@ -1,11 +1,11 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <raylib-cpp.hpp>
|
#include "raylib-cpp/raylib-cpp.hpp"
|
||||||
#include "includes/paddle.hpp"
|
#include "paddle.hpp"
|
||||||
#include "includes/ball.hpp"
|
#include "ball.hpp"
|
||||||
#include "includes/math-helpers.hpp"
|
#include "math-helpers.hpp"
|
||||||
#include "includes/client.hpp"
|
#include "client.hpp"
|
||||||
|
|
||||||
/* Global variables used to instantiate structs */
|
/* Global variables used to instantiate structs */
|
||||||
const int WIDTH = 1500;
|
const int WIDTH = 1500;
|
||||||
@@ -39,18 +39,28 @@ raylib::Vector2 changeVelocityAfterCollision(Paddle paddle, Ball ball) {
|
|||||||
return raylib::Vector2(new_x_vel, new_y_vel);
|
return raylib::Vector2(new_x_vel, new_y_vel);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main(int argc, char** argv) {
|
||||||
/* Initialize window and other variables */
|
/* Initialize window and other variables */
|
||||||
|
SetTraceLogLevel(LOG_NONE);
|
||||||
raylib::Window window = raylib::Window(WIDTH, HEIGHT, "Pong");
|
raylib::Window window = raylib::Window(WIDTH, HEIGHT, "Pong");
|
||||||
SetTraceLogLevel(LOG_INFO);
|
|
||||||
window.ClearBackground(BLACK);
|
window.ClearBackground(BLACK);
|
||||||
SetTargetFPS(60);
|
SetTargetFPS(60);
|
||||||
SetExitKey(KEY_Q);
|
SetExitKey(KEY_Q);
|
||||||
std::string points_str = std::string("0\t\t0");
|
std::string points_str = std::string("0\t\t0");
|
||||||
bool game_started = false;
|
bool game_started = false;
|
||||||
srand(std::time(NULL));
|
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 */
|
/* Instantiate Paddle and Ball objects */
|
||||||
Paddle pad1 = Paddle(10, (HEIGHT / 2) - (RECT_H / 2), RECT_W, RECT_H);
|
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);
|
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 (IsKeyPressed(KEY_UP)) {
|
||||||
|
if(in_server_mode) {
|
||||||
client.sendAll(std::string("U"));
|
client.sendAll(std::string("U"));
|
||||||
|
}
|
||||||
pad2.velocity.y = (-1) * PADDLE_SPEED;
|
pad2.velocity.y = (-1) * PADDLE_SPEED;
|
||||||
}
|
}
|
||||||
if (IsKeyPressed(KEY_DOWN)) {
|
if (IsKeyPressed(KEY_DOWN)) {
|
||||||
|
if (in_server_mode) {
|
||||||
client.sendAll(std::string("D"));
|
client.sendAll(std::string("D"));
|
||||||
|
}
|
||||||
pad2.velocity.y = PADDLE_SPEED;
|
pad2.velocity.y = PADDLE_SPEED;
|
||||||
}
|
}
|
||||||
if (IsKeyReleased(KEY_UP) || IsKeyReleased(KEY_DOWN)) {
|
if (IsKeyReleased(KEY_UP) || IsKeyReleased(KEY_DOWN)) {
|
||||||
|
if (in_server_mode) {
|
||||||
client.sendAll(std::string("S"));
|
client.sendAll(std::string("S"));
|
||||||
|
}
|
||||||
pad2.velocity.y = 0;
|
pad2.velocity.y = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user